首页
社区
课程
招聘
[原创]浅谈程序脱壳后的优化
发表于: 2006-7-3 22:52 184570

[原创]浅谈程序脱壳后的优化

2006-7-3 22:52
184570
收藏
免费 8
支持
分享
最新回复 (192)
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
76
根据什么来判定什么区段无效?例如:upack加后,后两个区段为什么不要用?

还有像aspack那样的怎么优化?

arm的照这样做,总是不成功,图标无法显示了,程序不能运行
2006-7-23 11:27
0
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
77
判断dump后的文件哪些区段是否无效,可以用LordPE的PE编辑器来辅助。主要看目录中的内容,对应的各个表在哪个区段。再用LordPE的16进制编辑器看看各个区段中的内容,一般就能知道各个段的功能了。多用16进制工具看看相应的PE文件,对各个区段中的内容格式有个了解,就比较容易判断那些段是有用的了。upack后面两个段不用是因为它合并了原来程序的区段,只有把合并的部分分离出来处理好就可以还原原程序了,所以后面的两个区段我不用。
aspack的壳没有合并区段,只是它在处理Delphi程序时把tls放到了.aspack段中,只要找个别的地方重新构造一下tls表,就可以把这个段删掉了。相对来说aspack的壳优化要更简单一些。
不管你是arm还是其它壳,只要你手动脱壳后未优化时可以运行,应该都可以优化。至于你图标无法显示,可能是因为你资源没修正好。还可能你修正了资源但并没有把资源目录的RVA更改过来,指向你新建的资源。
2006-7-23 12:33
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
78
最初由 CCDebuger 发布
判断dump后的文件哪些区段是否无效,可以用LordPE的PE编辑器来辅助。主要看目录中的内容,对应的各个表在哪个区段。再用LordPE的16进制编辑器看看各个区段中的内容,一般就能知道各个段的功能了。多用16进制工具看看相应的PE文件,对各个区段中的内容格式有个了解,就比较容易判断那些段是有用的了。upack后面两个段不用是因为它合并了原来程序的区段,只有把合并的部分分离出来处理好就可以还原原程序了,所以后面的两个区段我不用。
aspack的壳没有合并区段,只是它在处理Delphi程序时把tls放到了.aspack段中,只要找个别的地方重新构造一下tls表,就可以把这个段删掉了。相对来说aspack的壳优化要更简单一些。
不管你是arm还是其它壳,只要你手动脱壳后未优化时可以运行,应该都可以优化。至于你图标无法显示,可能是因为你资源没修正好。还可能你修正了资源但并没有把资源目录的RVA更改过来,指向你新建的资源。


文件0000-0FFF大小是1000的这段是DOS头的PE头 是不是每一个PE文件都是1000的大小 而且都是固定的大小? 我用Stud_PE查看PE的DOS头都是0-2FF 那么0300-0FFF这段的数据是什么东西?
2006-7-25 12:12
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
79
0-FFF这段大小的功能 我可不可以把它当成编程语言的包含头文件说明这样去理解它?
2006-7-25 12:30
0
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
80
PE头的大小是可以指定的,一般dump出来的程序头部大小都是1000H。自己优化的话可以把它改为400H等。
至于你说的Stud_PE查看PE的DOS头都是0-2FF,你可以用个16进制工具打开一个PE文件看一下,剩下的东西就是根据文件对齐粒度和PE头大小填充的0。

0-FFF这段大小的功能 我可不可以把它当成编程语言的包含头文件说明这样去理解它?

你也可以这么理解。
2006-7-25 12:55
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
81
最初由 CCDebuger 发布
判断dump后的文件哪些区段是否无效,可以用LordPE的PE编辑器来辅助。主要看目录中的内容,对应的各个表在哪个区段。再用LordPE的16进制编辑器看看各个区段中的内容,一般就能知道各个段的功能了。多用16进制工具看看相应的PE文件,对各个区段中的内容格式有个了解,就比较容易判断那些段是有用的了。upack后面两个段不用是因为它合并了原来程序的区段,只有把合并的部分分离出来处理好就可以还原原程序了,所以后面的两个区段我不用。
aspack的壳没有合并区段,只是它在处理Delphi程序时把tls放到了.aspack段中,只要找个别的地方重新构造一下tls表,就可以把这个段删掉了。相对来说aspack的壳优化要更简单一些。
不管你是arm还是其它壳,只要你手动脱壳后未优化时可以运行,应该都可以优化。至于你图标无法显示,可能是因为你资源没修正好。还可能你修正了资源但并没有把资源目录的RVA更改过来,指向你新建的资源。


谢谢!Arm的弄好了。

我一般现在不敢用记事本的文件头来替换,一替换就不能运行了,不替换直接优化就可以,不知什么原因
2006-7-25 22:50
0
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
82
最初由 亚尔迪 发布
谢谢!Arm的弄好了。

我一般现在不敢用记事本的文件头来替换,一替换就不能运行了,不替换直接优化就可以,不知什么原因

PE头未被破坏的话,不需要替换。如果要替换,替换完了还要做一些修正的,文章中我已经说过了。
2006-7-25 23:48
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
83
明白了,谢谢指点
2006-7-26 12:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
84
强烈支持,可以学习这么多的东西!!!!
2006-8-2 00:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
85
感谢了,学习到好多知识!尽管我还做不来!
2006-8-10 22:15
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hxx
86
感谢了,学习到好多知识!
2006-8-10 23:03
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
87
我delphi程序一直不会修复!

它有个tls表。怎么弄?

能出个delphi的教程么?
2006-8-11 01:27
0
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
88
tls表移动一下就可以了。先观察一下dump后文件的tls表的各个数据,比如aspack会把它放在.aspack段中。只要另找一个段放置tls表数据,改一下tls表RVA指向新建tls表,就可以把这个.aspack段删掉了。
2006-8-11 08:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
89
太复杂了,我新手,不知道用啊
2006-8-11 22:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
90
至於那个北斗壳,PE文件头(例如:nsp0, nsp1, idata, mackt)实在是太乱了!我也是新手,要如何优化?
!?
2006-9-24 14:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
91
好东西哦,不过我看不懂啊
2006-9-24 14:35
0
雪    币: 204
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
92
关于48和49楼的新建输入表中大小问题:
需要把ImportREC_fix中的选项--新建输入表的第2(重建原始ft),第3(创建新的iat)打上勾就和楼主的一样了,如果不打上按默认124大小的话,,我仔仔细细做了2遍都不能运行,无意中试了下修改选项发现会变化,排列组合原来是这2个打勾,然后最后就可以运行了。大家注意下,至于为什么要这样设置,我不知道。
别删我帖,我也就个位数帖,再删就没了
2007-2-7 00:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
93
太感谢了!真是学习软件的好地方。
2007-5-1 20:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
94
学习了,这东西说的太好了.
2007-5-4 11:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
95
辛苦了,学习中,
2007-5-8 16:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
96
太棒了哦,谢谢
2007-5-8 19:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
97
强烈支持CC兄!超级版主
2007-5-8 21:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
98
学习中..............
2007-5-16 15:22
0
雪    币: 161
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
99
顶一下,值得学习!!!!!
2007-5-16 17:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
100
支持,牛人一个.
2007-5-16 20:28
0
游客
登录 | 注册 方可回帖
返回
//