《静态分析:GUI程序的明码比较》

首先在detect it easy中进行查壳

可以得到以下信息

  • 文件大小:81.50 KiB

  • 文件类型:PE32(32位Windows可执行文件)

  • 操作系统兼容性:Windows XP(但可能兼容更高版本)

  • 程序类型:GUI程序(非控制台程序)

  • 编译器:Microsoft Visual C/C++(版本 19.00.23026)

  • 链接器:Microsoft Linker(版本 14.00.23026)

  • 工具链:Microsoft Visual Studio 2015

  • 编译模式:LTCG(链接时代码优化)/ C++

  • 语言:C++

  • 包含PDB调试信息:是(有绝对路径PDB)

  • 调试数据位置:

    • 偏移:0x00010044

    • 大小:0x65(101字节)

  • PDB版本:7.0

这是一个 32位 GUI 程序 (Windows XP 兼容),所以入口是 WinMain(不是 main)。

然后进入IDA中查看

WinMain 直接调用了 DialogBoxParamW,说明这是一个基于对话框的 GUI 程序 。关键逻辑在 DialogFunc 这个对话框过程函数里。

在 IDA 的函数列表(Functions window)里找 DialogFunc,或者按 Ctrl + F 搜索 DialogFunc。

如果没找到这个名字,可以:

  • 双击 WinMain 里的 DialogFunc(IDA 会跳转过去)

  • 或者在 汇编视图 里看 DialogBoxParamW 的第四个参数(通常是 push 一个地址)

程序要求两个输入:

  1. String → 从控件 1001 获取(应该是邮箱输入框)

  2. v11 → 从控件 1002 获取(应该是注册码/flag 输入框)

📧 邮箱验证条件:

复制代码
if ( strstr(String, "@") && strstr(String, ".") && strstr(String, ".")[1] && strstr(String, "@")[1] != 46 )

要求:

  • 包含 @

  • 包含 .

  • . 后面至少还有一个字符(防止以点结尾)

  • @ 后面的字符不能是 .(防止 @. 出现)

只要邮箱格式大致正确即可 ,比如 a@b.c 就满足。

Flag的验证逻辑

if ( strlen(v11) == 16

&& v110 == 67 // 'C'

&& v1115 == 88 // 'X'

&& v111 == 90 // 'Z'

&& v1114 == 65 // 'A'

&& v112 == 57 // '9'

&& v1113 == 98 // 'b'

&& v113 == 100 // 'd'

&& v1112 == 55 // '7'

&& v114 == 109 // 'm'

&& v1111 == 71 // 'G'

&& v115 == 113 // 'q'

&& v1110 == 57 // '9'

&& v116 == 52 // '4'

&& v119 == 103 // 'g'

&& v117 == 99 // 'c'

&& v118 == 56 ) // '8'

当输入:

  • 邮箱:任意有效邮箱(如 test@test.com)

  • 注册码:CZ9dmq4c8g9G7bAX

然后就可以确定flag

复制代码
相关推荐
虎鲸不是鱼1 天前
AI 自动化逆向(三十五)假设空间枚举的完备性是假设出来的
人工智能·自动化·大模型·逆向·ai逆向
虎鲸不是鱼2 天前
AI 自动化逆向(三十三)换一个「驱动器」,覆盖率跳了一个量级
人工智能·自动化·大模型·逆向·ai逆向
hengdonghui2 天前
Writeup 4 NUAACTF 2020 Wireshark 流量分析题
wireshark·ctf·misc·流量分析
虎鲸不是鱼2 天前
AI 自动化逆向(三十四)自建指令缓存:把分钟级查询压到秒级
人工智能·自动化·大模型·逆向·ai逆向
虎鲸不是鱼3 天前
AI 自动化逆向(二十六)「已解出」和「已解析」是两回事
人工智能·自动化·大模型·逆向·ai逆向
虎鲸不是鱼3 天前
AI 自动化逆向(三十一)函数体不可读 ≠ 函数不可命名
人工智能·自动化·大模型·逆向·ai逆向
hengdonghui3 天前
Writeup 4 0xGame 2021 - robot
web·ctf·信息泄露·robots.txt
虎鲸不是鱼3 天前
AI 自动化逆向(二十二)换行比峰值法:让 AI 自己发现图像的宽度
人工智能·自动化·大模型·逆向·ai逆向
虎鲸不是鱼3 天前
AI 自动化逆向(二十九)受保护区间的真实形状是「夹层」
人工智能·自动化·大模型·逆向·ai逆向
虎鲸不是鱼3 天前
AI 自动化逆向(二十五)数据表格式:一个恒等式覆盖 99% 的表
人工智能·自动化·大模型·逆向·ai逆向