- UID
- 238
注册时间2005-2-28
阅读权限20
最后登录1970-1-1
以武会友
TA的每日心情 | 开心 2020-3-30 17:42 |
---|
签到天数: 5 天 [LV.2]偶尔看看I
|
土问怎么写注册机
【破解作者】 云瑞
【作者邮箱】 [email protected]
【使用工具】 FEID0.92汉化版,DEDE3.20,C32ASM0.412,OLLYDBG1.10B汉化版.aspackdie1.2.1.3
【破解平台】 WIN XP SP2
【软件名称】 Delphi Trace Viewer1.20
【软件简介】 一个delphi 语言的查看工具,不过好像没DEDE好,^_^◎ Delphi Trace Viewer是应用于Borland Delphi的调试工具,它能自动记录程序员写在程序中的日志,对程序的压力测试有极大的帮助。它能从日志自动的跳转到你的程序代码行,极大的方便错误的的查找及修改。
【软件大小】5.38M
【加壳方式】 ASPack 2.001 -> Alexey Solodovnikov
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
【破解内容】
首先,用PEID0.92查看一下Delphi Trace Viewer1.20是用何种语言写的?是ASPack 2.001 -> Alexey Solodovnikov,用aspackdie1.2.1.3脱壳.然后再查看语言类型,是Borland Delphi 6.0 - 7.0 [Overlay]写的,现在用DEDE 打开,查看一下!然后点处理,过程,在事件的AboutFRM双击,看到btnRegclick(注册按钮)00519740双击,我认为这个是注册按钮!(个人认为这个和VB很相似!本人不会DELPHI!只会TC:(!刚开始学习vb)果然,来到如下代码处下面代码做了初步分析!
* Reference to control edtRN : TsuiEdit
|
00519800 8B832C030000 mov eax, [ebx+$032C]
* Reference to: controls.TControl.GetText(TControl):System.String;
|
00519806 E8FD49F5FF call 0046E208
0051980B 8B45F0 mov eax, [ebp-$10]
0051980E 8BD6 mov edx, esi
|
00519810 E89B7BFEFF call 005013B0
00519815 84C0 test al, al
00519817 7569 jnz 00519882
00519819 6A10 push $10
0051981B 8D4DEC lea ecx, [ebp-$14]
0051981E A130045200 mov eax, dword ptr [$00520430]
00519823 8B00 mov eax, [eax]
00519825 8B80A0030000 mov eax, [eax+$03A0]
* Possible String Reference to: 'IDS_MC_ERROR'
|
0051982B BA70995100 mov edx, $00519970
|
00519830 E89BC7FCFF call 004E5FD0
00519835 8B45EC mov eax, [ebp-$14]
* Reference to: system.@LStrToPChar;
|
00519838 E8ABBAEEFF call 004052E8
0051983D 50 push eax
0051983E 8D4DE8 lea ecx, [ebp-$18]
00519841 A130045200 mov eax, dword ptr [$00520430]我觉得此处是关键,所以对这里下的断点
00519846 8B00 mov eax, [eax] 我下的另一个断点
00519848 8B80A0030000 mov eax, [eax+$03A0] 第三个断点(其实没必要这样作!)
* Possible String Reference to: 'IDS_INVALIDRN'------------ 无效的授权号
|
0051984E BAA0995100 mov edx, $005199A0 { 注册失败 }
|
00519853 E878C7FCFF call 004E5FD0
00519858 8B45E8 mov eax, [ebp-$18]
* Reference to: system.@LStrToPChar;
|
0051985B E888BAEEFF call 004052E8
00519860 8BD0 mov edx, eax
00519862 A174055200 mov eax, dword ptr [$00520574]
00519867 8B00 mov eax, [eax]
00519869 59 pop ecx
* Reference to : TApplication._PROC_0048EAAC()
|
0051986A E83D52F7FF call 0048EAAC
* Reference to control edtRN : TsuiEdit
|
0051986F 8B832C030000 mov eax, [ebx+$032C]
00519875 8B10 mov edx, [eax]
00519877 FF92C4000000 call dword ptr [edx+$00C4]
0051987D E988000000 jmp 0051990A
00519882 8D55E4 lea edx, [ebp-$1C]
* Reference to control edtRN : TsuiEdit
|
00519885 8B832C030000 mov eax, [ebx+$032C]
* Reference to: controls.TControl.GetText(TControl):System.String;
|
0051988B E87849F5FF call 0046E208
00519890 8B45E4 mov eax, [ebp-$1C]
00519893 8BD6 mov edx, esi
|
00519895 E8027CFEFF call 0050149C
0051989A 6A40 push $40
0051989C 8D4DE0 lea ecx, [ebp-$20]
0051989F A130045200 mov eax, dword ptr [$00520430]
005198A4 8B00 mov eax, [eax]
005198A6 8B80A0030000 mov eax, [eax+$03A0]
* Possible String Reference to: 'IDS_MC_INFO'
|
005198AC BAB8995100 mov edx, $005199B8
|
005198B1 E81AC7FCFF call 004E5FD0
005198B6 8B45E0 mov eax, [ebp-$20]
* Reference to: system.@LStrToPChar;
|
005198B9 E82ABAEEFF call 004052E8
005198BE 50 push eax
005198BF 8D4DDC lea ecx, [ebp-$24]
005198C2 A130045200 mov eax, dword ptr [$00520430]
005198C7 8B00 mov eax, [eax]
005198C9 8B80A0030000 mov eax, [eax+$03A0]
* Possible String Reference to: 'IDS_REGOK'----我认为是REGISTED OK!的缩写,嘿嘿!蒙对了!
|
005198CF BACC995100 mov edx, $005199CC { 注册成功 }
|
005198D4 E8F7C6FCFF call 004E5FD0
005198D9 8B45DC mov eax, [ebp-$24]
* Reference to: system.@LStrToPChar;
|
005198DC E807BAEEFF call 004052E8
005198E1 8BD0 mov edx, eax
005198E3 A174055200 mov eax, dword ptr [$00520574]
005198E8 8B00 mov eax, [eax]
005198EA 59 pop ecx
* Reference to : TApplication._PROC_0048EAAC()
|
005198EB E8BC51F7FF call 0048EAAC
* Reference to control edtRN : TsuiEdit
|
005198F0 8B832C030000 mov eax, [ebx+$032C]
005198F6 B201 mov dl, $01
* Reference to : TComboBoxStrings._PROC_00464D54()
|
005198F8 E857B4F4FF call 00464D54
* Reference to control btnReg : TFlatButton---------------注册按钮,很象VB,^_^
|
005198FD 8B8330030000 mov eax, [ebx+$0330] { 注册按钮 }
00519903 33D2 xor edx, edx
00519905 8B08 mov ecx, [eax]
00519907 FF5164 call dword ptr [ecx+$64]
0051990A 33C0 xor eax, eax
0051990C 5A pop edx
0051990D 59 pop ecx
0051990E 59 pop ecx
0051990F 648910 mov fs:[eax], edx
然后用OLLyDBG打开Delphi Trace Viewer1.20,在00519846处下断,然后F9,运行Delphi Trace Viewer1.20,然后输入任意的注册码我写的是777AAA,然后,点注册,这样你就会被断下来!到OLLYDBG的堆栈窗口去搜索,耐心一点,你就会发现777AAA和一个UNICODE宽字符出现的很多,我的机器是0320A12D0E84CBCE,这个与其的序列号与机器码有关
我的序列号是1307702409,机器码为274918939,你在堆栈中也可以找到自己的机器码和序列号,但你要找的是授权号
在其中一处,我发现777AAA和0320A12D0E84CBCE同时出现,所以猜测其就是授权码,试试,ok!我成功的注册了! 959595 40AF6BC07A701F2F (第二次破解)
后来跟踪发现在00501449 8D55 EC,第一次出现注册码。可以在那里下断。在内存中出现40AF6BC07A701F2F 在0012F6FC。
--------------------------------------------------------------------------------
【破解总结】
用DEDE静态编译,然后用OLLYDBG动态编译!(我不喜欢SOFTICE,不过你可以用它试试!应该能找出授权号的!)这个是我第一个追出注册码的DELPHI程序,上次爆破了一个,嘿嘿!破解程度??简单吧,因为我很菜呀!你也来试试??!!有什么号的程序,也告诉我哦,你要是有注册机,也送我一个哦?^_^
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
40AF6BC07A701F2F 0012F6FC |
|