文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页精文荟萃破解文章 → DFCG 破解入门第十四课

DFCG 破解入门第十四课

时间:2004/10/15 0:57:00来源:本站整理作者:蓝点我要评论(0)

 




    
           
怎样在文件中加入自己的空间之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 

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


    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程