-
-
[旧帖] [讨论][求助]关于脱壳后程序加载的问题 0.00雪花
-
发表于: 2012-6-26 01:01 952
-
我是个新手,刚涉入壳的世界。最近在看加密与解密时,跟着书上对一个案例软件进行脱壳。原理都懂。但有一处问题让我至始至终不能理解,下面是我操作过程及出现的问题。(案例软件为光盘里的:加密与解密_课件\chap13\13.2 寻找OEP\13.2.1 根据跨段指令寻找OEP\加壳后的\RebPE.exe)
1.找出oep及在OEP处用LordPE修正大小后进行dump 得到 dumped.exe
2.用importREC进行重建输入表后得到 dumped_.exe
3.用Peid查看 dumped_.exe 发现 其两个IDD 的OriginalThunk字段都为 0,这说明两个IDD的IMAGE_THUNK_DATA32 数组不存在,也就说明 其 INT不存在。(不知道这里是不是这样理解)
4.既然INT不存在,那Windows加载器如果在程序启动时进行填写IAT ,难道 脱壳后的程序不需要这个步骤,即不需要INT....... (不大可能).
5.为了验证上面的猜想,我用Hex编辑器,找开 了 dumped_.exe ,发现PE文件里还是有INT的,只是OriginalThunk字段没有写入而已.
紧接着我修改了其中一个API的名称字符串,
然后SAVE 为xg.exe,接着运行修改后的程序xg.exe,但此时出问题了,
这说明windows加载器加载程序时还是需要INT的,但不解的是,IDD的OriginalThunk为0,PE文件头里没指明INT的位置,WINDOWS加载器如何加载,但事实是虽然PE文件头里没有指INT信息,但WINDOWS加载器也同样能根据PE文件存的INT填写IAT,极其的不解。
还有一种情况是,当我修改PE文件头的IDD的OriginalThunk 为正确的INT地址时,程序同样无法运行,只是出错的提示不一样,
很是不理解,希望各位能指教下在下....不胜感激..
1.找出oep及在OEP处用LordPE修正大小后进行dump 得到 dumped.exe
2.用importREC进行重建输入表后得到 dumped_.exe
3.用Peid查看 dumped_.exe 发现 其两个IDD 的OriginalThunk字段都为 0,这说明两个IDD的IMAGE_THUNK_DATA32 数组不存在,也就说明 其 INT不存在。(不知道这里是不是这样理解)
4.既然INT不存在,那Windows加载器如果在程序启动时进行填写IAT ,难道 脱壳后的程序不需要这个步骤,即不需要INT....... (不大可能).
5.为了验证上面的猜想,我用Hex编辑器,找开 了 dumped_.exe ,发现PE文件里还是有INT的,只是OriginalThunk字段没有写入而已.
紧接着我修改了其中一个API的名称字符串,
然后SAVE 为xg.exe,接着运行修改后的程序xg.exe,但此时出问题了,
这说明windows加载器加载程序时还是需要INT的,但不解的是,IDD的OriginalThunk为0,PE文件头里没指明INT的位置,WINDOWS加载器如何加载,但事实是虽然PE文件头里没有指INT信息,但WINDOWS加载器也同样能根据PE文件存的INT填写IAT,极其的不解。
还有一种情况是,当我修改PE文件头的IDD的OriginalThunk 为正确的INT地址时,程序同样无法运行,只是出错的提示不一样,
很是不理解,希望各位能指教下在下....不胜感激..
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
赞赏
他的文章
看原图
赞赏
雪币:
留言: