欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

CFF Explorer 查看/修改PE文件资源

程序员文章站 2022-05-04 20:00:54
CFF Explorer 查看/修改PE文件资源...

cff explorer是一款优秀的pe资源工具,使用cff explorer可以方便地查看和编辑pe(exe/dll)资源,类似pe资源工具有exescope、reshacker等。

使用cff explorer可以查看和修改pe文件的资源,可以查看dll文件可供调用的函数,修改函数入口地址达到制造崩溃屏蔽功能的目的。cff explorer具有类似depends的依赖分析功能/hex编辑器/快速反汇编等功能,详见下图:

CFF Explorer 查看/修改PE文件资源

pe(portable execute)文件被称为可移植的执行体,常见的exe、dll、ocx、sys、com都是pe文件,pe文件是微软windows操作系统上的程序文件(可能是间接被执行,如dll)

windows 7下实现api hook的方法

关于api hook,就是截获api调用的技术,在对一个api调用之前先执行自己设定的函数,根据需要可以再执行缺省的api或者进行其他处理,假设如果想截获一个进程对网络的访问,一般是几个socket api:recv,recvfrom, send, sendto等等,当然你可以用网络抓包工具,这里只介绍通过api hook的方式来实现,最基本的有两种方法:1.修改原函数的入口地址,就是修改pe文件输入函数地址表 2.不改变函数输入表,修改函数最开始的内存数据,增加jmp语句跳转到自己的函数,执行完后再恢复内存数据.
使用jmp语句的方法是比较灵活的,所以通过api createremotethread 可以把自己的dll注入到另一个进程,然后再使用jmp方法来实现api的截获,这种技术的另一个用处就是隐藏进程,很多病毒木马也是利用这个技术来隐藏自己,很难被发现和清除。
但是通过 createremotethread 注入dll的技术在win7系统中已经不能简单的使用了,win7系统在很多方面都加强了安全性,限制了很多的api的调用,那么如何简单的来做到dll注入和api hook呢?这里就要介绍一个大名鼎鼎的工具:cff explorer,是explorer suite(http://www.ntcore.com/)中的一个工具 用于pe文件的修改,同时也可以对原pe文件增加函数输入表,我们只要写好一个dll文件,然后实现一个导出函数,就可以用这个工具对pe文件增加对自己的dll的加载,下面这个操作就是让notepad.exe加载rand.dll的操作:

CFF Explorer 查看/修改PE文件资源

只要rebuild import table,然后再save/save as就可以保存新的文件。这样你的dll就自动的被加载了,然后再dll加载的时候实现api hook就在功告成了。
使用这个技术可以做很多“坏事”,比如刚才提到的截获进程的网络收发数据,还有就是对软件的破解或者去时除限制,举例:假设一个软件是试用软件,试用7天,最笨的办法就是改本机时间,但如果用api hook技术就可以很容易做到,可以先用cff explorer或者dependency查看一下该软件是调用 哪个函数来获取系统当前时间的,假如是getlocaltime函数,那么我就可以截获getlocaltime,返回一个永不过期的时间,然后利用cff explorer把自己的dll增加到软件的函数导入表,这样不用改系统时间就去除了软件的试用期限。
郑重提示:利用api hook可以做很多你想做的事情,但我觉得自己研究使用可以,千万不要去传播或者谋取利益,否则后果很严重的。

相关标签: CFF Explorer