使用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}:
成功! 你放的ZIP 打不开,是不是debug 版本的:(eew 谢谢分享,才能让我们学习到东西 VC 2010 生成的Debug版,没安装此开发套件的电脑是打不开文件的 感谢分享,顶一下 学习一下
感谢分享这道CTF逆向题! 你这压缩包密码呢?? 感谢分享
页:
[1]
2