1.运行程序观察程序特征(按钮文字、标题、弹窗信息等)
2.使用查壳工具进行查壳。(如果加壳就先脱壳脱壳后进入第三步,如果没加壳直接进入第三步)
3.使用IDA进行静态分析(找到程序关键点)
4.使用x64dbg进行动态调试(验证猜想)。
运行程序观察程序特征,我们可以发现程序存在两个文本框(这个时候我们应该考虑到GetDlgItemTextA这个API),接着我们点击按钮后出现一个弹窗(应该想到MessageBoxA)。

将程序拖入到x64dbg中,进入程序主模块后,
1.进入符号标签页
2.选择主进程模块
3.x64dbg会在右侧显示出函数API。
使用快捷键“Ctrl+N”也可以到达下图界面。

在上图中我们可以看到程序中确实存在”GetDlgItemTextA“和”MessageBoxA“这两个API,这里我们以MessageBoxA为例,双击MessageBoxA后即可到达下图界面,之后我们在该处下个断点,然后运行程序。

接着在我们按下Try按钮以后,我们会在上图的断点处断下,由于这个是系统API,所以我们不看这个函数”Ctrl+F9“直接运行到返回处,然后单步一次,即可到达下图界面。
在这里我们可以看到成功函数。

上图”0x004013A6“是成功函数开始的地方,所以我们继续往上看,及即可发现关键跳转。所以我们着重分析下图的汇编代码。

最后验证flag是否正确。

WX公众号:一谷米粒
知乎:5ddK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2*7K9r3W2Z5N6g2)9J5k6h3y4G2L8g2)9J5c8Y4m8W2L8%4m8D9k6g2)9J5c8Y4W2A6i4K6u0V1k6%4g2Q4x3X3c8E0K9g2)9J5k6r3I4A6i4K6u0V1y4o6M7`.
[培训]科锐逆向工程师培训第53期2025年7月8日开班!