老文章档案 · 2003 年

破解心得之3DMark2001篇

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

破解心得之3DMark2001篇

作者:时空幻影

时间:2001年4月17日

工具:W23DASM白金版汉化版、TRW2000 v1.22注册版

用TRW2000载入3DMark2001.EXE后按F5让程序继续运行,然后点菜单中的“Register->Register 3DMark2001...”,

输入User Name:时空幻影

输入Registration Code:12345-67890-09876-54321

按Ctrl+N激活TRW2000,用BPX HMEMCPY设置断点,再按F5,点OK,程序会被拦。

输入PMODULE后再回车,进入3DMark2001的领空,再一直按F10到下面这个地方:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00439CD4(C)

|

:00439D33 8B4B48 mov ecx, dword ptr [ebx+48]

:00439D36 8D542410 lea edx, dword ptr [esp+10]

:00439D3A 52 push edx

:00439D3B 8D442424 lea eax, dword ptr [esp+24]

:00439D3F 50 push eax

:00439D40 E8AB7CFDFF call 004119F0 <--按F8进入

:00439D45 83F803 cmp eax, 00000003

:00439D48 7737 ja 00439D81

:00439D4A FF2485189E4300 jmp dword ptr [4*eax+00439E18]

:00439D51 6A01 push 00000001

:00439D53 8BCD mov ecx, ebp

进入后再一直按F10到下面这个地方:

* Referenced by a CALL at Address:

|:00439D40

|

:004119F0 8B442408 mov eax, dword ptr [esp+08]

:004119F4 56 push esi

:004119F5 57 push edi

:004119F6 6A01 push 00000001

:004119F8 8BF9 mov edi, ecx

:004119FA 8B4C2410 mov ecx, dword ptr [esp+10]

:004119FE 50 push eax

:004119FF 51 push ecx

:00411A00 8BCF mov ecx, edi

:00411A02 E839030000 call 00411D40 <--按F8进入

:00411A07 8BF0 mov esi, eax

:00411A09 85F6 test esi, esi

:00411A0B 7507 jne 00411A14

:00411A0D 8BCF mov ecx, edi

:00411A0F E8ACFEFFFF call 004118C0

进入后再一直按F10到下面这个地方:

* Possible StringData Ref from Code Obj ->"竴 j"

|

:00411D42 68E2186600 push 006618E2

:00411D47 64A100000000 mov eax, dword ptr fs:[00000000]

:00411D4D 50 push eax

:00411D4E 64892500000000 mov dword ptr fs:[00000000], esp

:00411D55 83EC24 sub esp, 00000024

:00411D58 53 push ebx

:00411D59 56 push esi

:00411D5A 8BF1 mov esi, ecx

:00411D5C 57 push edi

:00411D5D 8974240C mov dword ptr [esp+0C], esi

:00411D61 E8CA21FFFF call 00403F30

:00411D66 8B00 mov eax, dword ptr [eax]

:00411D68 33DB xor ebx, ebx

:00411D6A 3BC3 cmp eax, ebx

:00411D6C 0F85E6010000 jne 00411F58

:00411D72 8B7C2444 mov edi, dword ptr [esp+44]

:00411D76 57 push edi

:00411D77 8BCE mov ecx, esi

:00411D79 E8A2FCFFFF call 00411A20 <--按F8进入

:00411D7E 84C0 test al, al

:00411D80 0F84B9010000 je 00411F3F

:00411D86 385C2448 cmp byte ptr [esp+48], bl

:00411D8A 0F848C010000 je 00411F1C

:00411D90 8B5704 mov edx, dword ptr [edi+04]

:00411D93 3BD3 cmp edx, ebx

:00411D95 7506 jne 00411D9D

进入后再一直按F10到下面这个地方:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00411A84(C)

|

:00411AA6 8B4C2410 mov ecx, dword ptr [esp+10]

:00411AAA 8B4904 mov ecx, dword ptr [ecx+04]

:00411AAD 8B11 mov edx, dword ptr [ecx]

:00411AAF 8D442414 lea eax, dword ptr [esp+14]

:00411AB3 50 push eax

:00411AB4 895C2430 mov dword ptr [esp+30], ebx

:00411AB8 FF520C call [edx+0C] <--按F8进入

:00411ABB 8AD8 mov bl, al

:00411ABD 8B442418 mov eax, dword ptr [esp+18]

:00411AC1 85C0 test eax, eax

:00411AC3 5F pop edi

:00411AC4 5D pop ebp

:00411AC5 741C je 00411AE3

:00411AC7 8D48FF lea ecx, dword ptr [eax-01]

:00411ACA 8A01 mov al, byte ptr [ecx]

:00411ACC 84C0 test al, al

:00411ACE 740A je 00411ADA

:00411AD0 3CFF cmp al, FF

:00411AD2 7406 je 00411ADA

:00411AD4 FEC8 dec al

