M**2 Trojan的完全修改——脱壳+特征码修改+PEDIY
作者:tankaiha[NE365][FCG]
日期:2004.11.29
主页:http://www.vxer.net
声明:本文只为技术研究,监于其可能的危害性,讲得很笼统,且作者不提供任何程序和代码!
一、程序运行流程
由M**2生成器生成M**2 Trojan文件,运行后,程序将自身复制到Windir/system32/目录下,文件名为预先设定(假设为aaa.exe),并删除原文件。然后启动新进程,从文件内部数据提取并生成aaa.dll。同时修改注册表项HLM_SOFTWARE_Microsoft_Windows_CurrentVersion_Run。并进入正常循环,进行Hook。
二、修改目标
杀毒软件对aaa.exe和aaa.dll扫描时都会报警。我们的目标,完全躲过杀毒软件的追杀,并正常运行。
三、主文件脱壳+去除自校验
主程序(aaa.exe)用PEiD查壳为UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay],手动脱时断点下在popad处,并用RecImport修复引入表。(详细见fly有关的脱壳文章)
00415218 FF96 E85E>call dword ptr ds:[esi+15EE8]
0041521E 61 popad
脱壳并修复引入表后,双击程序,程序不能正常运行。用Ollydbg进行跟踪,在如下处有跳转:
在该指令前,程序已调用SetFilePointer将指针指向文件尾,读出文件尾部的较验数据,并进行判断。解决方法,将未脱壳文件的文件尾部分字节粘贴到已脱壳文件尾,再次运行程序,程序能正常运行。
四、dll文件的脱壳
关闭进程,对system32目录下生成的aaa.dll查壳,显示仍旧是UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay],关于dll脱壳的详细过程请参照fly大侠的文章。用Ollydbg手动脱壳时,重定位表位于
输入表修复时,跟踪到程序入口并选择一个API调用跟踪进去,得到地址
程序的入口改为EFF4。至此,dll文件的修改完成。
五、对dll文件进行特征码定位并修改
用特征码定位器对dll文件定位特征码,定位和修改的方法略。
相关专题
- 常用电脑密码破解实用技巧! (14811次浏览)
- 深入掌握网络加密及解密方法 (9144次浏览)
- 常见电子书格式及其反编译思路 (6502次浏览)
- 数据加密技术 (6242次浏览)
- openssl的man中文文档 (6192次浏览)
- 电脑中的十二种常用密码破解法 (5190次浏览)
- 详解加密技术概念、加密方法以及应用 (4968次浏览)
- 对称加密算法技术概述 (4666次浏览)
- 网络游戏封包基础 (4077次浏览)
- 加密:让你的文件人间蒸发 (4010次浏览)



