来个大家讲讲简单的破解 第一课,找规律破解
本帖最后由 w470236189 于 2015-10-22 11:34 编辑今天做个教程 比较适合新手 来看看今天的猪脚把 哈哈哈
啊偶 提示未注册哦 很多功能 有限制哦
我们来试试随便输入注册码 看看会有什么提示 提示无效哦
接下来奇怪的时候来了 随便输入与机器码位数相同的注册码都会提示成功
看到这里 相比各位客官都明白了 这软件是重启验证类型的
那我们OD载入看看 用大家最爱的查找字符串方法(软件没壳的哦)
我们现在调试一下 看看是那种重启验证类型的 搜索字符串“无效注册码”
然后下段
00423D77 .E8 F6400200 call susuan.00447E72
00423D7C .8B86 28090000 mov eax,dword ptr ds:
00423D82 .8DBE 28090000 lea edi,dword ptr ds:
00423D88 .8378 F8 0A cmp dword ptr ds:,0xA
00423D8C .74 2C je short susuan.00423DBA
00423D8E .6A 00 push 0x0
00423D90 .68 CCFE4600 push susuan.0046FECC ;输入错误
00423D95 .68 B0FE4600 push susuan.0046FEB0 ;无效注册码!请重新输入。
00423D9A .8BCE mov ecx,esi
00423D9C .E8 DB380200 call susuan.0044767C
00423DA1 .68 74254700 push susuan.00472574
00423DA6 .8BCF mov ecx,edi ;susuan.005B7D68
00423DA8 .E8 165E0200 call susuan.00449BC3
00423DAD .6A 00 push 0x0
00423DAF .8BCE mov ecx,esi
00423DB1 .E8 BC400200 call susuan.00447E72
00423DB6 .5F pop edi ;kernel32.7C817067
00423DB7 .5E pop esi ;kernel32.7C817067
00423DB8 .59 pop ecx ;kernel32.7C817067
00423DB9 .C3 retn
00423DBA >51 push ecx
00423DBB .8BCC mov ecx,esp
00423DBD .896424 0C mov dword ptr ss:,esp
00423DC1 .57 push edi ;susuan.005B7D68
00423DC2 .E8 E8590200 call susuan.004497AF
00423DC7 .B9 A0254700 mov ecx,susuan.004725A0
00423DCC .E8 4F4AFFFF call susuan.00418820
00423DD1 .84C0 test al,al
00423DD3 .74 30 je short susuan.00423E05
00423DD5 .6A 00 push 0x0
00423DD7 .68 A4FE4600 push susuan.0046FEA4 ;完成注册
00423DDC .68 84FE4600 push susuan.0046FE84 ;注册成功!请重新启动本软件。
00423DE1 .8BCE mov ecx,esi
00423DE3 .E8 94380200 call susuan.0044767C
00423DE8 .6A 00 push 0x0
00423DEA .68 78FE4600 push susuan.0046FE78 ;重要提示
00423DEF .68 B8FD4600 push susuan.0046FDB8 ;只有付费注册的用户才能得到正确的注册码。\r\n如果您输入的是非法注册码,软件也许会提示注册成功,但无法正常使用。\r\n如果在使用中出现运行错误,请与软件开发者联系。\r\nQQ:122425677\r\n手机:13623065742
00423DF4 .8BCE mov ecx,esi
00423DF6 .E8 81380200 call susuan.0044767C
00423DFB .8B16 mov edx,dword ptr ds:
00423DFD .8BCE mov ecx,esi
00423DFF .FF92 C4000000 call dword ptr ds:
00423E05 >5F pop edi ;kernel32.7C817067
00423E06 .5E pop esi ;kernel32.7C817067
00423E07 .59 pop ecx ;kernel32.7C817067
00423E08 .C3 retn
很明显 这里就是验证的关键call =====00423D77 . E8 F6400200 call susuan.00447E72
我们先输入假码 让这个跳转 ===00423D8C . 74 2C je short susuan.00423DBA 跳到注册成功的地方 然后我们跟进call去看看
来到 这个CALL ===00423DCC . E8 4F4AFFFF call susuan.00418820 注意看寄存器的信息
EAX 0046EEC4 ASCII "soft_jiazhang"
ECX 0046EEB0 ASCII "Software\Microsoft"
EDX 80000001
EBX 00000001
ESP 0012BB78 ASCII "邦F"
EBP 0012BBB4
ESI 004725A0 susuan.004725A0
EDI 0012CC18
EIP 00418866 susuan.00418866
C 0ES 0023 32位 0(FFFFFFFF)
P 0CS 001B 32位 0(FFFFFFFF)
A 0SS 0023 32位 0(FFFFFFFF)
Z 0DS 0023 32位 0(FFFFFFFF)
S 0FS 003B 32位 7FFDF000(FFF)
T 0GS 0000 NULL
看到这里大家应该知道了把 是把注册信息存放到注册表的 现在我们打开注册表看看
果然是把注册信息放在这里面了 接下来就是重点了 我们来找下规律 破解
首先搜索字符串“未注册”, 将附件一段代码记录下来 进行比较 这里我就找三段 当然大家可以多找几个对比一下
00422256 .E8 1A370200 call susuan.00445975
0042225B .A0 E2264700 mov al,byte ptr ds:
00422260 .84C0 test al,al
00422262 .74 4A je short susuan.004222AE
00422264 .6A 02 push 0x2
00422266 .6A 01 push 0x1
00422268 .B9 A0254700 mov ecx,susuan.004725A0
0042226D .E8 EE74FFFF call susuan.00419760
00422272 .83F8 01 cmp eax,0x1
00422275 .75 37 jnz short susuan.004222AE
00422277 .6A 06 push 0x6
00422279 .B9 A0254700 mov ecx,susuan.004725A0
0042227E .E8 FD63FFFF call susuan.00418680
00422283 .84C0 test al,al
00422285 .75 27 jnz short susuan.004222AE
00422287 .E8 716F0200 call susuan.004491FD
0042228C .85C0 test eax,eax
0042228E .74 09 je short susuan.00422299
00422290 .8B10 mov edx,dword ptr ds:
00422292 .8BC8 mov ecx,eax
00422294 .FF52 74 call dword ptr ds:
00422297 .EB 02 jmp short susuan.0042229B
00422299 >33C0 xor eax,eax
0042229B >68 0CE14600 push susuan.0046E10C ;好家长教育助手 V1.2 — 软件尚未注册
004222A0 .8BC8 mov ecx,eax
004222A2 .E8 96670200 call susuan.00448A3D
004222A7 .C605 E2264700>mov byte ptr ds:,0x0
004222AE >8B46 64 mov eax,dword ptr ds:
004222B1 .8B4E 60 mov ecx,dword ptr ds:
004222B4 .6A 01 push 0x1
0040ABD6 .E8 9AAD0300 call susuan.00445975
0040ABDB .A0 E2264700 mov al,byte ptr ds:
0040ABE0 .84C0 test al,al
0040ABE2 .74 4A je short susuan.0040AC2E
0040ABE4 .6A 02 push 0x2
0040ABE6 .6A 01 push 0x1
0040ABE8 .B9 A0254700 mov ecx,susuan.004725A0
0040ABED .E8 6EEB0000 call susuan.00419760
0040ABF2 .83F8 01 cmp eax,0x1
0040ABF5 .75 37 jnz short susuan.0040AC2E
0040ABF7 .6A 07 push 0x7
0040ABF9 .B9 A0254700 mov ecx,susuan.004725A0
0040ABFE .E8 7DDA0000 call susuan.00418680
0040AC03 .84C0 test al,al
0040AC05 .75 27 jnz short susuan.0040AC2E
0040AC07 .E8 F1E50300 call susuan.004491FD
0040AC0C .85C0 test eax,eax
0040AC0E .74 09 je short susuan.0040AC19
0040AC10 .8B10 mov edx,dword ptr ds:
0040AC12 .8BC8 mov ecx,eax
0040AC14 .FF52 74 call dword ptr ds:
0040AC17 .EB 02 jmp short susuan.0040AC1B
0040AC19 >33C0 xor eax,eax
0040AC1B >68 0CE14600 push susuan.0046E10C ;好家长教育助手 V1.2 — 软件尚未注册
0040AC20 .8BC8 mov ecx,eax
0040AC22 .E8 16DE0300 call susuan.00448A3D
0040AC27 .C605 E2264700>mov byte ptr ds:,0x0
0040AC2E >8B46 64 mov eax,dword ptr ds:
0040AC31 .8B4E 60 mov ecx,dword ptr ds:
0040AC34 .6A 01 push 0x1
004121C3 .8BF1 mov esi,ecx ;ntdll.7C93003D
004121C5 .E8 AB370300 call susuan.00445975
004121CA .A0 E2264700 mov al,byte ptr ds:
004121CF .84C0 test al,al
004121D1 .74 4A je short susuan.0041221D
004121D3 .6A 02 push 0x2
004121D5 .6A 01 push 0x1
004121D7 .B9 A0254700 mov ecx,susuan.004725A0
004121DC .E8 7F750000 call susuan.00419760
004121E1 .83F8 01 cmp eax,0x1
004121E4 .75 37 jnz short susuan.0041221D
004121E6 .6A 03 push 0x3
004121E8 .B9 A0254700 mov ecx,susuan.004725A0
004121ED .E8 8E640000 call susuan.00418680
004121F2 .84C0 test al,al
004121F4 .75 27 jnz short susuan.0041221D
004121F6 .E8 02700300 call susuan.004491FD
004121FB .85C0 test eax,eax
004121FD .74 09 je short susuan.00412208
004121FF .8B10 mov edx,dword ptr ds:
00412201 .8BC8 mov ecx,eax
00412203 .FF52 74 call dword ptr ds:
00412206 .EB 02 jmp short susuan.0041220A
00412208 >33C0 xor eax,eax
0041220A >68 0CE14600 push susuan.0046E10C ;好家长教育助手 V1.2 — 软件尚未注册
0041220F .8BC8 mov ecx,eax
00412211 .E8 27680300 call susuan.00448A3D
00412216 .C605 E2264700>mov byte ptr ds:,0x0
0041221D >8B46 64 mov eax,dword ptr ds:
00412220 .8B4E 60 mov ecx,dword ptr ds:
00412223 .6A 01 push 0x1
我们主要到 每个段都有个相同的东西
0042225B . A0 E2264700 mov al,byte ptr ds:
00422260 . 84C0 test al,al
00422262 . 74 4A je short susuan.004222AE
而且这个跳转00422262 . 74 4A je short susuan.004222AE 跳了的话 软件就不会显示未注册了
关键就应该是这里了 我们在这里设置硬件写入断点 看看是什么时候给0x4726E2赋值的
重新运行一下看看
来到这里
原来在程序启动运行到这里的时候就给0x4726E2 设置为0 了 那么我们直接爆破把0改成1 然后保存
保存后 我们运行一下我们改过的 看看效果
爆破了 没有未注册的什么信息了 软件可以正常使用啦 啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
=================================
后期有空的话 还会出各种适合新手的视频教程 谢谢各位 我以前写过一个.net程序破解的 新手朋友也可以去看看 http://www.52pojie.cn/thread-343363-1-1.html如果可以的话 希望能进吾爱的官方群 和大家交流 哈哈哈哈哈哈@Hmily
================================
考虑到有些新手朋友可能看图 看不明白 特意做了个视频教程 普通话不好 各位见谅!谢谢大家!
链接:http://pan.baidu.com/s/1jGF93yY 密码:4x28
好破文,值得多多学习{:301_993:} 谢谢大大。。。看了之后有很多感悟。多谢指点。 来学习了。。。 了解学习下 看看 厉害厉害啊,学习了。 学习了,谢谢。 谢谢无私奉献者
学习了,谢谢。 虽然有点看不懂,但是楼主应该是很厉害了,感谢