当前位置: 首页 > news >正文

no-strings-attached

使用die查看,发现是32位的
image

使用32位的ida打开,f5反编译
image

得到核心函数调用链

main → setlocale(宽字符适配)→ banner(干扰项)→ prompt_authentication(输入提示)→ authenticate(核心认证)

查看authenticate函数
image

可以知道我们需要的秘钥就是s2
s2通过&s和&dword_8048A90传入decrypt()函数计算得出
查看decrypt函数
image

分析代码

wchar_t *__cdecl decrypt(wchar_t *s, wchar_t *a2)
{size_t v2; // eaxsigned int v4; // [esp+1Ch] [ebp-1Ch]signed int i; // [esp+20h] [ebp-18h]signed int v6; // [esp+24h] [ebp-14h]signed int v7; // [esp+28h] [ebp-10h]wchar_t *dest; // [esp+2Ch] [ebp-Ch]v6 = wcslen(s); //密文长度v7 = wcslen(a2); //密文长度v2 = wcslen(s); //再次获得密文长度dest = (wchar_t *)malloc(v2 + 1); wcscpy(dest, s); //将密文复制到destwhile ( v4 < v6 ) //遍历所有密文字符{for ( i = 0; i < v7 && v4 < v6; ++i ) // 循环使用秘钥dest[v4++] -= a2[i]; //每个字符减去对应的秘钥字符}return dest;
}

所以加密逻辑就是:密文字符=明文字符+秘钥值

s和a2分别代表传进来的&s和&dword_8048A90
回到authenticate函数,点击&s和&dword_8048A90获得他们的值
image
image

所以

s = [':', '6', '7', ';','\x80', 'z', 'q','x', 'c', 'f', 's','g', 'b', 'e', 's','`', 'k', 'q', 'x','j', 's', 'p', 'd','x', 'n', 'p', 'p','d', 'p', 'd', 'n','{', 'v', 'x', 'j', 's', '{', '\x80']a2 = [1, 2, 3, 4, 5]

解密逻辑就是:密文字符-密钥值=明文字符
示例:
第一个密文:的ascll码是58,所以第一个明文字符=58-1=57-->9
第二个密文6的ascll码是54,所以第二个明文字符=54-2=52-->4
以此类推

写一个解密脚本

s = [':', '6', '7', ';', '\x80', 'z', 'q', 'x', 'c', 'f', 's','g', 'b', 'e', 's', '`', 'k', 'q', 'x', 'j', 's', 'p', 'd','x', 'n', 'p', 'p', 'd', 'p', 'd', 'n', '{', 'v', 'x', 'j', 's', '{', '\x80']
a2 = [1, 2, 3, 4, 5]
result = ''.join(chr(ord(s[i]) - a2[i%5]) for i in range(len(s)))
print(f"\n解密结果: {result}")

image

http://www.jsqmd.com/news/444699/

相关文章:

  • 南北阁Nanbeige 3B效果深度测评:MATLAB算法描述与Python代码转换
  • VoxCPM-1.5部署不求人:3步操作,打造个人语音生成工具
  • 行政/法务/教师必备:5分钟在Windows电脑上部署Fun-ASR,实现录音文件批量转文字
  • 3大核心功能让小说下载与格式转换更简单:Tomato-Novel-Downloader全面解析
  • 多元函数极值与最值实战解析:从理论到解题技巧
  • 零基础实战:如何用AI视频剪辑工具实现本地智能剪辑全流程
  • Claude Code vs Codex 2026:基准测试、Agent 架构与用量限制全面解析
  • 3步打造个人离线阅读库:Tomato-Novel-Downloader全功能解析
  • 3.3V与5V双向电平转换电路设计实战
  • 如何在Kubernetes中实现故障自动恢复?
  • RMBG-2.0一键部署指南:24GB显卡即可运行,快速处理透明底图
  • GTE-Chinese-Large向量质量评估:使用STS-B中文数据集验证相似度相关性
  • WuliArt Qwen-Image Turbo实际作品展示:高画质JPEG输出细节与色彩还原力
  • 3步解锁音乐自由:面向音乐爱好者的NCM格式转换工具
  • 英雄联盟个性化展示新纪元:LeaguePrank工具全攻略
  • RVC-WebUI语音转换技术指南:从基础到高级应用
  • 5步精通AI语音转换:RVC-WebUI从入门到专业全指南
  • 别再只让Qwen2.5-VL看图说话了!手把手教你用它的文档解析功能,5分钟搞定发票报销
  • wxappUnpacker:小程序包解析的全流程解决方案指南
  • 解放阅读自由:Tomato-Novel-Downloader的颠覆性解决方案
  • 北京二手房装修公司怎么选?过来人分享避坑经验 - 2026年企业推荐榜
  • 5分钟搞定StructBERT语义分析:本地中文句子相似度计算实战教程
  • CHORD-X技术栈深度解读:互联网技术体系如何支撑现代指挥系统
  • DualSense/DS4手柄固件更新技术指南:三大场景与解决方案
  • 新手部署Qwen3-0.6B:Docker镜像+Jupyter环境,LangChain调用模型
  • 突破虚拟机限制:如何在VMware中流畅运行macOS系统
  • Qwen3-8B智能客服实战:用32K长上下文打造企业问答助手
  • Face Analysis WebUI进阶使用:如何通过API集成到你的应用中
  • 5个实用技巧让Windows窗口永远置顶:提升多任务效率的必备工具
  • SGLang-v0.5.6效果实测:多轮对话缓存命中率提升5倍,延迟大幅降低