老文章档案 · 2003 年

Add/Remove 4Good 2注册码 跟踪过程

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-09 · 作者:CrackerABC[BCG] 人气: · 出处:赢政天下收集整理)

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,其实是假的。

好了,自己总结总结,那些地方应该跟进去呢。下课了。

<------完------->

(出处:赢政天下收集整理)

相关文章:

·ASProtect的加密算法初步分析

·MD5算法研究

·Active Ebook Compiler的注册算法

·语音界面2.0算法分析及注册机源码!

·简单算法——小护士 V1.2

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·加密算法之RSA算法

·加密算法之DES算法

·加密算法之ElGamal算法

相关软件:

·胜新通用人事工资管理系统 V5.01注册码算法

·胜新出纳-支票打印软件 V4.0X 的注册码算法

·胜新现代办公百宝箱 V5.01 的注册码算法

·胜新信函宝典-信封打印软件 V2.02 注册码的算法

·胜新通用企业计划管理系统的注册码算法

·共享软件加密算法库 V3.0

·操作系统内存分配银行家算法模拟系统 XP

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史