`
ww2
  • 浏览: 416030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用Dede破解Delphi软件实战

阅读更多

昨日练习了一把如何破解Delphi软件。下面和大家分享一下破解的过程,对初学者,希望有授之以渔的作用。

首先分析我们的目标软件,不要问我破解的是什么软件。保护知识产权,要从娃娃抓取。

目标软件是一个销售系统,它有时间限制,安装完成后可以正常运行,把系统时间调后一年,软件不能正常执行,再把系统时间调回,效果依然一样。

在使用过期软件时,系统依然能够登陆,但是在点击菜单的时候,弹出您使用的软件已经过期的字样。

下手:

1.观察程序的目录结构,程序主要就是一个exe文件,其余有两个ddl,察看属性,是borland公司的。

2.使用UltraEdit打开这个软件的主执行文件,看看头部,没有加壳。看看中间的资源代码,出现TLabel等开头的字符,显然该软件是Delphi开发的

3.使用Dede打开这个软件的exe文件,进行分析和二次详细分析。

4我们知道,在登陆过程中显然没有进行过期验证,而是在菜单的表单弹出来之前验证的,目标明确,我们直奔主Form文件。打开窗体标签,从中发现了TMainForm,在右边的代码中我们看到了工具栏常见的代码

object ToolButton4: TToolButton
        Left = 124
        Top = 0
        Cursor = crHandPoint
        Hint = '客户资料管理'
        Caption = 'ToolButton4'
        ImageIndex = 4
        OnClick = ToolButton4Click
      end

我们从中选取几个按钮的事件。例如 OnClick = ToolButton4Click 和OnClick = ToolButton5Click

5。进入过程标签,从里面选取MainFormUnit,在右边的事件地址列表中找到我们刚才选取的ToolButton4Click,ToolButton5Click,点击右键,反汇编。生成的代码均包含这样一段

* Reference to : TMainForm.Proc_005FA21C()
|
005FABB4   E863F6FFFF             call    005FA21C
005FABB9   84C0                   test    al, al
005FABBB   0F85B3000000           jnz     005FAC74

在这里,如果jnz跳转了,那么整个过程就结束了,毫无疑问,jnz上面的call就是进行验证的地方。

双击这个call,我们跟踪进去。没有什么特别的地方,但是发现这样的代码

* Possible String Reference to: '当数据备份与恢复窗口打开时,不能打开
|                                其它的窗口'
|
005FA24B   BA64A25F00             mov     edx, $005FA264


也就是说这个全局函数在检验是否过期之后,还进行其他的合法性检查,如果察看其他的click事件,会发现还有一些用户权限的检查。那么我们往上找

* Reference to : THYMain._PROC_00547434()
|
005FA228   E807D2F4FF             call    00547434
005FA22D   84C0                   test    al, al
005FA22F   7404                   jz      005FA235
005FA231   B301                   mov     bl, $01
005FA233   EB22                   jmp     005FA257
 

这个00547434,如果执行后没问题,jz才可以继续执行。可疑,我们继续跟踪进去,双击该函数

奇迹发生了,我们看到了什么?

* Possible String Reference to: '您使用的软件是试用版,试用期限将到?
|                                绻绦褂茫肽胛颐橇担?
|                                购买软件的使用权限。不然将影响您的?
|                                ぷ?您已输入的数据不会丢失,注册后?
|                                杉绦褂?'
|
00547457   BAA8745400             mov     edx, $005474A8


显然,这个函数就是判断过期的地方,一旦过期就会发出警告窗口。

地方找到了,我们仔细分析一下他的结构,有两个地方可以发生检查

00547434   53                     push    ebx
00547435   56                     push    esi
00547436   8BF0                   mov     esi, eax
00547438   33DB                   xor     ebx, ebx

* Reference to field THYMain.OFFS_003C
|
0054743A   837E3C02               cmp     dword ptr [esi+$3C], +$02
0054743E   7407                   jz      00547447
00547440   8BC6                   mov     eax, esi

* Reference to: HYMainUnit.Proc_00545E00
|
00547442   E8B9E9FFFF             call    00545E00

* Reference to field THYMain.OFFS_003C
|
00547447   837E3C01               cmp     dword ptr [esi+$3C], +$01
0054744B   7522                   jnz     0054746F

* Reference to TApplication instance
|
0054744D   A138316000             mov     eax, dword ptr [$00603138]
00547452   8B00                   mov     eax, [eax]

* Reference to field TApplication.Handle : HWnd
|
00547454   8B4024                 mov     eax, [eax+$24]

* Possible String Reference to: '您使用的软件是试用版,试用期限将到?
|                                绻绦褂茫肽胛颐橇担?
|                                购买软件的使用权限。不然将影响您的?
|                                ぷ?您已输入的数据不会丢失,注册后?
|                                杉绦褂?'
|
00547457   BAA8745400             mov     edx, $005474A8

* Reference to: Unit_00500794.Proc_00500ED4
|
0054745C   E8739AFBFF             call    00500ED4
00547461   33D2                   xor     edx, edx

* Reference to field THYMain.OFFS_00C4
|
00547463   8B86C4000000           mov     eax, [esi+$00C4]

* Possible reference to virtual method THYMain.OFFS_00C0
|
00547469   FF96C0000000           call    dword ptr [esi+$00C0]

* Reference to field THYMain.OFFS_003C
|
0054746F   837E3C02               cmp     dword ptr [esi+$3C], +$02
00547473   7524                   jnz     00547499

* Reference to TApplication instance
|
00547475   A138316000             mov     eax, dword ptr [$00603138]
0054747A   8B00                   mov     eax, [eax]

* Reference to field TApplication.Handle : HWnd
|
0054747C   8B4024                 mov     eax, [eax+$24]

* Possible String Reference to: '您使用的软件是试用版,如果您要继续?
|                                褂茫肽胛颐橇担郝蛉砑氖褂?
|                                权限(您已输入的数据不会丢失,注册后
|                                可继续使用)'
|
0054747F   BA48755400             mov     edx, $00547548

* Reference to: Unit_00500794.Proc_00500ED4
|
00547484   E84B9AFBFF             call    00500ED4
00547489   33D2                   xor     edx, edx

* Reference to field THYMain.OFFS_00C4
|
0054748B   8B86C4000000           mov     eax, [esi+$00C4]

* Possible reference to virtual method THYMain.OFFS_00C0
|
00547491   FF96C0000000           call    dword ptr [esi+$00C0]
00547497   B301                   mov     bl, $01
00547499   8BC3                   mov     eax, ebx
0054749B   5E                     pop     esi
0054749C   5B                     pop     ebx
0054749D   C3                     ret

一个是0054744B jnz 0054746F

另一个是00547473 jnz 00547499

显然,下面要做的不用说了吧,就是75->EB的工作了,呵呵。总算舒了一口气,

6.注意哦,这里的地址都是相对地址,Dede提供了一个转到物理地址的工具,在工具菜单里面。我们使用它得到这两句的物理地址是0014684B,00146873

7不用多了,打开UltraEdit,找到这两个地址。做你该做的事!

后记:本科苦学汇编语言,今天总算发挥了点作用,不知道是欣慰呢,还是无奈!

分享到:
评论

相关推荐

    DEDEdelphi反编译软件_decompiler_delphi_delphidede_dede_delphidecompil

    《深入理解DEDE Delphi反编译软件:揭示Delphi程序的秘密》 在软件开发的世界里,逆向工程是一项至关重要的技术,它可以帮助开发者理解已有的程序代码,从而进行学习、调试或者改进。DEDE Delphi反编译软件,作为一...

    delphi反编译工具 dede3.99(支持64位)

    Dede3.99是一款专门针对Delphi编译器的反编译软件,其主要功能是能够将已编译的Delphi可执行文件转换回源代码形式。这个工具的亮点在于它支持64位系统,这意味着它可以处理在Windows 7、Windows 8和Windows 10上运行...

    DeDe V3.50.02 (DELPHI反编译工具)

    总的来说,DeDe V3.50.02不仅是DELPHI程序员的强大辅助工具,也是软件逆向工程和教学研究的重要资源。它提供的反编译功能,以及包含的源代码,都为开发者深入理解DELPHI程序的工作机制提供了窗口,促进了技术的学习...

    dede 3.5 Delphi反编译

    而"dede 3.5 Delphi反编译"这个主题涉及到的是对使用Delphi编写的应用程序进行逆向工程的过程,目的是为了理解其内部工作原理或者获取源代码。 反编译是软件逆向工程的一部分,它是指将已编译的可执行文件转换回源...

    delphi dede.5

    Delphi 是一款强大的集成开发环境(IDE),由Embarcadero Technologies公司开发,主要用于编写Windows...对于进一步的学习和开发,了解Delphi的语法、VCL组件的使用以及如何利用Delphi的特性进行高效编程是至关重要的。

    delphi反编译文件(带可执行程序DEDE)

    2. **Delphi编程**:了解Delphi的基本语法、对象导向特性以及VCL框架对于正确理解和使用DEDE至关重要。VCL提供了丰富的预定义组件,使得开发者可以快速构建应用程序。 3. **逆向工程**:逆向工程是软件开发中的一个...

    DeDe Delphi反汇编软件

    将Delphi编译的Exe反汇编成Delphi源程序,效果还不错,dfm可以弄出来,不过 Pas里还是ASM,对于研究破解还是很有用的

    DeDeDark Delphi exe 反编译软件 3.50.4

    《DeDeDark Delphi EXE 反编译软件 3.50.4:深入理解与应用探索》 DeDeDark是一款专为DELPHI程序设计的反编译工具,其3.50.4版本以其多语言界面,尤其是包含中文,以及对D7版本的支持,受到了广大开发者的欢迎。在...

    delphi反编译工具dede

    Delphi反编译工具Dede是一款专为Delphi编译的可执行程序(exe)设计的逆向工程软件。在IT行业中,逆向工程是一种技术手段,用于分析已编译的程序,以揭示其内部结构、工作原理和实现细节。这对于软件开发者来说,...

    Dede(反汇编Delphi)

    将Delphi编译的Exe反汇编成Delphi源程序,效果还不错,dfm可以弄出来,不过 Pas里还是ASM,对于研究破解还是很有用的 What is DeDe? ------------- DeDe is a very fast program that can analize executables compiled ...

    破解常用工具五合一(dede,od,peido,exescope,rescope)

    反编译dede,查壳peido,脱壳od,查exe和dll文件的exescope,rescope,皆是常用工具。 附带某些文件在dede使用时出现stream read error解决说明。

    dede dephi反编译exe最新版(非一般人仅源码)

    标题中的“dede dephi反编译exe最新版”指的是使用DeDe,一个基于Delphi开发的反编译工具,用于解析和理解EXE可执行文件的内部结构。Delphi是一种流行的面向对象的Pascal编程语言,常用于创建Windows应用程序。反...

    Delphi反编译工具及汉字unicode转换器

    本文将深入探讨Delphi反编译工具DeDe以及汉字Unicode转换器,它们在软件逆向工程中的应用。 首先,Delphi是一种基于Object Pascal的集成开发环境(IDE),广泛用于Windows应用程序的开发。它的编译器能将源代码编译...

    DeDe_3.5 delphi 反编译

    总的来说,"DeDe_3.5" 提供了一种有效的手段来理解和研究Delphi编译后的代码,这对于软件开发者、安全研究人员以及教学者来说具有很高的价值。它揭示了Delphi程序的内部工作原理,帮助我们更好地理解和利用这些程序...

    Dede Delphi反编译器 及其源码

    总之,Dede Delphi反编译器是一个强大的工具,可以帮助开发者深入理解Delphi程序的内部运作,但同时也需要注意其可能带来的法律风险。"vcl6.dsf"文件则揭示了Delphi的VCL组件库,是Delphi开发的重要资源。对于希望...

    最强大的delphi反汇编工具

    在实际应用中,这类工具通常由安全专家、软件开发者和逆向工程师使用,他们在处理Delphi编译的软件时,会依赖这类工具来洞察程序的内部运作,进行故障排查、性能优化或者安全评估。 总之,"最强大的Delphi反汇编...

    不错的delphi反编译软件

    此外,由于Delphi使用了其特有的Virtual Machine(VMT)来执行代码,反编译器还需要理解并转换这些虚拟机指令。 在实际应用中,DeDeDark可能用于以下几个方面: 1. **代码逆向工程**:当遇到无法获取源代码的Delphi...

    DELPHI反编译工具 DeDe V3.50.02

    在使用DeDe V3.50.02时,用户可以加载DELPHI编译的.exe或.dll文件,工具会尝试解析其内部结构,生成源代码的近似表示。虽然无法保证完全恢复原始源代码,但可以提供相当大的帮助,特别是对于理解程序的流程和函数...

    delphi反编译工具 dede3.99

    DeDe is a very fast program that can analyze executables compiled with Delphi 2,3,4,5 and Builder and give you the following: - All dfm files of the target. You will be able to open and edit them ...

Global site tag (gtag.js) - Google Analytics