老文章档案 · 2003 年

Armadillo.exe的脱壳(2.50)

破解教程 · 脱壳教程 · 2003-08-27 · 作者:人气: · 出处:赢政天下整理收藏)

Armadillo.exe的脱壳(2.50)

在hying和zombieys两位大虾的指教下,初试脱armadillo.exe,没有想到意外成功

以下不妥的地方还请诸位大侠多多指教

我用TRW装载Armadillo.exe(2。50)。按照zombieys大虾的方法,bpx virtualprotect.共中断27次后,

按F12进入armadillo的领空。在下面:

0167:004C7DB3 MOV CL,[EBP+0C]

0167:004C7DB6 PUSH ECX

0167:004C7DB7 CALL NEAR [EBP-3C] 《====进入

0167:004C7DBA ADD ESP,BYTE +08

0167:004C7DBD MOV [EBP-10],EAX

0167:004C7DC0 PUSH DWORD 004D01B4

0167:004C7DC5 CALL 004C9798

0167:004C7DCA ADD ESP,BYTE +04

0167:004C7DCD CALL NEAR [004D2EF0]

0167:004C7DD3 PUSH BYTE +00

0167:004C7DD5 PUSH BYTE +00

进入后,来到下面:

0167:00C9C827 MOV ECX,[EAX+20]

0167:00C9C82A XOR ECX,[EAX+1C]

0167:00C9C82D XOR ECX,[EAX+10]

0167:00C9C830 ADD EDI,ECX

0167:00C9C832 CALL `KERNEL32!GetCommandLineA`

0167:00C9C838 PUSH EAX

0167:00C9C839 PUSH EBX

0167:00C9C83A PUSH EBX

0167:00C9C83B CALL ESI

0167:00C9C83D PUSH EAX

0167:00C9C83E CALL EDI 《=====edi=41dc2c.(oep)

0167:00C9C840 MOV ESI,EAX

0167:00C9C842 POP EDI

0167:00C9C843 MOV EAX,ESI

0167:00C9C845 POP ESI

0167:00C9C846 POP EBX

0167:00C9C847 RET

进入41dc2c后,用makepe命令,dump出一个文件a.exe

用LoadPE分析原文件Armadillo.exe,选择“PE Editor”。点击“Sections”

看看“.rsrc”部分。Voffset=38000,VSize=8BE00.它的尾部是c3e00.加

imagebase 400000应该是4c3e00.我选择4c3f00为hying大虾的那段代码的

起始点。同时记下SizeOfImage

重新运行原文件Armadillo.exe,下bpx virtualalloc.断下后,记下该函数

的指针。取消断点。下断在入口点处:bpx 41dc2c.断下后,将eip改为我们

选定的地方:4c3f00.在这里,我们将hying大虾的那段代码写入。

6804000000 push PAGE_READWRITE

6800100000 push MEM_COMMIT

6800001100 push 110000h <-申请内存的大小,可大一点。

6800000000 push 0

e8xxxxxxxx call VirtualAlloc <-申请内存

mov edi,eax <--记下eax的值,假如为fa0000

mov ecx,???? <-文件映象大小减1000h,假如为xxxxxx

mov esi,401000h <-基址加1000h,有的程序不是这个值

rep movsb

当rep bovsb指令运行完后,从fa0000开始的xxxxxx字节数据,用W命令保存为文件1.bin.

将eip改为原入口点。退出原程序。

用winhex打开dump出的文件a.exe,在offset 1000处将1.bin文件写入。存盘。

我们运行a.exe文件,出错!记下出错地址。再运行原Armadillo.exe,在出错地址设断。

断下后看看出错地址的内存,按PageUp键,上下看看内存,把上下??之间内存数据,

用W命令写入文件2.bin中,记下RVA(开始地址-400000)和size。用LoadPE打开dump文件a.exe,

增加一个sections,记住新增的offset.用winhex打开a.exe,将2.bin文件写入。

运行a.exe文件,呵呵,又出错了。记下出错地址,仿照上述办法,保存为bin文件,写入

a.exe文件中。再运行dump文件,呵呵,成功了。

armadillo2。5后的版本也可仿照此办法。

不正确、不清楚的地方,请诸位大侠多多指教。

(出处:赢政天下整理收藏)

相关文章:

·AZPR3.0的脱壳教程.

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史