chimian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-10
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3614回复:18

世界最小的 pe 程序 - ( 请多多指教, 多谢 )

楼主#
更多 发布于:2002-03-03 03:01


                    
                       世界最小的 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  ?
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-03-04 10:44
这有意义吗?
所谓最小,就是最小的文件头加上一条ret 10h 指令,这是谁都会做的
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
matt
驱动中牛
驱动中牛
  • 注册日期2001-07-24
  • 最后登录2016-02-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-03-04 12:27
Cih 所构造的宿主就是一个mini pe file.
System Internals http://sys.xiloo.com
chimian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-10
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-03-06 16:11
可我现在不知道怎样才能再把它缩短. 再就是构造出支持 windows xp 的世界最小的 pe 程序. 这对我们理解 pe 程序格式, 以及操作系统的程序加载机制有帮助. 有些病毒编程, 解密加密, 也要用到这些技术.
iamwhg
驱动牛犊
驱动牛犊
  • 注册日期2002-01-10
  • 最后登录2007-09-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-08 16:20
真小呀!
他人笑我忒疯癫,我笑他人看不穿。
idiot
驱动牛犊
驱动牛犊
  • 注册日期2002-02-14
  • 最后登录2003-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-03-08 20:15
的确够小!
顺便问一句:XP不用PE格式的文件吗?(俺没用过XP)
chimian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-10
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-03-09 14:44

    XP 也以 PE 格式的程序文件为主. 即使是将来的 windows 新版本也用. 不过程序加载机制大不相同.
    
    微软的操作系统中分 98 系列与 NT 系列, 程序加载机制有天壤之别. 这两大类中, 不同版本的操作系统, 程序的加载机制也有很大区别. 这是微软不断改写其操作系统核心代码造成的. 如果不研究系统核心, 一般用户很难知道这是为什么. 通过不用编译器, 手工构造 pe 程序的方法, 可以让我们加深对操作系统核心的理解. 比如 CIH 病毒的作者陈英豪, 肯定是这方面的专家, 就是说他是手工构造程序的专家. 别的病毒作者, 或者程序解密加密的高手, 也肯定是手工构造程序的专家.

    不过你不要理解为我说自己是专家呀, 呵呵. 我还要留着一颗谦虚心, 向大家请教呢. 你看这个网站上, 真是高手多多呀!
stoneyr
驱动牛犊
驱动牛犊
  • 注册日期2002-01-13
  • 最后登录2007-10-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-03-10 18:58
我不懂
我也想学
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-03-16 11:29
会手工构造程序就是专家?那专家也当得太容易了吧。
我不是专家,但我也能手工构造程序。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
chimian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-10
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-03-18 10:47
那你试试能不能构造出比我上面的程序更小的程序. 必须是 pe 格式, 并且要能正确执行. 哪怕只执行一个字节的代码. 不论支持什么操作系统都可以( 9x / 2k / nt / xp ). 一个老外宣称构造出了 nt 下的 192 个字节的 pe 程序, 结果后来我们测试, 他的程序运行出错, 不能算成功. 大家互相交流可以共同进步啊.
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-03-18 12:20
那你试试能不能构造出比我上面的程序更小的程序. 必须是 pe 格式, 并且要能正确执行. 哪怕只执行一个字节的代码. 不论支持什么操作系统都可以( 9x / 2k / nt / xp ). 一个老外宣称构造出了 nt 下的 192 个字节的 pe 程序, 结果后来我们测试, 他的程序运行出错, 不能算成功. 大家互相交流可以共同进步啊.

我以前没做过,等我有时间我试试。
不过,说句实话,我觉得这样做没什么意义,没有使用价值。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
流氓兔
驱动老牛
驱动老牛
  • 注册日期2001-06-27
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-03-18 14:26
蹭分!!!
我是流氓!!!我怕谁!!! 不!!应该是我是老流氓!!!我怕谁!!![img]http://202.98.116.70:888/cgi-bin/newmov/bbs/attachment.cgi?forum=4&topic=25473&postno=1&type=.jpg[/img]
chimian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-10
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-03-18 20:36
这个问题看起来简单, 但是当你挑战吉尼斯的时候, 平时最简单的事情也会变得很难. 只有亲手试试才会知道. 比如陈景润研究的 1 + 2  .

njhhack
驱动牛犊
驱动牛犊
  • 注册日期2001-12-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-03-28 15:29
我构造过一个更小的到我主页来看
www.njhhack.tk
剑影
Nouk
驱动中牛
驱动中牛
  • 注册日期2001-08-22
  • 最后登录2006-10-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-03-29 23:09
If u wanto port to NT-like system.
Plz to check ur Alignment.
Taiwan's Driver Developer
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-04-01 13:59
If u wanto port to NT-like system.
Plz to check ur Alignment.

老兄这一说,我这一仔细看,也发现了
Fila alignment是130h???
似乎严谨些的应该是200h(Borland)或1000h(M$),98对PE的检查不严格,但2000就严格多了。有些程序98下能跑,2000却认为它是invalidate Win32 application。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Nouk
驱动中牛
驱动中牛
  • 注册日期2001-08-22
  • 最后登录2006-10-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-04-01 14:25
[quote]If u wanto port to NT-like system.
Plz to check ur Alignment.

老兄这一说,我这一仔细看,也发现了
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.
Taiwan's Driver Developer
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-04-01 15:14
老兄,你说清楚些,什么20,80。
有两个alignment,file alignment and image alignment,你说的哪个?应该是file alignment吧。Window对这个没有强制要求,只要是一簇(512字节)的整数倍就行,也就是200h,400h,600h,等等,都行。我没做过试验,但估计在2000下不是200h的整数倍应该不行,98可能行。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
chimian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-10
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-04-03 06:18
    
    http://www.njhhack.tk

    这个网站上有相关内容吗?  
    请把程序贴到这儿来吧.
游客

返回顶部