写壳笔记

来源:互联网 发布:九尾凤钗淘宝 编辑:程序博客网 时间:2024/06/11 11:28


我的stub是从dll中注入到宿主程序的。当然stub重定位是按照宿主的imagebase进行重定位的,当宿主程序重新启动不是按原先imagebase加载时,程序是运行不起来的。

解决办法就是 修改IMAGE_OPTIONAL_HEADER ,DllCharacteristics字段

代码如下:

PIMAGE_NT_HEADERS pNt=peTool.GetNTheaderPt();pNt->OptionalHeader.DllCharacteristics &= ~IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE;//去掉这个属性就OK,禁止它的随机基质加载