老文章档案 · 2003 年

DFCG 破解入门第十四课

破解教程 · 破解入门 · 2003-09-09 · 作者:飞叶流枫[DFCG] 人气: · 出处:赢政天下整理收藏)

怎样在文件中加入自己的空间之PE文件格式篇!

目的:PE文件编辑软件的使用!

工具:PEDITOR 1。7 http://202.101.237.103/f/jwjjt/index.html

Hex workshop http://202.101.237.103/f/jwjjt/index.html

编辑对象:WINDOW自带的记事本程序!

前言

我们有时候会遇到在一个程序中,加入一个程序没有调用到的函数或者自己做的一个函数来完成一项任务!比如说,我们想调用一个动态的DLL,我们需要用到USER。DLL中的LoadLibraryA函数,但是有的程序却没有包涵它,为此我们就要手工来加入这个函数!让程序在开始的时候装载它,以便于我们在程序中调用!

要加入这个函数,我们需要在程序中找到一个空闲的地方,在大多数时候我喜欢自己在程序中加入一大片空地,怎么加呢?LET‘S GO!

START:

用PEDITOR打开记事本NOTPAD程序。

注意:在这个程序中的地址,指的都是相对地址(RVA),在hex workshop中查看的话,要把地址转为文件偏移(OFFSET)才能用。

如果你想知道PE格式的话,你可以到www.pediy.com网站看一下脱壳教学!在那有详细的PE文件格式的介绍!在此我就不多说了!下面我们点击SECTION按钮,来到节表(SECTION)

中。

在其中的一个节表上点鼠标右键,选add a section,就会跳出一个窗口!

点击加入,你将会看到在节表列表窗中已经有你加入的节了。在编辑框中输入你想要加入的节名,下面我们就要确定我们做的节的大小了。在新的SECTION上点击右键,选择edit section,跳出一个窗口,我改变节的大小和这的属性

运行一下记事本程序,可以运行。不过你看一下记事本的大小还是没有改变的。这就是说我们还是没有加入自己的代码空间。不要急,下面我们就用hex workshop打开记事本程序,在程序的最未端插入200字节!我想这一步你应该会吧!:)

到此,我们加入代码空间的工作算是完了!

下面,我们开始第二步:加入我们想要调用的函数!

在PEDITOR中,点击directory按钮!我们来到一个的界面!

这个窗口没有什么好说的,我们点击右下角的import(引入表)按钮,来到一个窗口上。

这个窗口分为两部分,上面的窗口显示的是程序调用的DLL,下面的显示在这个DLL上调用的函数!

我们在其中的一个DLL上点击右键,选add import,来到一个窗口!

在此一步,须要注意的就是包涵你调用的函数的DLL名字不要搞错了哦!如:MessageBoxA就是在USER。DLL中的。加入完了你要用的函数后,按OK。我们返加到上图的窗口上。这时我们看一下DLL窗口,发现在最底下,多了一个我们调用的DLL,点击这个DLL就会看到我们加入的函数了。

我们要做的就是记下这个指向这个函数的地址!第一个函数的指向地址“ A”在DLL窗口的最右下方的那个,如在本例中就是:0000E0B9!记住,如果有N个函数的话,那么其它的函数的指向地址就是:“A”+(N-1)*4 ,如在本例中第二个函数就是:

0000E0B9+(1-1)*4==0000E09D在记下函数的地址后,我们可以到hex workshop中,验证一下。在我们加入函数地址是

0000E0B9,

虽然我们知道了函数在文件中的偏移地址,但是还要把这个地址转换成程序运行时的内存地址才能调用啊!不要急,在PEDITOR这个超强工具中,已经有了这个功能。就是在第一张图的窗口上的“FLC”按钮。让我们点击一下“FLC”按钮!

注意:在这个程序中的地址,指的都是相对地址(RVA),在hex workshop中查看的话,要把地址转为文件偏移(OFFSET)才能用。

我们在第二个编辑框中输入了E0B9,得到了程序的调用地址(VA)是:[0040E0B9]

文件偏移是:E2B9。

在此有必要讲一下,操作系统给程序所调用函数重定位的过程。操作系统在引入表中

查找到程序所调用到的函数名后,就会把这个函数映射到内存中,并把函数在内存中的地址

比如是:BFFF1234放入到在文件中指向函数名的地址中也就是在IMPRT窗口中的FirstThunk项了。在本程序中就是把BFF1234放入到40E0B9中,所以我们要调用MessageBoxA函数的话,就可以这样来CALL了:

PUSH XXXXXXXX

PUSH XXXXXXXX

PUSH XXXXXXXX

CALL [40E0B9] ----》》》MessageboxA

我们在这个CALL ,F8跟入的话,就可以发现我们在地址就是:BFFF1234

好,这一篇就写到这!谢谢你耐着性子把这篇烂文看完!也谢谢我自己能有这样的性子把这个写完!如果有不懂的就在论坛上留言!我尽快回答!

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

相关文章:

·5StarZip 2001 破解--初学者破解入门

·DFCG破解入门第一课

·DFCG破解入门第二课

·DFCG破解入门第三课

·DFCG破解入门第四课

·DFCG破解入门第五课

·DFCG破解入门第六课

·DFCG破解入门第七课

·DFCG破解入门第八课

·DFCG破解入门第九课

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

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

Powered

by:MeSky.Net

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

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

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