小Cold 发表于 2017-4-9 09:41

一款JPG转PDF软件的破解+追码分析过程

本帖最后由 小Cold 于 2017-4-9 09:43 编辑

本教程由学逆向Thx赞助播出(“哎呀我摔倒了要你们评分Thx给我才能起来{:5_187:}”)    看见别人都带这个,我也带一个吧~~


首先说一下,本人专业是做FZ,所以对逆向方面肯定没有各位专业搞逆向的大神厉害,教程中哪里有高见的还往指出~~我弄逆向只是锻炼逆向思维能力,所以以后我发布的教程,大多都是一些追码教程,爆破这些就不发了,没技术含量~


1.这是一款VB程序,同时假码注册后会提示“注册码错”!所以这里有二个思路:①下VB信息框断点。②搜索字符串。搜到可用信息位置跳过去如下:


注意这个红色的线,说明前面有地方跳到这里来的。
-----------------------------------------------------------------------------------------------------------------------------
2.来到这里如下图,发现是这个跳转跳过去的,同时下面还有几个比较都是跳到同一位置,所以这里也就是关键跳转了,如果要爆破,直接把这里的几个JNZ全部NOP了,就OK了额。{:5_193:}


---------------------------------------------------------------------------------------------------------------------------
3.分析注册行为,追出注册码。
一、首先分析一下这里比较的是 ebp-3C/38/34/40,那么看看是谁给他赋值的呢?

初始化待比较局部变量:
0045B5CB   .C745 FC 03000>mov dword ptr ss:,0x3
0045B5D2   .66:C745 C4 00>mov word ptr ss:,0x0
0045B5D8   .C745 FC 04000>mov dword ptr ss:,0x4
0045B5DF   .66:C745 C0 00>mov word ptr ss:,0x0
0045B5E5   .C745 FC 05000>mov dword ptr ss:,0x5
0045B5EC   .66:C745 C8 00>mov word ptr ss:,0x0
0045B5F2   .C745 FC 06000>mov dword ptr ss:,0x6
0045B5F9   .66:C745 CC 00>mov word ptr ss:,0x0
0045B5FF   .C745 FC 07000>mov dword ptr ss:,0x7
0045B606   .8B55 08       mov edx,dword ptr ss:
0045B609   .8B02          mov eax,dword ptr ds:
0045B60B   .8B4D 08       mov ecx,dword ptr ss:
0045B60E   .51            push ecx
0045B60F   .FF90 0C030000 call dword ptr ds:

二、既然找到初始化了,那么就看是哪里在赋值的:
0045B7A7   .83C4 0C       add esp,0xC
0045B7AA   .0FBF8D 1CFFFF>movsx ecx,word ptr ss:
0045B7B1   .85C9          test ecx,ecx
0045B7B3   .74 0D         je short JPG2PDF.0045B7C2
0045B7B5   .C745 FC 0A000>mov dword ptr ss:,0xA
0045B7BC   .66:C745 C4 FF>mov word ptr ss:,0xFFFF


0045B849   .0FBF95 1CFFFF>movsx edx,word ptr ss:
0045B850   .85D2          test edx,edx
0045B852   .74 0D         je short JPG2PDF.0045B861
0045B854   .C745 FC 0D000>mov dword ptr ss:,0xD
0045B85B   .66:C745 CC FF>mov word ptr ss:,0xFFFF


0045B8E5   .83C4 0C       add esp,0xC
0045B8E8   .0FBF85 1CFFFF>movsx eax,word ptr ss:
0045B8EF   .85C0          test eax,eax
0045B8F1   .74 0D         je short JPG2PDF.0045B900
0045B8F3   .C745 FC 10000>mov dword ptr ss:,0x10
0045B8FA   .66:C745 C0 FF>mov word ptr ss:,0xFFFF


0045B984   .83C4 0C       add esp,0xC
0045B987   .0FBF8D 1CFFFF>movsx ecx,word ptr ss:
0045B98E   .85C9          test ecx,ecx
0045B990   .74 0D         je short JPG2PDF.0045B99F
0045B992   .C745 FC 13000>mov dword ptr ss:,0x13
0045B999   .66:C745 C8 FF>mov word ptr ss:,0xFFFF

总结:
发现是以上4处赋值的,同时发现一个函数:0045B78A   __vbaVarTstEq,说到这里大家知道他的注册算法了吗?就是一个一个字符比较,其中前4位字符很重要,决定注册是否成功,至于4位后的字符可以自己随便添加,这个可能是他注册软件的一个BUG吧~~

注册码:WD86www.xuepojie.com





bai123tt 发表于 2017-4-9 20:51

googls 发表于 2017-4-9 21:39

来学习下思路

理论大于实际派 发表于 2017-4-10 12:18

感觉学到了,逆向分析思路很重要,本菜鸟要多多学习才是。

763742228 发表于 2017-4-10 13:26

过来看看…………

harlanchou 发表于 2017-4-10 14:47

我还只会简单的爆破。你这个有点难!!!

dklyjy 发表于 2017-4-10 15:24

厉害厉害~~~~学习一下

动物凶猛 发表于 2017-4-11 17:13

没看到有分析算法的

xing7681 发表于 2017-4-12 16:15

好强悍 直接后面几乎看不懂了 不过追码很不错的 以后我也要达到这个程度

木来者 发表于 2017-5-10 22:25

收藏,学习了,感谢分享
页: [1] 2 3 4
查看完整版本: 一款JPG转PDF软件的逆向+追码分析过程