64位程序分析爆破小试牛刀
因为现在很多程序都转向64位了,32位程序确实可以说是远古产物了,是时候淘汰了。因为平时只玩32位程序逆向分析,所以第一次接触x64dbg,觉得又熟悉又陌生,不好找程序练手,以下这篇逆向文章是参考别人的
Master PDF Editor 5.7.40 64位程序分析爆破
https://www.52pojie.cn/thread-1395935-1-1.html
(出处: 吾爱破解论坛)
好了,废话不多说,下面开整!!
X64dbg软件在吾爱破解的爱盘下载,下载地址:https://down.52pojie.cn/Tools/Debuggers/
几经辛苦才找到对应版本的Master PDF Editor,下载地址:https://wwxk.lanzouj.com/i8m0z1l032dg
搜索字符串“NOT REGISTERED”
选择第四条双击进入
我们向上找到段首,看下图:
接着右键→查找引用→选定的地址
双击第一个进入,这个call就是未注册函数,判断软件是否注册成功就在这里附近,我们先向上面找到段首,因为地址是动态地址,所以你可以参考我下图的偏移找到关键地址
我们可以在段首,动态调试分析,可以找到以下关键地方:
00007FF75A6A5B58 | 41:385E 49 | cmp byte ptr ds:[r14+49],bl | 此处为关键比较
00007FF75A6A5B5C | 75 42 | jne masterpdfeditor.7FF75A6A5BA0 | 跳转实现即注册成功,不跳转则注册失败
未注册时,经过运行分析此时bl=0,ds:[r14+49]=0,如果ds:[r14+49]=1,其下一行跳转实现,就会跳过调用未注册处理函数,即注册成功(这段话复制自吾爱文章,自己懒得再总结了。。。)
然后在cmp byte ptr ds:[r14+49],bl这句,右键→查找引用→常数
找到上图这句,双击进入
00007FF75A6A53E7 | E8 D4730000 | call masterpdfeditor.7FF75A6AC7C0 | 关键Call,使返回的al=1
00007FF75A6A53EC | 41:8846 49 | mov byte ptr ds:[r14+49],al | byte ptr ds:[r14+49]:"08lx\n"
这个call就是最终关键的函数,函数出来后,al赋值给[r14+49]这个变量,我们上面已经说过,这个变量等于1的话则注册成功,否则的话就是注册失败。
我们现在是进行爆破处理,所以进入这个关键call,找到下面这三个跳转,让它们跳转不实现就可以破解成功了。
将三个跳转nop填充
跑起软件后可以看到提示已注册。
至此教程就到这里结束!!