[资料]文件绑缚方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、传统的捆绑器
这种原理很简单,也是目前用的最多的一种。
就是将B.exe附加到A.exe的末尾。
这样当A.exe 被执行的时候,B.exe也跟着执行了。
这种捆绑器的代码是满网都是。
我最早是从jingtao 的一篇关于流的文章中得知的。
就目前来说,已经没什么技术含量了。
检测方法:稍微懂一点PE知识的人都应该知道。
一个完整有效的PE/EXE文件,他的里面都包含了几个绝对固定的特点[不管是否加壳]。
一是文件以MZ开头,跟着DOS头后面的PE头以PE\0\0开头。
有了这两个特点,检测就变得很简单了。
只需利用UltraEdit一类工具打开目标文件搜索关键字MZ或者PE。
如果找到两个或者两个以上。
则说明这个文件一定是被捆绑了。
不过值得注意的是,一些生成器也是利用了这个原理,将木马附加到生成器末尾,用户选择生成的时候读出来。
另外网上流行的多款“捆绑文件检测工具”都是文件读出来,然后检索关键字MZ或者PE。
说到这里,相信大家有了一个大概的了解。
那就是所谓的“捆绑文件检测工具”是完全靠不住的一样东西。
二、资源包裹捆绑器
就这原理也很简单。
大部分检测器是检测不出来的,但灰鸽子木马辅助查找可以检测出捆绑后未经加壳处理的EXE文件。
但一般人都会加壳,所以也十分不可靠。
这个学过编程或者了解PE结构的人都应该知道。
资源是EXE中的一个特殊的区段。
可以用来包含EXE需要/不需要用到的任何一切东西。
利用这个原理进行100%免杀捆绑已经让人做成了动画。
大家可以去下载看看。
那捆绑器是如何利用这一点的呢?这只需要用到BeginUpdateResource、UpdateResource和EndUpdateResource这三个API函数就可以搞定。
这三个API函数是用来做资源更新/替换用的。
作者只需先写一个包裹捆绑文件的头文件Header.exe.头文件中只需一段释放资源的代码。
而捆绑器用的时候先将头文件释放出来,然后用上面说的三个API函数将待捆绑的文件更新到这个头文件中即完成了捆绑。
类似原理被广泛运用到木马生成器上。
检测方法:一般这种很难检测。
如果你不怕麻烦,可以先将目标文件进行脱壳。
然后用“灰鸽子木马辅助查找”或“ResTorator”一类工具将资源读出来进行分析。
但这种方法毕竟不通用。
所以还是推荐有条件的朋友使用虚拟机。
三、编译器捆绑法
暂时不知用什么名字来形容,所以只能用这个来代替。
这种方法相当的阴险。
是将要捆绑的文件转换成16进制保存到一个数组中。
像这样muma:array[0..9128] of Byte=($4D,$5A,$50....$00);
然后用时再用API函数CreateFile和WriteFile便可将文件还原到硬盘。
这里稍稍学过编程的都知道。
代码中的数组经过编译器、连接器这么一搞。
连影都没了。
哪还能有什么文件是吧?所以就这种方法而言,目前还没有可以查杀的方法。
这种方法可以利用编程辅助工具jingtao的DcuAnyWhere或Anskya的AnyWhereFileToPas来实现。
四、最最毒辣的一种
因为暂时用的人较少,且危害性及查杀难度太大。
[一个被杀的病毒直接捆绑就能免杀,汗~]所以就不公布了。
此法查杀方法通用性极差。
如果流行,估计大家连动画都不敢下着看了。
HOHO~。