WineAndSong 发表于 2023-3-16 12:16

使用ida和OD逆向分析PE文件

运行 CraMe1.exe,提示 "u r right!" 代表成功。首先修改 exe 使得出现成功提示,其次不修改 exe 输入正确的密码达到成功的目的。
(1)修改 exe
首先运行一下程序:

使用 OD 打开,使用插件查找字符串:

根据 u r right!这个字符串,定位到如下位置:

很明显,把 jnz 改成 jz 即可:

最后,右键-复制到可执行文件-右键-保存文件即可:

(2)不修改 exe
使用 ida 打开,搜索"u r right!"这个字符串:



定位到__cdecl main_0 这个函数,再使用 f5 反编译,得到如下结果:



从以上代码可以看出,要让 v9 不为 1 才能输出“u r right!”

v12 是我们输入的字符串,以上两个 if 语句,限定了 v12 的内容。
前 17 个字符是由 v10 数组作为下标,从 byte_415768 数组中取对应的字符得到,byte_415768 内容如下:

即“swfxc{gdv}fwfctslydRddoepsckaNDMSRITPNsmr1_=2cdsef66246087138”。
V10 数组内容如下:


v12 的后面几个字符由以下 if 语句决定:

即“1024}”。为了求出 v12,得到如下 python 程序:

运行结果如下:

在 exe 文件中,输入这串字符:wctf{Pe_cRackme1_1024}:

成功!

S600 发表于 2023-3-17 12:40

dummersoul 发表于 2023-3-17 15:34

你放的ZIP 打不开,是不是debug 版本的:(eew

connoryan 发表于 2023-3-17 16:31

谢谢分享,才能让我们学习到东西

SnowRen 发表于 2023-3-17 17:01

VC 2010 生成的Debug版,没安装此开发套件的电脑是打不开文件的

YLBS 发表于 2023-3-17 21:20

感谢分享,顶一下

ZHuanR 发表于 2023-3-18 06:42

学习一下

yixinBC 发表于 2023-3-18 11:55

感谢分享这道CTF逆向题!

薛家岗扛把子 发表于 2023-3-18 13:53

你这压缩包密码呢??

cchaoxi 发表于 2023-3-18 18:38

感谢分享
页: [1] 2
查看完整版本: 使用ida和OD逆向分析PE文件