Add/Remove 4Good 2注册码 跟踪过程,稍麻烦些---[BCG]入门教程
作者:CrackerABC[BCG]
作者主页:http://crackerabc.longcity.net
这个软件呢就是一个典型的跟进CALL计算子程序的例子,下面开始了。
1、首先随便输入任意注册信息:
Name:sunfeng
Code: 31415926
2、启动TRW2000,点确定后用Ctrl+N呼叫出来,然后下bpx hmemcpy
3、F5返回程序空间后,点注册被TRW2000拦截到其领域,下BD *中断所有断点。
4、开始按F12,共计23次(24次时出错),请仔细看了,
0167:004018D5 PUSH DWORD FF /////这里是你按第一次F10后的位置
0167:004018DA MOV ECX,[EBP-10]
0167:004018DD PUSH DWORD 00408460
0167:004018E2 ADD ECX,01A0
0167:004018E8 CALL `MFC40!ord_00000D36`
0167:004018ED PUSH DWORD 00408360
0167:004018F2 LEA ECX,[EBP-18]
0167:004018F5 CALL `MFC40!ord_000001E3`
0167:004018FA MOV DWORD [EBP-04],00
0167:00401901 MOV EAX,[EAX]
0167:00401903 PUSH DWORD 004085A4
0167:00401908 PUSH EAX
0167:00401909 CALL `MSVCRT40!_mbscmp`
0167:0040190F MOV DWORD [EBP-04],FFFFFFFF
0167:00401916 ADD ESP,BYTE +08
0167:00401919 CMP EAX,BYTE +01
0167:0040191C MOV EAX,[EBP-14]
0167:0040191F SBB [EBP-14],EAX
0167:00401922 NEG DWORD [EBP-14]
0167:00401925 CALL 00401A33
0167:0040192A CMP DWORD [EBP-14],BYTE +00
0167:0040192E JZ 00401949
0167:00401930 PUSH BYTE +01
0167:00401932 MOV ECX,[EBP-10]
0167:00401935 CALL `MFC40!ord_00000910`
0167:0040193A MOV EAX,[EBP-0C]
0167:0040193D POP EDI
0167:0040193E MOV [FS:00],EAX
0167:00401944 POP ESI
0167:00401945 MOV ESP,EBP
0167:00401947 POP EBP
0167:00401948 RET
0167:00401949 CALL 00401620 ////按F8跟进去这里是计算的子程序入口
0167:0040194E TEST EAX,EAX ////这里可是典型的组合啊。
0167:00401950 JZ NEAR 004019F8 ///
0167:00401956 LEA EAX,[EBP-18]
下面是跟进去的代码段:
0167:00401620 MOV EAX,[FS:00]
0167:00401626 PUSH EBP
0167:00401627 MOV EBP,ESP
0167:00401629 PUSH BYTE -01
0167:0040162B PUSH DWORD 004017A5
0167:00401630 MOV ECX,FFFFFFFF
0167:00401635 PUSH EAX
0167:00401636 MOV [FS:00],ESP
0167:0040163D SUB ESP,BYTE +0C
0167:00401640 SUB EAX,EAX
0167:00401642 PUSH EDI
0167:00401643 MOV EDI,00408360
0167:00401648 REPNE SCASB
0167:0040164A NOT ECX
0167:0040164C DEC ECX
0167:0040164D CMP ECX,BYTE +06
0167:00401650 JNC 00401663
0167:00401652 XOR EAX,EAX
0167:00401654 MOV ECX,[EBP-0C]
0167:00401657 POP EDI
0167:00401658 MOV [FS:00],ECX
0167:0040165F MOV ESP,EBP
0167:00401661 POP EBP
0167:00401662 RET
0167:00401663 MOV EDI,00408360
0167:00401668 MOV ECX,FFFFFFFF
0167:0040166D SUB EAX,EAX
0167:0040166F REPNE SCASB
0167:00401671 NOT ECX
0167:00401673 SUB EDX,EDX
0167:00401675 LEA EAX,[ECX-01]
0167:00401678 MOV ECX,0C
0167:0040167D DIV ECX
0167:0040167F MOV EAX,[0040835C]
0167:00401684 LEA ECX,[EBP-10]
0167:00401684 LEA ECX,[EBP-10] ////D ECX得到87ae2401my69,这可不是真注册码哟。和他紧挨的 //// 是感谢注册的语句,迷惑人。
0167:00401687 MOV AL,[EAX+EDX]
0167:0040168A PUSH EAX
0167:0040168B PUSH DWORD 0040859C
0167:00401690 CALL `MFC40!ord_000001E3`
0167:00401695 PUSH EAX
0167:00401696 LEA ECX,[EBP-14]
0167:00401699 MOV DWORD [EBP-04],00
0167:004016A0 PUSH ECX
0167:004016A1 CALL `MFC40!ord_00000332`
0167:004016A6 MOV BYTE [EBP-04],02
0167:004016AA CALL 0040179D
0167:004016AF MOV EDI,00408360
0167:004016B4 MOV ECX,FFFFFFFF
0167:004016B9 MOV DWORD [EBP-10],00
0167:004016C0 SUB EAX,EAX
0167:004016C2 REPNE SCASB
0167:004016C4 NOT ECX
0167:004016C6 DEC ECX
0167:004016C7 JZ 00401741
0167:004016C9 TEST BYTE [EBP-10],01
0167:004016CD JNZ 00401728
0167:004016CF MOV EAX,[EBP-10]
0167:004016D2 MOV AL,[EAX+00408360]
0167:004016D8 CMP AL,7F
0167:004016DA JG NEAR 00401773
0167:004016E0 CMP AL,20
0167:004016E2 JL NEAR 00401784
0167:004016E8 CBW
0167:004016EA MOV CL,02
0167:004016EC IDIV CL
0167:004016EE ADD AL,20
0167:004016F0 CMP AL,5A
0167:004016F2 JNG 004016FA
0167:004016F4 CMP AL,61
0167:004016F6 JNL 004016FA
0167:004016F8 ADD AL,06
0167:004016FA CMP AL,39
0167:004016FC JNG 00401704
0167:004016FE CMP AL,41
0167:00401700 JNL 00401704
0167:00401702 ADD AL,08
0167:00401704 PUSH EAX
0167:00401705 LEA ECX,[EBP-18]
0167:00401708 LEA EAX,[EBP-14]
0167:0040170B PUSH EAX
0167:0040170C PUSH ECX
0167:0040170D CALL `MFC40!ord_00000332`
0167:00401712 PUSH EAX
0167:00401713 LEA ECX,[EBP-14]
0167:00401716 MOV BYTE [EBP-04],03
0167:0040171A CALL `MFC40!ord_000002F8`
0167:0040171F MOV BYTE [EBP-04],02 ////此处多次调用,D ECX得到逐个注册码,最后为6582-1YWRS
0167:00401723 CALL 00401795
0167:00401728 MOV EDI,00408360
0167:0040172D MOV ECX,FFFFFFFF
0167:00401732 INC DWORD [EBP-10]
0167:00401735 SUB EAX,EAX
0167:00401737 REPNE SCASB
0167:00401739 NOT ECX
0167:0040173B DEC ECX
0167:0040173C CMP ECX,[EBP-10]
0167:0040173F JA 004016C9
0167:00401741 PUSH DWORD 00408460
0167:00401746 MOV EAX,[EBP-14]
0167:00401749 PUSH EAX
0167:0040174A CALL `MSVCRT40!_mbscmp`
0167:00401750 ADD ESP,BYTE +08
0167:00401753 MOV ECX,[EBP-10]
0167:00401756 MOV DWORD [EBP-04],FFFFFFFF
0167:0040175D CMP EAX,BYTE +01
0167:00401760 SBB [EBP-10],ECX
0167:00401763 NEG DWORD [EBP-10]
0167:00401766 CALL 004017AF
0167:0040176B MOV EAX,[EBP-10]
0167:0040176E JMP 00401654
0167:00401773 MOV DWORD [EBP-04],FFFFFFFF
0167:0040177A CALL 004017AF
0167:0040177F JMP 00401652
0167:00401784 MOV DWORD [EBP-04],FFFFFFFF
0167:0040178B CALL 004017AF
0167:00401790 JMP 00401652
0167:00401795 LEA ECX,[EBP-18]
0167:00401798 JMP `MFC40!ord_000002C2`
0167:0040179D LEA ECX,[EBP-10]
0167:004017A0 JMP `MFC40!ord_000002C2`
0167:004017A5 MOV EAX,00406E70
0167:004017AA JMP `MSVCRT40!__CxxFrameHandler`
0167:004017AF LEA ECX,[EBP-14]
0167:004017B2 JMP `MFC40!ord_000002C2`
0167:004017B7 INT3
0167:004017B8 INT3
0167:004017B9 INT3
0167:004017BA INT3
0167:004017BB INT3
0167:004017BC INT3
0167:004017BD INT3
0167:004017BE INT3
0167:004017BF INT3
0167:004017C0 PUSH EBX
0167:004017C1 PUSH ESI
0167:004017C2 PUSH EDI
0167:004017C3 MOV EBX,ECX
0167:004017C5 CALL `MFC40!ord_0000104D`
0167:004017CA MOV ECX,EBX
0167:004017CC CALL 004014A0
0167:004017D1 CALL 004015A0
0167:004017D6 TEST EAX,EAX
0167:004017D8 JZ NEAR 00401867
0167:004017DE PUSH DWORD 00408674
0167:004017E3 LEA ECX,[EBX+60]
0167:004017E6 CALL `MFC40!ord_00001574`
0167:004017EB PUSH DWORD 004085C8
0167:004017F0 LEA ECX,[EBX+E0]
0167:004017F6 LEA EDI,[EBX+01E0]
0167:004017FC CALL `MFC40!ord_00001574`
0167:00401801 PUSH DWORD 004085BC
0167:00401806 LEA ECX,[EBX+A0]
0167:0040180C LEA ESI,[EBX+01A0]
0167:00401812 CALL `MFC40!ord_00001574`
0167:00401817 PUSH DWORD 00408360
0167:0040181C MOV ECX,EDI
0167:0040181E CALL `MFC40!ord_00001574`
0167:00401823 PUSH DWORD 00408460
0167:00401828 MOV ECX,ESI
0167:0040182A CALL `MFC40!ord_00001574`
0167:0040182F PUSH DWORD 004085B8
0167:00401834 LEA ECX,[EBX+0120]
0167:0040183A CALL `MFC40!ord_00001574`
0167:0040183F PUSH BYTE +00
0167:00401841 MOV ECX,EDI
0167:00401843 CALL `MFC40!ord_0000090D`
0167:00401848 PUSH BYTE +00
0167:0040184A MOV ECX,ESI
0167:0040184C CALL `MFC40!ord_0000090D`
0167:00401851 PUSH BYTE +00
0167:00401853 LEA ECX,[EBX+0160]
0167:00401859 CALL `MFC40!ord_0000090D`
0167:0040185E MOV EAX,01
0167:00401863 POP EDI
0167:00401864 POP ESI
0167:00401865 POP EBX
0167:00401866 RET
0167:00401867 PUSH DWORD 004085A4
0167:0040186C LEA ECX,[EBX+01E0]
0167:00401872 CALL `MFC40!ord_00001574`
0167:00401877 PUSH DWORD 004085A4
0167:0040187C LEA ECX,[EBX+01A0]
0167:00401882 CALL `MFC40!ord_00001574`
0167:00401887 MOV EAX,[00408358]
0167:0040188C LEA ECX,[EBX+60]
0167:0040188F PUSH EAX
0167:00401890 CALL `MFC40!ord_00001574`
0167:00401895 MOV EAX,01
0167:0040189A POP EDI
0167:0040189B POP ESI
0167:0040189C POP EBX
0167:0040189D RET
0167:0040189E INT3
0167:0040189F INT3
0167:004018A0 MOV EAX,[FS:00]
0167:004018A6 PUSH EBP
0167:004018A7 MOV EBP,ESP
0167:004018A9 PUSH BYTE -01
0167:004018AB PUSH DWORD 00401A29
0167:004018B0 PUSH EAX
0167:004018B1 MOV [FS:00],ESP
0167:004018B8 SUB ESP,BYTE +0C
0167:004018BB MOV [EBP-10],ECX
0167:004018BE PUSH ESI
0167:004018BF PUSH EDI
0167:004018C0 ADD ECX,01E0
0167:004018C6 PUSH DWORD FF
0167:004018CB PUSH DWORD 00408360
0167:004018D0 CALL `MFC40!ord_00000D36`
0167:004018D5 PUSH DWORD FF
0167:004018DA MOV ECX,[EBP-10]
0167:004018DD PUSH DWORD 00408460
0167:004018E2 ADD ECX,01A0
0167:004018E8 CALL `MFC40!ord_00000D36`
0167:004018ED PUSH DWORD 00408360
0167:004018F2 LEA ECX,[EBP-18]
0167:004018F5 CALL `MFC40!ord_000001E3`
0167:004018FA MOV DWORD [EBP-04],00
0167:00401901 MOV EAX,[EAX]
0167:00401903 PUSH DWORD 004085A4
0167:00401908 PUSH EAX
0167:00401909 CALL `MSVCRT40!_mbscmp`
0167:0040190F MOV DWORD [EBP-04],FFFFFFFF
0167:00401916 ADD ESP,BYTE +08
0167:00401919 CMP EAX,BYTE +01
0167:0040191C MOV EAX,[EBP-14]
0167:0040191F SBB [EBP-14],EAX
0167:00401922 NEG DWORD [EBP-14]
0167:00401925 CALL 00401A33
0167:0040192A CMP DWORD [EBP-14],BYTE +00
0167:0040192E JZ 00401949
0167:00401930 PUSH BYTE +01
0167:00401932 MOV ECX,[EBP-10]
0167:00401935 CALL `MFC40!ord_00000910`
0167:0040193A MOV EAX,[EBP-0C]
0167:0040193D POP EDI
0167:0040193E MOV [FS:00],EAX
0167:00401944 POP ESI
0167:00401945 MOV ESP,EBP
0167:00401947 POP EBP
0167:00401948 RET
0167:00401949 CALL 00401620
0167:0040194E TEST EAX,EAX
0167:00401950 JZ NEAR 004019F8
0167:00401956 LEA EAX,[EBP-18]
0167:00401959 LEA ECX,[EBP-14]
0167:0040195C MOV DWORD [EBP-18],00
0167:00401963 MOV DWORD [EBP-14],00
0167:0040196A PUSH EAX
0167:0040196B PUSH ECX
0167:0040196C PUSH BYTE +00
0167:0040196E PUSH DWORD 000F003F
0167:00401973 PUSH BYTE +00
0167:00401975 PUSH BYTE +00
0167:00401977 PUSH BYTE +00
0167:00401979 PUSH DWORD 0040857C
0167:0040197E PUSH DWORD 80000002
0167:00401983 CALL `ADVAPI32!RegCreateKeyExA`
0167:00401989 MOV EDI,EAX
0167:0040198B TEST EDI,EDI
0167:0040198D JNZ 004019BC
0167:0040198F PUSH DWORD 0200
0167:00401994 MOV EAX,[EBP-14]
0167:00401997 PUSH DWORD 00408360
0167:0040199C PUSH BYTE +03
0167:0040199E PUSH BYTE +00
0167:004019A0 PUSH DWORD 00408578
0167:004019A5 PUSH EAX
0167:004019A6 CALL `ADVAPI32!RegSetValueExA`
0167:004019AC MOV EDI,EAX
0167:004019AE MOV EAX,[EBP-14]
0167:004019B1 PUSH EAX
0167:004019B2 CALL `ADVAPI32!RegCloseKey`
0167:004019B8 TEST EDI,EDI
0167:004019BA JZ 004019CF
0167:004019BC PUSH BYTE +00
0167:004019BE PUSH BYTE +00
0167:004019C0 PUSH DWORD 0040886C
0167:004019C5 CALL `MFC40!ord_00000425`
0167:004019CA JMP 00401930
0167:004019CF CMP DWORD [EBP-10],BYTE +00
0167:004019D3 MOV EAX,00
0167:004019D8 JZ 004019E0
0167:004019DA MOV EAX,[EBP-10]
0167:004019DD MOV EAX,[EAX+20]
0167:004019E0 PUSH BYTE +00
0167:004019E2 PUSH DWORD 0040885C
0167:004019E7 PUSH DWORD 004087DC
0167:004019EC PUSH EAX
0167:004019ED CALL `USER32!MessageBoxA`
0167:004019F3 JMP 00401930
0167:004019F8 PUSH BYTE -01
0167:004019FA CALL `USER32!MessageBeep`
0167:00401A00 CMP DWORD [EBP-10],BYTE +00
0167:00401A04 MOV EAX,00
0167:00401A09 JZ 00401A11
0167:00401A0B MOV EAX,[EBP-10]
0167:00401A0E MOV EAX,[EAX+20]
0167:00401A11 PUSH BYTE +30
0167:00401A13 PUSH DWORD 004087C8
0167:00401A18 PUSH DWORD 00408688
0167:00401A1D PUSH EAX ///下面的语句就是弹出出错对框的了。
如果跟的不细心,就会得到一个近似相象的注册码87ae2401my69,其实是假的。
好了,自己总结总结,那些地方应该跟进去呢。下课了。
<------完------->
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>