mysoftlove 发表于 2009-5-21 20:49:30

菜鸟第一次写破文--超级RM转换大师 爆破加追码,请多多关照

【破文标题】超级RM转换大师 V1.20 爆破加追码
【破文作者】枫之舞(mysoftlove)
【作者邮箱】[email protected]
【破解工具】PEID OD
【破解平台】VISTA
【软件名称】超级RM转换大师 V1.20
【软件大小】4.64M
【原版下载】http://www.mp4soft.cn/download/RMConverter120.zip
【保护方式】注册码
【软件简介】一个进行视频转换的软件
【破解声明】随便找的一个软件练习一下,没其它目的
------------------------------------------------------------------------
【破解过程】安装软件后用OD查壳,无壳,用Dephi写的,呵呵。。。
运行软件,随便输入注册码,提示注册码错误。用OD载入,搜索字符串,找到如下地方
004BD8D9   .6A 40         push    40
004BD8DB   .68 B4D94B00   push    004BD9B4                               ;软件注册
004BD8E0   .68 C0D94B00   push    004BD9C0                               ;注册成功, 下次启动本软件将解除所有限制功能!
004BD8E5   .8B45 FC       mov   eax, dword ptr
004BD8E8   .E8 CBD3FAFF   call    0046ACB8
004BD8ED   .50            push    eax                                    ; |hOwner
004BD8EE   .E8 6197F4FF   call    <jmp.&user32.MessageBoxA>            ; \MessageBoxA
004BD8F3   .8B45 FC       mov   eax, dword ptr
004BD8F6   .E8 5932FCFF   call    00480B54
004BD8FB   .33C0          xor   eax, eax
004BD8FD   .5A            pop   edx
004BD8FE   .59            pop   ecx
004BD8FF   .59            pop   ecx
004BD900   .64:8910       mov   dword ptr fs:, edx
004BD903   .EB 36         jmp   short 004BD93B
004BD905   .^ E9 6E60F4FF   jmp   00403978
004BD90A   .8B45 FC       mov   eax, dword ptr
004BD90D   .E8 4232FCFF   call    00480B54
004BD912   .8B45 FC       mov   eax, dword ptr
004BD915   .E8 F6000000   call    004BDA10
004BD91A   .E8 C163F4FF   call    00403CE0
004BD91F   .EB 1A         jmp   short 004BD93B
004BD921   >6A 40         push    40                         //跳到这里的地方就是关键跳
004BD923   .68 B4D94B00   push    004BD9B4                               ;软件注册
004BD928   .68 F0D94B00   push    004BD9F0                               ;注册失败,请检查用户名与注册码!
004BD92D   .8B45 FC       mov   eax, dword ptr
004BD930   .E8 83D3FAFF   call    0046ACB8
004BD935   .50            push    eax                                    ; |hOwner
004BD936   .E8 1997F4FF   call    <jmp.&user32.MessageBoxA>            ; \MessageBoxA
来到关键跳处004BD840
004BD82A   .55            push    ebp
004BD82B   .68 69D94B00   push    004BD969
004BD830   .64:FF30       push    dword ptr fs:
004BD833   .64:8920       mov   dword ptr fs:, esp
004BD836   .8B45 FC       mov   eax, dword ptr
004BD839   .E8 92020000   call    004BDAD0                  //这里计算比较注册码,待会从这里追码
004BD83E   .84C0          test    al, al
004BD840      0F84 DB000000 je      004BD921                  //关键跳,nop掉这里
保存文件之后再运行,输入注册码,提示注册成功并重起,但重起之后依然要求注册,
可知是重起验证。在注册表中搜索刚才输入的注册码,搜到了HKEY_LOCAL_MACHINE\SOFTWARE\zy\Conver,
其中有两项Name和Pass,其中分别保存了刚才输入的用户名和注册码
用OD重新载入修改后的文件,再搜索字符串,可以看到下面三项
software\zy\conver
name
pass
跟随进入,来到这里
004C1DA3   .BA 8C204C00   mov   edx, 004C208C                        ;software\zy\conver
004C1DA8   .E8 B725F4FF   call    00404364
004C1DAD   .B1 01         mov   cl, 1
004C1DAF   .8B55 E4       mov   edx, dword ptr
004C1DB2   .8B45 E0       mov   eax, dword ptr
004C1DB5   .E8 4E9CF7FF   call    0043BA08
004C1DBA   .84C0          test    al, al
004C1DBC   .0F84 92000000 je      004C1E54
004C1DC2   .8D4D DC       lea   ecx, dword ptr
004C1DC5   .BA A8204C00   mov   edx, 004C20A8                        ;name
004C1DCA   .8B45 E0       mov   eax, dword ptr
004C1DCD   .E8 FE9DF7FF   call    0043BBD0
004C1DD2   .8B55 DC       mov   edx, dword ptr
004C1DD5   .8B45 FC       mov   eax, dword ptr
004C1DD8   .05 C8040000   add   eax, 4C8
004C1DDD   .E8 3E25F4FF   call    00404320
004C1DE2   .8D4D D8       lea   ecx, dword ptr
004C1DE5   .BA B8204C00   mov   edx, 004C20B8                        ;pass
004C1DEA   .8B45 E0       mov   eax, dword ptr
004C1DED   .E8 DE9DF7FF   call    0043BBD0
继续向下,来到这里
004C1E9D   .E8 3628F4FF   call    004046D8      
004C1EA2      75 1F         jnz   short 004C1EC3         //另外一个关键跳
很明显,这就是另外一个关键跳了,同样nop掉就可以了,保存文件后再次运行就成为注册版了,爆破成功
下面进行追码,在上面提到的计算注册码的地方下断点后运行,输入用户名注册码,
就断在了上面断点处,F7进入,来到这里
004BDAD0/$55            push    ebp                                    ;(initial cpu selection)
004BDAD1|.8BEC          mov   ebp, esp
004BDAD3|.B9 04000000   mov   ecx, 4
004BDAD8|>6A 00         /push    0
004BDADA|.6A 00         |push    0
004BDADC|.49            |dec   ecx
004BDADD|.^ 75 F9         \jnz   short 004BDAD8
004BDADF|.51            push    ecx
004BDAE0|.53            push    ebx
004BDAE1|.56            push    esi
单步向下,注意提示信息和寄存器
004BDB35|.8B55 F4       mov   edx, dword ptr
004BDB38|.58            pop   eax                                    ;019E3974
当到上面这个地方时,寄存器EDX中便有了一段字符串“RMCo-4737nv268-5786”,我们来试一下
看是不是真的注册码,运行软件,输入刚才的用户名“hust”和注册码“RMCo-4737nv268-5786”,
弹出注册成功的对话框,呵呵。。。

