KaQqi 发表于 2016-8-25 14:22

某mp3转换器 爆破、追码、注册机编写

本帖最后由 cqr2287 于 2016-8-25 20:41 编辑

   前几天接了个单,破解如题软件。客户让我自己找软件,结果一百度就傻眼了,居然有他的百度百科!
   这么牛的软件我破解的了么?好歹自己学了4年破解。。。抱着试一试的态度,我便试一试。。。
   PEID查都没查,直接载入od。od没提示有壳,那就没壳。

   

下MessageBoxEx断点,注册断下来
我擦,给我弹广告。。。
005BC13D   .50            push eax
005BC13E   .FF15 A4104000 call dword ptr ds:[<&MSVBVM60.#595>]   ;msvbvm60.rtcMsgBox
005BC144   .8D8D 78FFFFFF lea ecx,dword ptr ss:
来到信息框处。。。
往上回溯,找j跳
005BC0AB   .C745 FC 10000>mov dword ptr ss:,0x10
005BC0B2   .FF15 38104000 call dword ptr ds:[<&MSVBVM60.__vbaEnd>] ;msvbvm60.__vbaEnd
005BC0B8   .E9 B2000000   jmp MP3转换?005BC16F
005BC0BD   >C745 FC 12000>mov dword ptr ss:,0x12
005BC0C4   .C745 80 04000>mov dword ptr ss:,0x80020004
005BC0CB   .C785 78FFFFFF>mov dword ptr ss:,0xA
005BC0D5   .C745 90 04000>mov dword ptr ss:,0x80020004
005BC0DC   .C745 88 0A000>mov dword ptr ss:,0xA
005BC0E3   .C785 60FFFFFF>mov dword ptr ss:,MP3转换?005219>;UNICODE "Invaild"
005BC0ED   .C785 58FFFFFF>mov dword ptr ss:,0x8
005BC0F7   .8D95 58FFFFFF lea edx,dword ptr ss:
005BC0FD   .8D4D 98       lea ecx,dword ptr ss:
005BC100   .FF15 0C124000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>;msvbvm60.__vbaVarDup
005BC106   .C785 70FFFFFF>mov dword ptr ss:,MP3转换?00521F>;UNICODE "注册码错误!"
jmp下面有个跳转抢进来了。追踪
005BBD8B   > \C745 FC 0A000>mov dword ptr ss:,0xA
005BBD92   .66:837D CC FF cmp word ptr ss:,0xFFFF
005BBD97   .0F85 20030000 jnz MP3转换?005BC0BD
005BBD9D   .C745 FC 0B000>mov dword ptr ss:,0xB
一个jnz小跳。咱们不能让他实现,实现jmp就跳不了。而有跳转又跳到这个跳上面,跟踪。。
005BBD4A   .C745 FC 06000>mov dword ptr ss:,0x6
005BBD51   .66:C745 CC FF>mov word ptr ss:,0xFFFF
005BBD57   .EB 32         jmp short MP3转换?005BBD8B
005BBD59   >C745 FC 09000>mov dword ptr ss:,0x9
一个jmp。咱们不能让刚刚那个跳,所以也不能让jmp跳。跟踪下面跳转
005BBD48   . /74 0F         je short MP3转换?005BBD59
005BBD4A   . |C745 FC 06000>mov dword ptr ss:,0x6
005BBD51   . |66:C745 CC FF>mov word ptr ss:,0xFFFF
005BBD57   . |EB 32         jmp short MP3转换?005BBD8B
005BBD59   > \C745 FC 09000>mov dword ptr ss:,0x9

一个小je,没什么用。。。跟踪上个jnz下跳转,因为如果那个跳转跳了,这个jnz就不跳了,jmp就跳了,je就不跳了,注册就成功了
但是那个je仍然很短,所以没什么用。把之前的jnz跳转nop。
然后爆破就完成了。
下一步追码。。。。
根据爆破时的分析,jnz是关键条。。
jnz的跳不跳,决定程序注册成不成功。跳了就失败,所以我们刚才nop。而这个jnz是谁决定的呢?
005BBD3F   .0FBF8D 20FFFF>movsx ecx,word ptr ss:
005BBD46   .85C9          test ecx,ecx
005BBD48   .74 0F         je short MP3转换?005BBD59
005BBD4A   .C745 FC 06000>mov dword ptr ss:,0x6
005BBD51   .66:C745 CC FF>mov word ptr ss:,0xFFFF
005BBD57   .EB 32         jmp short MP3转换?005BBD8B
005BBD59   >C745 FC 09000>mov dword ptr ss:,0x9
005BBD60   .8D95 00FFFFFF lea edx,dword ptr ss:

也就是说,如果je跳了,jmp就跳不了,就要经过下面的call。如果je不跳,jmp就直接跳到jnz那。
所以网上翻
005BBD36   .FF15 48104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeO>;msvbvm60.__vbaFreeObjList
005BBD3C   .83C4 0C       add esp,0xC
005BBD3F   .0FBF8D 20FFFF>movsx ecx,word ptr ss:
005BBD46   .85C9          test ecx,ecx
005BBD48   .74 0F         je short MP3转换?005BBD59

je的跳不跳,是由这个call决定的。在call处下断点,f9运行,注册。
断下了。单步跟踪,但下面的call还是给eax赋值了1
那么说明,这个jnz虽然影响了jmp,但jmp下面还有call决定。
往下跟踪
005BC0AB   .C745 FC 10000>mov dword ptr ss:,0x10
005BC0B2   .FF15 38104000 call dword ptr ds:[<&MSVBVM60.__vbaEnd>] ;msvbvm60.__vbaEnd
005BC0B8   .E9 B2000000   jmp MP3转换?005BC16F
005BC0BD   >C745 FC 12000>mov dword ptr ss:,0x12
005BC0C4   .C745 80 04000>mov dword ptr ss:,0x80020004
005BC0CB   .C785 78FFFFFF>mov dword ptr ss:,0xA
005BC0D5   .C745 90 04000>mov dword ptr ss:,0x80020004
005BC0DC   .C745 88 0A000>mov dword ptr ss:,0xA
005BC0E3   .C785 60FFFFFF>mov dword ptr ss:,MP3转换?005219>;Invaild
005BC0ED   .C785 58FFFFFF>mov dword ptr ss:,0x8
005BC0F7   .8D95 58FFFFFF lea edx,dword ptr ss:
005BC0FD   .8D4D 98       lea ecx,dword ptr ss:
005BC100   .FF15 0C124000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>;msvbvm60.__vbaVarDup
005BC106   .C785 70FFFFFF>mov dword ptr ss:,MP3转换?00521F>;注册码错误!
005BC110   .C785 68FFFFFF>mov dword ptr ss:,0x8
005BC11A   .8D95 68FFFFFF lea edx,dword ptr ss:
005BC120   .8D4D A8       lea ecx,dword ptr ss:
005BC123   .FF15 0C124000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>;msvbvm60.__vbaVarDup

这里是错误。jmp肯定要跳啊,不跳不就完蛋了吗?要让插进来的跳不了
005BBD92   .66:837D CC FF cmp word ptr ss:,0xFFFF
005BBD97      0F85 20030000 jnz MP3转换?005BC0BD
005BBD9D   .C745 FC 0B000>mov dword ptr ss:,0xB

这个jnz的决定应该在上面
在cmp处下端,f9运行并注册
单步跟踪

ecx寄存器出现可疑字符串
继续跟踪

edx出现假马,真假马对比
提示失败。
分析完毕,这个玩意就是真马
注册
MP3885301308611047
这是我的注册码,只适合本机

ok
算法分析我累了,不想写了。简单写写
固定字符串mp3+机器码计算=注册码
软件下载地址(原版):http://rj.baidu.com/soft/detail/12621.html?ald
写了2小时,呜呜累啊。。。。


给点辛苦费吧!!{:301_972:}
注册机没有屌丝通道!!!回个帖cb就有了
注意注意,sound大神纠正了一个错误。。。我本想说利用信息框f12法查找错误提示处,却手贱打成了下信息框断点查找错误提示。。。@Sound ,对不起,谢谢提醒


Hmily 发表于 2016-8-25 15:36

这帖子纯靠猜的爆破分析是无法得到优秀的,都玩4年破解的话,即使爆破也应该分析的有理有据,更好的是分析算法过程。

默之 发表于 2016-8-26 08:31

cqr2287 发表于 2016-8-25 15:03
谁的?跟我方式一样么?有爆破追码编写注册机三种方法么?巧合....

恒 大的第一期教程里有这个软件

平淡最真 发表于 2016-8-25 16:53

这个程序论坛搜一下肯定能搜到有破解记录之前看到过有印象

朴智妍 发表于 2016-8-25 14:33

学破解 第一期第十课 就这个教程 不过是找码 不是做注册码

浮世年华// 发表于 2016-8-25 14:31

不知收了多少钱

LeiSir 发表于 2016-8-25 14:33

这才是真的的牛,佩服佩服!楼主学4年了!今年多大了,我记得有个1几岁的是你不啊?

keboboke 发表于 2016-8-25 14:44

写得挺好的。

默之 发表于 2016-8-25 15:02

这个。。。我记得***的教程里有这个软件的破解过程。不过还是谢谢楼主

KaQqi 发表于 2016-8-25 15:03

默之 发表于 2016-8-25 15:02
这个。。。我记得***的教程里有这个软件的破解过程。不过还是谢谢楼主

谁的?跟我方式一样么?有爆破追码编写注册机三种方法么?巧合....

KaQqi 发表于 2016-8-25 15:10

gzh1988 发表于 2016-8-25 15:09
我就想注册机而已

注册机不是已经上传了么

leizit 发表于 2016-8-25 15:26

支持大神啊
页: [1] 2 3 4 5 6 7 8
查看完整版本: 某mp3转换器 爆破、追码、注册机编写