昨天加班到三点在写一个检测PE信息程序,累晕了,早上一起来见坛里小鹿写了个爆破这个软件的,就想着弄个注册机出来吧.毕竟只是暴破没多大意思.
目标:佳宜合同管理软件
下载地址:
http://shareware.skycn.com/soft/8809.htm
好,开始动手:
首先用c32asm反汇编,因为它没有加壳,所以直接动手了.查找到关键点:
::005E879F:: E8 28B5E1FF CALL 00403CCC \:JMPUP
::005E87A4:: 6A 00 PUSH 0
::005E87A6:: 68 D0885E00 PUSH 5E88D0 \->: 系统注册成功,欢迎你使用本软件!
::005E87AB:: E8 E004FFFF CALL 005D8C90 \:JMPUP >>>: PUNUNITLIB.DLL:ShowMess
::005E87B0:: A1 30E56200 MOV EAX,[62E530]
::005E87B5:: C700 02000000 MOV DWORD PTR [EAX],2
::005E87BB:: A1 E8E26200 MOV EAX,[62E2E8]
::005E87C0:: 8B00 MOV EAX,[EAX]
::005E87C2:: E8 F57DE8FF CALL 004705BC \:JMPUP
::005E87C7:: 33C0 XOR EAX,EAX
::005E87C9:: 5A POP EDX
::005E87CA:: 59 POP ECX
::005E87CB:: 59 POP ECX
::005E87CC:: 64:8910 MOV FS:[EAX],EDX
::005E87CF:: EB 20 JMP SHORT 005E87F1 \:JMPDOWN
::005E87D1:: E9 D6B9E1FF JMP 004041AC \:JMPUP
::005E87D6:: 8B45 FC MOV EAX,[EBP-4]
::005E87D9:: E8 2E45E8FF CALL 0046CD0C \:JMPUP
::005E87DE:: E8 F5BDE1FF CALL 004045D8 \:JMPUP
::005E87E3:: EB 0C JMP SHORT 005E87F1 \:JMPDOWN
::005E87E5:: 6A 03 PUSH 3 \:BYJMP JmpBy:005E86E1,
::005E87E7:: 68 F4885E00 PUSH 5E88F4 \->: 系统注册失败,请检查注册是否有误!
::005E87EC:: E8 9F04FFFF CALL 005D8C90 \:JMPUP >>>: PUNUNITLIB.DLL:ShowMess
注意加粗的那块,看到此错误信息来自005E86E1,于是查看005E86E1的信息,如下:
005E86D6 MOV EAX,[EBP-20]
005E86D9 MOV EDX,[EBP-8]
005E86DC CALL 00404F38 ;关键CALL
005E86E1 JNZ 005E87E5 ;此处不等则跳
005E86E7 XOR EAX,EAX
005E86E9 PUSH EBP
进入OD在 005E86DC处下断,f9运行,点击注册,用记名输入独孤剑,注册码输入747474744,点击注册,断在了 005E86DC
此时在寄存器窗口可以看到
---------------------------------
EAX 01A621CC ASCII "7474747474"
ECX 00000000
EDX 01A91430 ASCII "H2T8-D473-J3Y5-8583"
-------------------------------------
H2T8-D473-J3Y5-8583即为真实注册码了,不过今天的目的不光只是追出注册码,我们还要做出注册机.
重头戏开始:
1.然后然后打开KEYMAKE,点击"其它"下的内存注册机命令,
2.单击"选择",找到佳宜合同的应用程序,也就是Contract.exe
3.单击添加按钮,在中断地址上写5e86dc
4.中断次数填1
5,第一个字节:E8(因为5e86dc处的字节为E8 57C8E1FF,所以第一个字节填E8)
6,指令长度填:5(因为E8 57C8E1FF总长度为10,10/2=5)
7,单击填加
8. 接下来填加右侧的注册码相关信息
9. 这里选择内存方式,寄存器选EDX,因为注册码是出现在这个寄存器里
10.单击用户信息,在那里自己写上自己的信息就行了.
11.生成.选择一种内格,我是常用第三种风格.单击确定.
12.好了现在注册机做完了.把它放在佳宜合同软件的安装目录下.运行注册机,然后会自动运行佳宜软件,点注册,输入用户名,注册码乱写就行,选注册.听到一声响,OK,我们的注册机跳出来并把真实注册码显示了出来.下面的该怎么做就不用我教了吧.呵呵
注:1.本贴只做技术交流, 并无侵权之意
2.小鹿下次写文章时写详细点吧.毕竟这里是新兵论坛不是.
3.本人小菜一个.高手不要见笑啊.
4.最后附上成功截图.
继续写我的程序了.还没完成任务呢.晕哦.
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!