阅读:3615回复:18
世界最小的 pe 程序 - ( 请多多指教, 多谢 )世界最小的 pe 程序 我手工构造了一个 pe 程序, 只 305 个字节,可以在我的中文 windows 98 第一版下正确运行. 是不是够得上陆麟大侠所说的\"世界最小的 pe 程序\",我 也不能确定. 传上来, 大家看着玩玩吧. 用手工构造,没用任何编译软件.可能对大 家理解 pe 文件格式有用. 要知道, pe 程序格式可是 \"瘟都死\" 操作系统的主要 程序文件格式呀. 如果有哪位高人能给我减少几个字节,我将向他学习. 以下就是软件的全部字节: 共 305 个字节. 用 ultraedit 等十六进制 编辑软件新建一个十六进制文件,全填 00 ,大小 305 个字节,再按照以下内容修 改好,存盘,改名为 minipe.exe 即可. 每行的 \":\" 号及前面的数字是十六进制 地址,每行的后面是文本显示,不是软件内容,不应写入软件,我想大家应该明白. 如果此贴较乱,把您的查看器的字体设小一点就行了. 此贴附件中也有该程序. 以下是软件全部内容: 00000000: 4D 5A 50 00-02 00 00 00-04 00 0F 00-50 45 00 00 MZP PE 00000010: 4C 01 01 00-00 00 00 00-00 00 00 00-00 00 00 00 L 00000020: E0 00 8E 81-0B 01 00 00-C0 50 00 00-00 00 00 00 ? |
|
沙发#
发布于:2002-03-04 10:44
这有意义吗?
所谓最小,就是最小的文件头加上一条ret 10h 指令,这是谁都会做的 |
|
|
板凳#
发布于:2002-03-04 12:27
Cih 所构造的宿主就是一个mini pe file.
|
|
|
地板#
发布于:2002-03-06 16:11
可我现在不知道怎样才能再把它缩短. 再就是构造出支持 windows xp 的世界最小的 pe 程序. 这对我们理解 pe 程序格式, 以及操作系统的程序加载机制有帮助. 有些病毒编程, 解密加密, 也要用到这些技术.
|
|
地下室#
发布于:2002-03-08 16:20
真小呀!
|
|
|
5楼#
发布于:2002-03-08 20:15
的确够小!
顺便问一句:XP不用PE格式的文件吗?(俺没用过XP) |
|
6楼#
发布于:2002-03-09 14:44
XP 也以 PE 格式的程序文件为主. 即使是将来的 windows 新版本也用. 不过程序加载机制大不相同. 微软的操作系统中分 98 系列与 NT 系列, 程序加载机制有天壤之别. 这两大类中, 不同版本的操作系统, 程序的加载机制也有很大区别. 这是微软不断改写其操作系统核心代码造成的. 如果不研究系统核心, 一般用户很难知道这是为什么. 通过不用编译器, 手工构造 pe 程序的方法, 可以让我们加深对操作系统核心的理解. 比如 CIH 病毒的作者陈英豪, 肯定是这方面的专家, 就是说他是手工构造程序的专家. 别的病毒作者, 或者程序解密加密的高手, 也肯定是手工构造程序的专家. 不过你不要理解为我说自己是专家呀, 呵呵. 我还要留着一颗谦虚心, 向大家请教呢. 你看这个网站上, 真是高手多多呀! |
|
7楼#
发布于:2002-03-10 18:58
我不懂
我也想学 |
|
8楼#
发布于:2002-03-16 11:29
会手工构造程序就是专家?那专家也当得太容易了吧。
我不是专家,但我也能手工构造程序。 |
|
|
9楼#
发布于:2002-03-18 10:47
那你试试能不能构造出比我上面的程序更小的程序. 必须是 pe 格式, 并且要能正确执行. 哪怕只执行一个字节的代码. 不论支持什么操作系统都可以( 9x / 2k / nt / xp ). 一个老外宣称构造出了 nt 下的 192 个字节的 pe 程序, 结果后来我们测试, 他的程序运行出错, 不能算成功. 大家互相交流可以共同进步啊.
|
|
10楼#
发布于:2002-03-18 12:20
那你试试能不能构造出比我上面的程序更小的程序. 必须是 pe 格式, 并且要能正确执行. 哪怕只执行一个字节的代码. 不论支持什么操作系统都可以( 9x / 2k / nt / xp ). 一个老外宣称构造出了 nt 下的 192 个字节的 pe 程序, 结果后来我们测试, 他的程序运行出错, 不能算成功. 大家互相交流可以共同进步啊. 我以前没做过,等我有时间我试试。 不过,说句实话,我觉得这样做没什么意义,没有使用价值。 |
|
|
11楼#
发布于:2002-03-18 14:26
蹭分!!!
|
|
|
12楼#
发布于:2002-03-18 20:36
这个问题看起来简单, 但是当你挑战吉尼斯的时候, 平时最简单的事情也会变得很难. 只有亲手试试才会知道. 比如陈景润研究的 1 + 2 .
|
|
13楼#
发布于:2002-03-28 15:29
我构造过一个更小的到我主页来看
www.njhhack.tk |
|
|
14楼#
发布于:2002-03-29 23:09
If u wanto port to NT-like system.
Plz to check ur Alignment. |
|
|
15楼#
发布于:2002-04-01 13:59
If u wanto port to NT-like system. 老兄这一说,我这一仔细看,也发现了 Fila alignment是130h??? 似乎严谨些的应该是200h(Borland)或1000h(M$),98对PE的检查不严格,但2000就严格多了。有些程序98下能跑,2000却认为它是invalidate Win32 application。 |
|
|
16楼#
发布于:2002-04-01 14:25
[quote]If u wanto port to NT-like system. 老兄这一说,我这一仔细看,也发现了 Fila alignment是130h??? 似乎严谨些的应该是200h(Borland)或1000h(M$),98对PE的检查不严格,但2000就严格多了。有些程序98下能跑,2000却认为它是invalidate Win32 application。 [/quote] The WDM Driver\'s alignment in NT4 and 2K is 20. But it\'s in XP is 80. so I think that try to use 80 to port it. |
|
|
17楼#
发布于:2002-04-01 15:14
老兄,你说清楚些,什么20,80。
有两个alignment,file alignment and image alignment,你说的哪个?应该是file alignment吧。Window对这个没有强制要求,只要是一簇(512字节)的整数倍就行,也就是200h,400h,600h,等等,都行。我没做过试验,但估计在2000下不是200h的整数倍应该不行,98可能行。 |
|
|
18楼#
发布于:2002-04-03 06:18
http://www.njhhack.tk 这个网站上有相关内容吗? 请把程序贴到这儿来吧. |
|