在线搜索
|
有问题找看雪
PECompact2.79_Beta_D 分析及静态脱壳机编写,附源码
标 题:
PECompact2.79_Beta_D 分析及静态脱壳机编写,附源码
作 者:
StNOe
时 间:
2009-06-14 19:06:36
链 接:
http://bbs.pediy.com/showthread.php?t=91530
在科锐学习的第4阶段,课后作业静态脱壳机。
由于学习编程,逆向不久,代码写的很粗糙。自己水品不够,难免会有很多bug,大哥们海涵!
引用:
外壳shell的分析
壳版本: PECompact2.79_Beta_D
工具: IDA, OD, winhex, PEID
1. 外壳第一部分
该外壳的shell分部分, 第一部分以非压缩的方式存在, 第二部分以压缩的方式存在.
外壳执行时先执行第一部分, 这部分将shell的第二部分在内存中解压缩, 并初始化一些数据. 用IDA打开加壳后的程序(TestDll.dll), 来到外壳的入口处, 分析如下:
10001230 mov eax, offset ExceptionProc ; 异常处理回调函数
10001235 push eax
10001236 push large dword ptr fs:0
1000123D mov large fs:0, esp ; 注册异常
10001244 xor eax, eax ; eax = 0
; mov [0], ecx, 程序执行到此处时产生内存访问异常,
; 转到异常处理ExceptionProc
; 异常处理里改下此地址为E9 与 此地址与0x1003892F相对偏移,
; 即jmp 1003892F
; 异常返回后,则jmp 1003892F
10001246 mov [eax], ecx
10001248 push eax
……更多内容参见附件
上传的附件
分析以及编写文档.doc.doc
静态脱壳机.rar
[解压密码:pediy.com]
测试文件.rar[论坛下载:
http://bbs.pediy.com/showthread.php?t=91530
]
IDB.rar