手动脱壳入门第十七篇 VGCrypt PE Encryptor V0.75

番茄系统家园 · 2022-03-12 00:33:13

【脱文标题】 手动脱壳入门第十七篇 VGCrypt PE Encryptor V0.75

【脱文作者】 weiyi75[Dfcg]

【作者邮箱】 weiyi75@sohu.com

【作者主页】 Dfcg官方大本营

【使用工具】 Peid,Ollydbg,ImportREC

【脱壳平台】 Win2K/XP

【软件名称】 VGCrypt PE Encryptor V0.75

【软件简介】 This is a fairly simple PE encryptor I wrote up. I commented everything that is relavent to PE appendation or insertion, more so than I needed to even. The most interesting feature of this encryptor is that it attempts to find a location to insert itself between object virtual size and the next file alignment boundary, thus not changing the physical file size.

【软件大小】 16 KB

【下载地址】 本地下载

Vgcrypt.rar

【加壳方式】 Virogen Crypt 0.75

【保护方式】 Virogen Crypt资源保护壳

【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)

--------------------------------------------------------------------------------

【脱壳内容】

下载这个程序,用 Vgcrypt Notepad.exe的命令行方法压缩了一个Win98的记事本,倒,原文件大小等于压缩后大小52K,程序也没有加密IAT,仅仅搞乱了Code段,让你无法反汇编,用资源编辑软件发现可以编辑资源。

加壳记事本

本地下载

Notepad.rar

首先Peid查壳,为Virogen Crypt 0.75,OD载入运行,无任何异常,判断其为压缩壳。

0040584C >9CPUSHFD//记事本外壳入口。

0040584D55PUSH EBP

0040584EE8 EC000000 CALL 1.0040593F

0040585387D5XCHG EBP,EDX

004058555DPOP EBP

0040585660PUSHAD//从这这句过后用ESP定律吧,

0040585787D5XCHG EBP,EDX//到这里ESP=12ffa0

0040585980BD 15274000 0>CMP BYTE PTR SS:[EBP 402715],1

0040586074 39 JE SHORT 1.0040589B

00405862C685 15274000 0>MOV BYTE PTR SS:[EBP 402715],1

00405869E9 E4000000 JMP 1.00405952

0040586E- E9 79DAFF90 JMP 914032EC

00405873D6SALC

0040587464:CE INTO ; 多余的前缀

00405876E4 3C IN AL,3C ; I/O 命令

0040587840INC EAX

0040587994XCHG EAX,ESP

0040587A65:EC IN AL,DX ; I/O 命令

0040587C^ 78 8D JS SHORT 1.0040580B

.............................................................

dd 12ffa0

下硬件访问-Dword断点。

F9运行

硬件中断。

004058A89DPOPFD//堆栈平衡

004058A98B9A 09274000 MOV EBX,DWORD PTR DS:[EDX 402709]

004058AF898A 09274000 MOV DWORD PTR DS:[EDX 402709],ECX

004058B5FFE3JMP EBX//跳往OEP 4010CC

004010CC55DB 55 //右键清除分析

004010CD8BDB 8B

004010CEECDB EC

004010CF83DB 83

004010D0ECDB EC

004010D144DB 44;CHAR 'D'

004010D256DB 56;CHAR 'V'

004010D3FFDB FF

004010D415DB 15

004010D5 .E4634000DD

004010D98BDB 8B

004010DAF0DB F0

004010DB8ADB 8A

004010DC00DB 00

004010DD3CDB 3C;CHAR '; KERNEL32.GetCommandLineA

004010D98BF0MOV ESI,EAX

004010DB8A00MOV AL,BYTE PTR DS:[EAX]

004010DD3C 22 CMP AL,22

004010DF75 1B JNZ SHORT 1.004010FC

004010E156PUSH ESI

004010E2FF15 F4644000 CALL DWORD PTR DS:[]; USER32.CharNextA

004010E88BF0MOV ESI,EAX

004010EA8A00MOV AL,BYTE PTR DS:[EAX]

004010EC84C0TEST AL,AL

004010EE74 04 JE SHORT 1.004010F4

004010F03C 22 CMP AL,22

004010F2^ 75 ED JNZ SHORT 1.004010E1

004010F4803E 22 CMP BYTE PTR DS:[ESI],22

................................................................................

运行ImportREC,选择这个进程。把OEP改为000010cc,点IT AutoSearch,点“Get Import”,函数都是有效的。FixDump,无法运行。倒,用Loadpe重建Pe,正常运行。

继续OD载入它的主程序。

00408000 >9CPUSHFD//主程序外壳入口。

0040800155PUSH EBP

00408002E8 EC000000 CALL Vgcrypt.004080F3

0040800787D5XCHG EBP,EDX

004080095DPOP EBP

0040800A60PUSHAD //从这这句过后用ESP定律吧,

0040800B87D5XCHG EBP,EDX //到这里ESP=12ffa0

0040800D80BD 15274000 0>CMP BYTE PTR SS:[EBP 402715],1

0040801474 39 JE SHORT Vgcrypt.0040804F

00408016C685 15274000 0>MOV BYTE PTR SS:[EBP 402715],1

免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/wlaq/192042dsXBCq.html
猜你喜欢
最新应用
热门应用