您的位置:首页精文荟萃破解文章 → 调用PE文件中引入表中的函数的方法

调用PE文件中引入表中的函数的方法

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

 当我们补丁一个PE文件时,常常要用到调用这个PE文件引入表中的函数,那么怎样来调用呢?要想很透彻的了解其原理,需要对引入表很熟悉,并且要对PE文件的加载机制有所了解。  
    对于引入表的介绍和PE加载机制,看雪老大的著作上已经介绍的很清楚,只要花点时间,很容易弄清楚。按照下面步骤,即使对不太熟悉引入表的朋友,也能直接使用其中的函数。  

准备的工具:LoadPe、Softice或TRW2000  

步骤:  
1、用LoadPe打开PE文件,查看其目录中的导入表,选中要使用的DLL并纪  
  录下它的FirstThunk的值(这是IAT表的起始RVA),假设为:E1B7。  
2、找到要在这个DLL中要使用的函数,假设为:LoadLibraryA。  
3、数一数这个函数在这个DLL函数列表中是第几个,假设为:第3个。  
4、那么在补丁中调用这个函数就是:  
  call dword ptr[e1b7+ImageBase][(3-1)*4]  
5、ImageBase的获得:  
  当我们补丁一个程序时,补丁的起始RVA是已知的(可以根据VA用LoadPe  
  的FLC计算出来),请看下面程序:  
  假设补丁开始地址(VA)为:0040d000,通过计算知道对应的RVA为n  
  0040d000:pushad  
  0040d001:call  0040d006  
  0040d006:pop  ebp  
  xxxxxxxx:sub  ebp-n-6  ;此时,ebp就是ImageBase,减6是  
                          ;pushad 和 call 0040d006的指令长度  
  xxxxxxxx:call dword ptr[ebp+e1b7][(3-1)*4]  ;调用  
                                              ;LoadLibraryA  
            .  
            .     
  xxxxxxxx:popad  

  仅此抛砖引玉,欢迎高手赐教其他方法。  
    
    
     
    
    
     

相关阅读 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破解如何给软件脱壳基础教程