Re----小白有一颗破解Delphi程序的心

Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“BorlandTurbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。

这一段来自于百度百科,看出来有多古老了吧,emmmmm,不过一直在更新,至少2014应该发布过新版本

那作为一个小白,没接触过Delphi语言怎么办,遇到Delphi写的程序怎么破解呢

我梳理了一下适合Dephi零基础的人的步骤

1.首先我们要判断一个程序是不是用Dephi,不然也白搭,用PEID基本就可以了

大部分情况都是可以识别出来的

2.DeDe反编译器

因为Dephi的界面使用控件拖放完成的,并且这些控件和事件联系起来,而DeDe可以查看程序中控件对应的时间,并且进行反汇编,Delphi的库函数也是可以识别的,帮助很大

3.Delphi程序的重要区别(按钮事件)

因为Delphi程序一般是不会使用API函数来编辑文本框的数据的,所以一些常用的GetDlgItemTextA之类的函数断点都没法拦截了。

4.例子分析

链接:https://pan.baidu.com/s/1V5yQE57emmiPS9bvMBmf2Q 密码:xyoo

4.1 资源搜索

我们打开程序

可以看出来需要分析的代码段就是确定按钮附近,(如果不是Delphi是不是直接搜索获取数据的函数了?可惜没啊……)

那怎么定位到确定按钮的附近呢,Delphi一个个按钮对那个事件,其实就是资源的形式存放的,我们用resource_hacker打开程序,找到确定按钮

可以看到按下按钮后调用的例程是Button1Click

4.2 地址定位

我们已经知道了例程的名字,我们用16进制工具打开程序,搜索字符串Button1Click

我们一共看到了两处Button1Click,第一处是地址表中的调用,第二处是资源本身,我们显然是要找第一处

分析一波,0C显然是字符串的长度,那么按照地址的字节长度,可以得到地址是0044168Ch(不要忘记小端序哦)

当然以上操作是动态调试,在DeDe里面显示了各个例程

点击对应的例程,可以看到汇编代码,进行逆向就好咯

我自己是在里面看到该爆破的位置,然后去OD里面修改的,因为DeDe怎么修改还没没找到,要是大家找到了可以给我留言评论,万分感谢

猜你喜欢

转载自blog.csdn.net/qq_42192672/article/details/82353974