:00411AD6 8801 mov byte ptr [ecx], al

:00411AD8 EB09 jmp 00411AE3

进入后再一直按F10到下面这个地方:

* Reference To: MFC42.Ordinal:0337, Ord:0337h

|

:005FE0E4 E87F290000 Call 00600A68

:005FE0E9 83C404 add esp, 00000004

:005FE0EC 8D542450 lea edx, dword ptr [esp+50]

:005FE0F0 52 push edx

:005FE0F1 6A14 push 00000014

:005FE0F3 50 push eax

:005FE0F4 8D4C241C lea ecx, dword ptr [esp+1C]

:005FE0F8 89442420 mov dword ptr [esp+20], eax

:005FE0FC E8AFA9F9FF call 00598AB0

:005FE101 8B442414 mov eax, dword ptr [esp+14]

:005FE105 83C050 add eax, 00000050

:005FE108 89442418 mov dword ptr [esp+18], eax

:005FE10C 8944241C mov dword ptr [esp+1C], eax

:005FE110 8D4C2410 lea ecx, dword ptr [esp+10]

:005FE114 51 push ecx

:005FE115 8D542434 lea edx, dword ptr [esp+34]

:005FE119 52 push edx

:005FE11A 8D442428 lea eax, dword ptr [esp+28]

:005FE11E 50 push eax

:005FE11F 8BCE mov ecx, esi

:005FE121 C644245402 mov [esp+54], 02

:005FE126 E8450A0000 call 005FEB70 <--把注册码的每个字符(除开"-")与密码表中的字符比较,

:005FE12B 84C0 test al, al 求出该字符在密码表中的序号。

:005FE12D 755B jne 005FE18A <--跳至注册码计算部分

:005FE12F 8B4C2418 mov ecx, dword ptr [esp+18]

:005FE133 8B542414 mov edx, dword ptr [esp+14]

:005FE137 51 push ecx

:005FE138 52 push edx

:005FE139 8D4C2418 lea ecx, dword ptr [esp+18]

:005FE13D C644245001 mov [esp+50], 01

:005FE142 E849ADE6FF call 00468E90

:005FE147 8B442414 mov eax, dword ptr [esp+14]

:005FE14B 50 push eax

以下为注册码计算部分:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:005FE12D(C)

|

:005FE18A 8B4C2414 mov ecx, dword ptr [esp+14] <--[ECX]="12345678900987654321"中每个

字符在密码表中的序号,每个占4个字节

:005FE18E 8B5108 mov edx, dword ptr [ecx+08]

:005FE191 8B410C mov eax, dword ptr [ecx+0C]

:005FE194 8B6904 mov ebp, dword ptr [ecx+04]

:005FE197 8B742428 mov esi, dword ptr [esp+28] <--ESI为密码表的长度,即21h

:005FE19B 03C2 add eax, edx

:005FE19D 8B11 mov edx, dword ptr [ecx]

:005FE19F 03C5 add eax, ebp

:005FE1A1 03C2 add eax, edx

:005FE1A3 33D2 xor edx, edx

:005FE1A5 F7F6 div esi

:005FE1A7 8B5910 mov ebx, dword ptr [ecx+10]

:005FE1AA 3BDA cmp ebx, edx

:005FE1AC 0F8510010000 jne 005FE2C2 <--这个和以下的JNE都不能跳转,否则GAME OVER

:005FE1B2 8B511C mov edx, dword ptr [ecx+1C]

:005FE1B5 8B4120 mov eax, dword ptr [ecx+20]

:005FE1B8 8B5918 mov ebx, dword ptr [ecx+18]

:005FE1BB 03C2 add eax, edx

:005FE1BD 8B5114 mov edx, dword ptr [ecx+14]

:005FE1C0 03C3 add eax, ebx

:005FE1C2 03C2 add eax, edx

:005FE1C4 33D2 xor edx, edx

:005FE1C6 F7F6 div esi

:005FE1C8 8B6924 mov ebp, dword ptr [ecx+24]

:005FE1CB 3BEA cmp ebp, edx

:005FE1CD 0F85EF000000 jne 005FE2C2

:005FE1D3 8B5130 mov edx, dword ptr [ecx+30]

:005FE1D6 8B4134 mov eax, dword ptr [ecx+34]

:005FE1D9 03C2 add eax, edx

:005FE1DB 03412C add eax, dword ptr [ecx+2C]

:005FE1DE 034128 add eax, dword ptr [ecx+28]

:005FE1E1 33D2 xor edx, edx

:005FE1E3 F7F6 div esi

:005FE1E5 8B5938 mov ebx, dword ptr [ecx+38]

:005FE1E8 3BDA cmp ebx, edx

:005FE1EA 0F85D2000000 jne 005FE2C2

:005FE1F0 8B5110 mov edx, dword ptr [ecx+10]

:005FE1F3 8D042B lea eax, dword ptr [ebx+ebp]

