首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
付费问答
发新帖
0
0
[旧帖]
[求助]不是有效的win32应用程序
0.00雪花
发表于: 2008-3-18 16:43
18249
[旧帖]
[求助]不是有效的win32应用程序
0.00雪花
wzanthony
2008-3-18 16:43
18249
脱了ASProtect壳修复IAT后,在补区段前,还可以运行,就是直接出错,这还正常;
但是补了区段后,就提示“不是有效的win32应用程序”,是不是我把PE头破坏了?
但是我用LordPE进行PE编辑感觉也挺正常的啊,重建PE它也提示成功,只是运行就提示“不是有效的win32应用程序”
本人第一次尝试补区段,可能有什么东西误解了,高人可否解惑,如何解决“不是有效的win32应用程序”?
[培训]科锐逆向工程师培训第53期2025年7月8日开班!
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
8
)
bithaha
雪 币:
1505
能力值:
(RANK:210 )
在线值:
发帖
66
回帖
933
粉丝
4
关注
私信
bithaha
5
2
楼
在补区段前
补区段需要修改节表数目,内存镜像大小,添加节表,但最重要的还得添加区段内容啊
直接用lordpe添加,修改的是pe文件头,不会实际添加区段,用其它的16进制编辑工具把区段添加上去才行
最好用PeADD等工具添加区段
2008-3-18 17:02
0
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
3
楼
总算有人回我帖了,感谢
区段我已经通过内存断点抓出来了,然后是用LordPE的PE编辑器->区段->右键选从磁盘载入段->在新载入的段上面右键选编辑区段->修改虚拟地址。
修改后,文件从768K增大到1.10M,我想应该已经加进去了吧?
而且如果只是缺少区段,也应该是能运行但出错才是吧?如果PE头正常有没有其他可能会出现“不是有效的win32应用程序”呢?或者是这一定是PE头被破坏了?
2008-3-18 17:14
0
Nooby
雪 币:
82
活跃值:
(10)
能力值:
(RANK:210 )
在线值:
发帖
44
回帖
629
粉丝
3
关注
私信
Nooby
5
4
楼
看下各段长度,区段数,各区段RVA是否正确
2008-3-18 17:46
0
bithaha
雪 币:
1505
能力值:
(RANK:210 )
在线值:
发帖
66
回帖
933
粉丝
4
关注
私信
bithaha
5
5
楼
这么小的文件如果方便的话可以传到论坛上来 让大家看看的
2008-3-18 20:19
0
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
6
楼
各段长度应该是正确的吧?PE编辑器显示的虚拟长度和真实长度是一致的,这个没改,我只是把虚拟地址改了一下,改到这个区段应该在的位置。执行步骤基本上根据这个来的:http://bbs.pediy.com/showthread.php?t=37376这篇《ASProtect 2.3 SKE build 06.26 Beta [Extract]脱壳笔记 》。
那个exe是一个游戏的exe,我是拿它来学习脱壳的,似乎它只是简单的调用了另外一个扩展名为dll的exe文件。我晚上回去试试,看看能不能把这个exe单独拿出来调试。先谢谢LS了。
2008-3-19 10:46
0
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
7
楼
又测试了一下,似乎是PE镜像大小的数值不对的缘故。
比如刚脱壳后能运行但出错的exe,PE显示的镜像大小是C0000字节,如果把它改称B0000或者D0000也都会提示“不是有效的win32应用程序”。
我试着加了一个段,此段原地址是00DA0000,大小为9000,补进去后,直接运行也是“不是有效的win32应用程序”,但是把镜像大小改为C9000后,就可以运行了(别笑我,我菜)。但是现在这个段的地址不对,它的虚拟地址应该是009A0000,修改虚拟地址后,又出现“不是有效的win32应用程序”,即使把镜像大小改成9A9000,还是同样的提示。
是不是真是修改镜像大小后就可以了?如果是的话,应该改成多少?
2008-3-19 21:24
0
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
8
楼
试出来了,原来是填虚拟后的大小,然后再重建PE一下就可以了。不过重建后的好象各个段都被压缩了一点点,不知道对脱壳的最后一步有没有影响。至今搞不懂那篇脱壳的最后几句汇编指令是怎么来的,继续研究研究。
多谢上面几位解答,如果可以在解释一下http://bbs.pediy.com/showthread.php?t=37376这篇最后的几句汇编的来历,感激不尽。
2008-3-19 22:29
0
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
9
楼
终于让我脱掉了,开心
不过最后一个步骤,汇编代码替换的原理还是不明白,只是简单的搜索替换就可以了用了。
而实际上我调试的时候,出异常的地方与替换处相去甚远,真不知是用什么方法找出来的?难道是在GetCurrentProcessId里面设断点?
不知道LS几位高手可以指点一下么
2008-3-19 23:50
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
wzanthony
72
发帖
430
回帖
20
RANK
关注
私信
他的文章
[求助]C#的可执行文件的加载过程貌似很特别啊?
4023
[求助]为什么这个无壳的DLL看起来这么像有壳的?
9788
[讨论]用默认浏览器在新窗口或新标签中打开URL链接的方法
9965
[求助]如何获取父窗口而不是拥有者窗口?
6408
[求助]关于硬盘分区表的磁头数的问题
8175
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部