后来又手写了一个内存注册机,地址如下
https://www.chinapyg.com/viewthread.php?tid=46650&extra=page%3D1&frombbs=1

------------------------------------------------------------------------
------------------------------------------------------------------------
【版权声明】本文原创于枫之舞(mysoftlove),首发于PYG,转载请注明作者并保持文章的完整, 谢谢!

[ 本帖最后由 mysoftlove 于 2009-5-23 12:24 编辑 ]

HDd1145 发表于 2009-5-21 21:14:32

20602060 发表于 2009-5-21 23:12:05

谢谢提供思路~~/:good

龙卷风之恋 发表于 2009-5-22 12:34:17

还不错呀,自己搞定的。

温柔 发表于 2009-5-22 13:12:40

恩,就是要找这样的柿子捏捏

老万 发表于 2009-5-22 20:41:42

谢谢楼主分享,学习了。。。。。。。

zooben 发表于 2009-5-22 21:34:03

明白一点,我也来实验实验。/:001 /:001

MyGod 发表于 2009-5-22 21:45:11

可做个注册机吗?

bobo712 发表于 2009-5-22 23:06:19

都是一样的破解思路。。。。。。
怎么没有一些新的解密方法呢???这么多千篇一律的文章,累!/:L

int 发表于 2010-5-31 13:20:45

最简单的才是最实用的!
页: [1]
查看完整版本: 菜鸟第一次写破文--超级RM转换大师 爆破加追码,请多多关照