求教!这个注册机怎么写?
土问怎么写注册机【破解作者】 云瑞
【作者邮箱】 [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 写的,现在用DEDE 打开,查看一下!然后点处理,过程,在事件的AboutFRM双击,看到btnRegclick(注册按钮)00519740双击,我认为这个是注册按钮!(个人认为这个和VB很相似!本人不会DELPHI!只会TC:(!刚开始学习vb)果然,来到如下代码处下面代码做了初步分析!
* Reference to control edtRN : TsuiEdit
|
00519800 8B832C030000 mov eax,
* Reference to: controls.TControl.GetText(TControl):System.String;
|
00519806 E8FD49F5FF call 0046E208
0051980B 8B45F0 mov eax,
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,
0051981E A130045200 mov eax, dword ptr [$00520430]
00519823 8B00 mov eax,
00519825 8B80A0030000 mov eax,
* Possible String Reference to: 'IDS_MC_ERROR'
|
0051982B BA70995100 mov edx, $00519970
|
00519830 E89BC7FCFF call 004E5FD0
00519835 8B45EC mov eax,
* Reference to: system.@LStrToPChar;
|
00519838 E8ABBAEEFF call 004052E8
0051983D 50 push eax
0051983E 8D4DE8 lea ecx,
00519841 A130045200 mov eax, dword ptr [$00520430]我觉得此处是关键,所以对这里下的断点
00519846 8B00 mov eax, 我下的另一个断点
00519848 8B80A0030000 mov eax, 第三个断点(其实没必要这样作!)
* Possible String Reference to: 'IDS_INVALIDRN'------------ 无效的授权号
|
0051984E BAA0995100 mov edx, $005199A0 { 注册失败 }
|
00519853 E878C7FCFF call 004E5FD0
00519858 8B45E8 mov eax,
* Reference to: system.@LStrToPChar;
|
0051985B E888BAEEFF call 004052E8
00519860 8BD0 mov edx, eax
00519862 A174055200 mov eax, dword ptr [$00520574]
00519867 8B00 mov eax,
00519869 59 pop ecx
* Reference to : TApplication._PROC_0048EAAC()
|
0051986A E83D52F7FF call 0048EAAC
* Reference to control edtRN : TsuiEdit
|
0051986F 8B832C030000 mov eax,
00519875 8B10 mov edx,
00519877 FF92C4000000 call dword ptr
0051987D E988000000 jmp 0051990A
00519882 8D55E4 lea edx,
* Reference to control edtRN : TsuiEdit
|
00519885 8B832C030000 mov eax,
* Reference to: controls.TControl.GetText(TControl):System.String;
|
0051988B E87849F5FF call 0046E208
00519890 8B45E4 mov eax,
00519893 8BD6 mov edx, esi
|
00519895 E8027CFEFF call 0050149C
0051989A 6A40 push $40
0051989C 8D4DE0 lea ecx,
0051989F A130045200 mov eax, dword ptr [$00520430]
005198A4 8B00 mov eax,
005198A6 8B80A0030000 mov eax,
* Possible String Reference to: 'IDS_MC_INFO'
|
005198AC BAB8995100 mov edx, $005199B8
|
005198B1 E81AC7FCFF call 004E5FD0
005198B6 8B45E0 mov eax,
* Reference to: system.@LStrToPChar;
|
005198B9 E82ABAEEFF call 004052E8
005198BE 50 push eax
005198BF 8D4DDC lea ecx,
005198C2 A130045200 mov eax, dword ptr [$00520430]
005198C7 8B00 mov eax,
005198C9 8B80A0030000 mov eax,
* Possible String Reference to: 'IDS_REGOK'----我认为是REGISTED OK!的缩写,嘿嘿!蒙对了!
|
005198CF BACC995100 mov edx, $005199CC { 注册成功 }
|
005198D4 E8F7C6FCFF call 004E5FD0
005198D9 8B45DC mov eax,
* Reference to: system.@LStrToPChar;
|
005198DC E807BAEEFF call 004052E8
005198E1 8BD0 mov edx, eax
005198E3 A174055200 mov eax, dword ptr [$00520574]
005198E8 8B00 mov eax,
005198EA 59 pop ecx
* Reference to : TApplication._PROC_0048EAAC()
|
005198EB E8BC51F7FF call 0048EAAC
* Reference to control edtRN : TsuiEdit
|
005198F0 8B832C030000 mov eax,
005198F6 B201 mov dl, $01
* Reference to : TComboBoxStrings._PROC_00464D54()
|
005198F8 E857B4F4FF call 00464D54
* Reference to control btnReg : TFlatButton---------------注册按钮,很象VB,^_^
|
005198FD 8B8330030000 mov eax, { 注册按钮 }
00519903 33D2 xor edx, edx
00519905 8B08 mov ecx,
00519907 FF5164 call dword ptr
0051990A 33C0 xor eax, eax
0051990C 5A pop edx
0051990D 59 pop ecx
0051990E 59 pop ecx
0051990F 648910 mov fs:, edx
然后用OLLyDBG打开Delphi Trace Viewer1.20,在00519846处下断,然后F9,运行Delphi Trace Viewer1.20,然后输入任意的注册码我写的是777AAA,然后,点注册,这样你就会被断下来!到OLLYDBG的堆栈窗口去搜索,耐心一点,你就会发现777AAA和一个UNICODE宽字符出现的很多,我的机器是0320A12D0E84CBCE,这个与其的序列号与机器码有关
我的序列号是1307702409,机器码为274918939,你在堆栈中也可以找到自己的机器码和序列号,但你要找的是授权号
在其中一处,我发现777AAA和0320A12D0E84CBCE同时出现,所以猜测其就是授权码,试试,ok!我成功的注册了! 95959540AF6BC07A701F2F (第二次破解)
后来跟踪发现在00501449 8D55 EC,第一次出现注册码。可以在那里下断。在内存中出现40AF6BC07A701F2F 在0012F6FC。
--------------------------------------------------------------------------------
【破解总结】
用DEDE静态编译,然后用OLLYDBG动态编译!(我不喜欢SOFTICE,不过你可以用它试试!应该能找出授权号的!)这个是我第一个追出注册码的DELPHI程序,上次爆破了一个,嘿嘿!破解程度??简单吧,因为我很菜呀!你也来试试??!!有什么号的程序,也告诉我哦,你要是有注册机,也送我一个哦?^_^
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
40AF6BC07A701F2F 0012F6FC 已经很厉害了 时间好像好长了。。
页:
[1]