:005FE1F6 03C2 add eax, edx

:005FE1F8 33D2 xor edx, edx

:005FE1FA F7F6 div esi

:005FE1FC 8B793C mov edi, dword ptr [ecx+3C]

:005FE1FF 3BFA cmp edi, edx

:005FE201 0F85B9000000 jne 005FE2C0

:005FE207 8B5124 mov edx, dword ptr [ecx+24]

:005FE20A 8D041F lea eax, dword ptr [edi+ebx]

:005FE20D 03C2 add eax, edx

:005FE20F 33D2 xor edx, edx

:005FE211 F7F6 div esi

:005FE213 8B6940 mov ebp, dword ptr [ecx+40]

:005FE216 3BEA cmp ebp, edx

:005FE218 0F85A2000000 jne 005FE2C0

:005FE21E 8D042F lea eax, dword ptr [edi+ebp]

:005FE221 03C3 add eax, ebx

:005FE223 33D2 xor edx, edx

:005FE225 F7F6 div esi

:005FE227 8B5944 mov ebx, dword ptr [ecx+44]

:005FE22A 3BDA cmp ebx, edx

:005FE22C 0F858E000000 jne 005FE2C0

:005FE232 8D042B lea eax, dword ptr [ebx+ebp]

:005FE235 03C7 add eax, edi

:005FE237 33D2 xor edx, edx

:005FE239 F7F6 div esi

:005FE23B 8B4148 mov eax, dword ptr [ecx+48]

:005FE23E 3BC2 cmp eax, edx

:005FE240 757E jne 005FE2C0

:005FE242 03C3 add eax, ebx

:005FE244 03C5 add eax, ebp

:005FE246 33D2 xor edx, edx

:005FE248 F7F6 div esi

:005FE24A 39514C cmp dword ptr [ecx+4C], edx

:005FE24D 7571 jne 005FE2C0

:005FE24F 51 push ecx

标 题:3DMark2001注册机源代码(C++ Build 5.0编译通过) (1千字)

发信人:时空幻影

时 间:2001-4-18 14:37:05

详细信息:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

AnsiString Passcode="ABCDEFHJKLMNPQRSTUVWXYZ0123456789";

AnsiString r;

AnsiString s1,s2,s3,s4;

int i,k,t1,t2,t3,m[5];

if (Edit1->Text=="") r="shikonghuanying@sina.com";

else

{

r=Edit1->Text.Delete(6,2);

r=r.Delete(11,2);

r=r.Delete(16,2);

r=r.Delete(3,1);

}

for (i=1,t1=0;i<5;i++)

{

k=int(r[i])%0x21;

t1=t1+k;

s1=s1+Passcode[k+1];

}

s1=s1+Passcode[t1%0x21+1];

for (i=6,t2=0;i<10;i++)

{

k=int(r[i])%0x21;

t2=t2+k;

s2=s2+Passcode[k+1];

}

s2=s2+Passcode[t2%0x21+1];

for (i=11,t3=0;i<15;i++)

{

k=int(r[i])%0x21;

t3=t3+k;

s3=s3+Passcode[k+1];

}

s3=s3+Passcode[t3%0x21+1];

m[0]=(t1+t2+t3)%0x21;

m[1]=(t2+t3+m[0])%0x21;

m[2]=(t3+m[0]+m[1])%0x21;

m[3]=(m[0]+m[1]+m[2])%0x21;

m[4]=(m[1]+m[2]+m[3])%0x21;

s4+=Passcode[m[0]+1];

s4+=Passcode[m[1]+1];

s4+=Passcode[m[2]+1];

s4+=Passcode[m[3]+1];

s4+=Passcode[m[4]+1];

Edit1->Text=s1+"-"+s2+"-"+s3+"-"+s4;

}

//---------------------------------------------------------------------------

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

相关文章:

·关于注册Flag在破解中的应用

·从轻松试卷 v4.03 的破解看 r fl z 的妙用

·破解圣经之------滚瓜烂熟篇

·破解API Spy for Windows 95/98/NT/2000

·chm帮助编辑器v2.6 注册码破解详谈之一*脱壳篇*

·破解NetAlert v2 [热点] 指导如何自动脱壳!!

·破解的理由

·对于破解的一些想法

·Audio Converter 3.0 破解要点

·破解 Matcom 4.0 for BC

相关软件:

·美萍安全卫士密码破解器 3.0+

·网文快爪 v1.0 破解版

·坏猫网页编辑 v2.0完整版破解文件

·pakmarker1.0破解版

·IE Plus!破解版

·邮件服务器2.6+破解版

·登录奇兵 3.01破解文件

·易思多媒体网络教室-4用户演示版破解文件

·网络三国智能机器人1.0.0.101版破解

·网络三国智能机器人1.0.0.103版破解

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

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

Powered

by:MeSky.Net

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

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

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