我不是世界编程比赛第一名

   前几天发了一篇在网上红得发紫《据说是世界编程大赛第一名写的程序 》,  

http://blog.csdn.net/Q_Jizi/archive/2007/05/23/1621711.aspx 短短的几十行16进制代码,却能完成显示一段3D迷宫动画,同时播放音乐的功能。将几g的东西压缩到几k大,显示了汇编技术的强大。我一直在想,按照这段程序的压缩技术,以后图形图像和音乐文件的压缩岂不是变得很简单了?而且运行速度也会加快?但是一直没有搞懂,这段程序是在源程序时进行的压缩?还是对生成的exe进行的压缩?还是对他的16进制代码进行的压缩?希望有大虾能解答下^-^
   本人研究了几天,虽然不懂汇编技术,但在“网络骑士 215422567”的帮助下,还是明白了这种将执行文件转16进制运行的技术。在这里首先对“网络骑士 215422567”表示感谢^-^
   下面我贴一下将exe执行文件转16进制运行的步骤:
   16进制文件虽然执行得很快,但在读入内存时还是要浪费一些时间的,所以在网上下载了两个几k的exe进行试验。
   首先是一个很小的播放器。
   用一个16进制编辑器打开这个exe文件就会看到他的16进制码。将它的16进制码复制下来以下面的格式存到一个txt文件中。

----------代码-------
cls
echo Code By 网络骑士 215422567
debug

e 0100 4d 5a 90 00 03 00 00 00 04 00
e 010A 00 00 ff ff 00 00 b8 00 00 00
e 0114 00 00 00 00 40 00 00 00 00 00
e 011E 00 00 00 00 00 00 00 00 00 00
e 0128 00 00 00 00 00 00 00 00 00 00
e 0132 00 00 00 00 00 00 00 00 00 00
e 013C c8 00 00 00 0e 1f ba 0e 00 b4
e 0146 09 cd 21 b8 01 4c cd 21 54 68
e 0150 69 73 20 70 72 6f 67 72 61 6d
e 015A 20 63 61 6e 6e 6f 74 20 62 65
e 0164 20 72 75 6e 20 69 6e 20 44 4f
e 016E 53 20 6d 6f 64 65 2e 0d 0d 0a
e 0178 24 00 00 00 00 00 00 00 e1 62
e 0182 cf d9 a5 03 a1 8a a5 03 a1 8a
e 018C a5 03 a1 8a 4d 1c a5 8a a7 03
e 0196 a1 8a 5f 20 b8 8a a6 03 a1 8a
e 01A0 a5 03 a0 8a a7 03 a1 8a a0 0f
e 01AA c1 8a a4 03 a1 8a a0 0f fb 8a
e 01B4 a4 03 a1 8a 52 69 63 68 a5 03
e 01BE a1 8a 00 00 00 00 00 00 00 00
e 01C8 50 45 00 00 4c 01 01 00 f0 da
e 01D2 f0 3f 00 00 00 00 00 00 00 00
e 01DC e0 00 0f 01 0b 01 07 0a 00 02
e 01E6 00 00 00 00 00 00 00 00 00 00
e 01F0 ea 10 00 00 00 10 00 00 00 20
e 01FA 00 00 00 00 40 00 00 10 00 00
e 0204 00 02 00 00 04 00 00 00 00 00
e 020E 00 00 04 00 00 00 00 00 00 00
e 0218 00 20 00 00 00 02 00 00 00 00
e 0222 00 00 02 00 00 04 00 00 10 00
e 022C 00 10 00 00 00 00 10 00 00 10
e 0236 00 00 00 00 00 00 10 00 00 00
e 0240 00 00 00 00 00 00 00 00 20 11
e 024A 00 00 3c 00 00 00 00 00 00 00
e 0254 00 00 00 00 00 00 00 00 00 00
e 025E 00 00 00 00 00 00 00 00 00 00
e 0268 00 00 00 00 00 00 00 00 00 00
e 0272 00 00 00 00 00 00 00 00 00 00
e 027C 00 00 00 00 00 00 00 00 00 00
e 0286 00 00 00 00 00 00 00 00 00 00
e 0290 00 00 00 00 00 00 00 00 00 00
e 029A 00 00 00 00 00 00 00 10 00 00
e 02A4 10 00 00 00 00 00 00 00 00 00
e 02AE 00 00 00 00 00 00 00 00 00 00
e 02B8 00 00 00 00 00 00 00 00 2e 74
e 02C2 65 78 74 00 00 00 9c 01 00 00
e 02CC 00 10 00 00 00 02 00 00 00 02
e 02D6 00 00 00 00 00 00 00 00 00 00
e 02E0 00 00 00 00 20 00 00 60 00 00
e 02EA 00 00 00 00 00 00 00 00 00 00
e 02F4 00 00 00 00 00 00 00 00 00 00
e 02FE 00 00 6c 11 00 00 00 00 00 00
e 0308 88 11 00 00 00 00 00 00 54 68
e 0312 69 73 20 50 72 6f 67 72 61 6d
e 031C 20 55 73 65 65 64 20 49 6e 20
e 0326 57 69 6e 64 6f 77 73 20 4e 54
e 0330 2f 32 4b 2f 58 50 21 20 42 79
e 033A cd f8 c2 e7 c6 ef ca bf 51 51
e 0344 3a 32 31 35 34 32 32 35 36 37
e 034E 00 00 b9 fe b9 fe a3 ae a3 ae
e 0358 a3 ae ca c7 b2 bb ca c7 ba dc
e 0362 d0 a1 c4 d8 a3 bf b2 bb b9 fd
e 036C c3 bb ca b2 c3 b4 c0 b2 2c ca
e 0376 d4 d1 e9 b6 f8 d2 d1 c0 b2 00
e 0380 00 00 00 00 00 00 00 00 00 00
e 038A 00 00 00 00 00 00 00 00 00 00
e 0394 00 00 00 00 00 00 00 00 00 00
e 039E 00 00 00 00 00 00 00 00 00 00
e 03A8 00 00 00 00 00 00 00 00 00 00
e 03B2 00 00 00 00 00 00 00 00 00 00
e 03BC 00 00 00 00 00 00 00 00 00 00
e 03C6 00 00 00 00 00 00 00 00 00 00
e 03D0 00 00 00 00 00 00 00 00 00 00
e 03DA 00 00 00 00 00 00 00 00 00 00
e 03E4 00 00 00 00 00 00 68 08 11 40
e 03EE 00 c3 d9 f5 69 0f a2 0f 01 05
e 03F8 1c 11 40 00 50 ff 25 00 10 40
e 0402 00 18 50 eb 15 19 a1 08 10 40
e 040C 00 68 fc 10 40 00 eb f0 0f 01
e 0416 05 1c 11 40 00 66 c3 cc cc cc
e 0420 5c 11 00 00 00 00 00 00 00 00
e 042A 00 00 7a 11 00 00 00 10 00 00
e 0434 64 11 00 00 00 00 00 00 00 00
e 043E 00 00 92 11 00 00 08 10 00 00
e 0448 00 00 00 00 00 00 00 00 00 00
e 0452 00 00 00 00 00 00 00 00 00 00
e 045C 6c 11 00 00 00 00 00 00 88 11
e 0466 00 00 00 00 00 00 af 00 45 78
e 0470 69 74 50 72 6f 63 65 73 73 00
e 047A 4b 45 52 4e 45 4c 33 32 2e 64
e 0484 6c 6c 00 00 00 00 52 75 6e 44
e 048E 6c 6c 57 00 6d 73 64 78 6d 2e
e 0498 6f 63 78 00 00 00 00 00 00 00
e 04A2 00 00 00 00 00 00 00 00 00 00
e 04AC 00 00 00 00 00 00 00 00 00 00
e 04B6 00 00 00 00 00 00 00 00 00 00
e 04C0 00 00 00 00 00 00 00 00 00 00
e 04CA 00 00 00 00 00 00 00 00 00 00
e 04D4 00 00 00 00 00 00 00 00 00 00
e 04DE 00 00 00 00 00 00 00 00 00 00
e 04E8 00 00 00 00 00 00 00 00 00 00
e 04F2 00 00 00 00 00 00 00 00 00 00
e 04FC 00 00 00 00
r cx
0400
n wlqs.com
w
q
wlqs.com
cls
exit
-----------代码---------
   e是修改内存的命令,后面紧接的是地址。地址的计算方法是这样的:第一条的地址是100,后面的地址依次是前一行代码的地址加上前一行16进制码的字节数。比如第一条是100,那么第二条就是100(16进制)+10的16进制=010A,后面的以此类推。而且每一行的字节数可以随便。然后加上文件头和尾的处理命令,打开一个CMD窗口,把以上代码复制粘贴到CMD的口里让运行起来,就会看到一个类似于mpc的播放器。这就是将windows的exe程序转16进制运行的过程,其实很简单吧^-^

   dos程序的exe也可用同样的方法来运行。下面这段是一个可以使dos窗口变色的程序:

-----------代码---------
cls
echo Code By 七之子 286065264
debug


e 0100 4D 5A 80 00 02 00 01 00 20 00
e 010A 00 00 FF FF 00 00 00 00 00 00
e 0114 00 00 03 00 3E 00 00 00 01 00
e 011E FB 71 6A 72 00 00 00 00 00 00
e 0128 00 00 00 00 00 00 00 00 00 00
e 0132 00 00 00 00 00 00 00 00 00 00
e 013C 00 00 01 00 03 00 00 00 00 00
e 0146 00 00 00 00 00 00 00 00 00 00
e 0150 00 00 00 00 00 00 00 00 00 00
e 015A 00 00 00 00 00 00 00 00 00 00
e 0164 00 00 00 00 00 00 00 00 00 00
e 016E 00 00 00 00 00 00 00 00 00 00
e 0178 00 00 00 00 00 00 00 00 00 00
e 0182 00 00 00 00 00 00 00 00 00 00
e 018C 00 00 00 00 00 00 00 00 00 00
e 0196 00 00 00 00 00 00 00 00 00 00
e 01A0 00 00 00 00 00 00 00 00 00 00
e 01AA 00 00 00 00 00 00 00 00 00 00
e 01B4 00 00 00 00 00 00 00 00 00 00
e 01BE 00 00 00 00 00 00 00 00 00 00
e 01C8 00 00 00 00 00 00 00 00 00 00
e 01D2 00 00 00 00 00 00 00 00 00 00
e 01DC 00 00 00 00 00 00 00 00 00 00
e 01E6 00 00 00 00 00 00 00 00 00 00
e 01F0 00 00 00 00 00 00 00 00 00 00
e 01FA 00 00 00 00 00 00 00 00 00 00
e 0204 00 00 00 00 00 00 00 00 00 00
e 020E 00 00 00 00 00 00 00 00 00 00
e 0218 00 00 00 00 00 00 00 00 00 00
e 0222 00 00 00 00 00 00 00 00 00 00
e 022C 00 00 00 00 00 00 00 00 00 00
e 0236 00 00 00 00 00 00 00 00 00 00
e 0240 00 00 00 00 00 00 00 00 00 00
e 024A 00 00 00 00 00 00 00 00 00 00
e 0254 00 00 00 00 00 00 00 00 00 00
e 025E 00 00 00 00 00 00 00 00 00 00
e 0268 00 00 00 00 00 00 00 00 00 00
e 0272 00 00 00 00 00 00 00 00 00 00
e 027C 00 00 00 00 00 00 00 00 00 00
e 0286 00 00 00 00 00 00 00 00 00 00
e 0290 00 00 00 00 00 00 00 00 00 00
e 029A 00 00 00 00 00 00 00 00 00 00
e 02A4 00 00 00 00 00 00 00 00 00 00
e 02AE 00 00 00 00 00 00 00 00 00 00
e 02B8 00 00 00 00 00 00 00 00 00 00
e 02C2 00 00 00 00 00 00 00 00 00 00
e 02CC 00 00 00 00 00 00 00 00 00 00
e 02D6 00 00 00 00 00 00 00 00 00 00
e 02E0 00 00 00 00 00 00 00 00 00 00
e 02EA 00 00 00 00 00 00 00 00 00 00
e 02F4 00 00 00 00 00 00 00 00 00 00
e 02FE 00 00 00 00 00 00 00 00 00 00
e 0308 00 00 00 00 00 00 00 00 00 00
e 0312 00 00 00 00 00 00 00 00 00 00
e 031C 00 00 00 00 00 10 00 20 00 40
e 0326 00 70 00 00 00 00 00 00 00 00
e 0330 B8 02 00 8E D8 BB 00 00 8B F3
e 033A E8 24 00 B4 0B CD 21 FE C0 75
e 0344 F8 B4 00 CD 16 80 EC 01 74 0E
e 034E 43 43 8B C3 B7 0A F6 F7 8A DC
e 0358 B7 00 EB DC B8 00 4C CD 21 50
e 0362 53 06 57 56 51 B8 00 B8 8E C0
e 036C BF 00 00 8B 84 00 00 B9 9F 0F
e 0376 FC F3 AB 59 5E 5F 07 5B 58 C3
e 0380 FB 52 03 04 22 00 00 00 02 00
e 038A 00 00 17 00 00 00 00 00 00 00
e 0394 00 00 00 00 00 00 00 00 01 00
e 039E 00 00 00 00 00 00 00 00 00 00
e 03A8 00 00 00 00 00 00 00 00 00 00
e 03B2 00 00 00 00 00 00 80 02 00 00
e 03BC 00 00 00 00 00 00 00 00 00 00
e 03C6 38 00 00 00 00 00 00 00 00 00
e 03D0 00 00 00 00 00 00 00 00 00 00
e 03DA 00 00 00 00 00 00 2C 01 00 00
e 03E4 00 00 00 00 00 00 00 00 00 00
e 03EE 00 00 00 00 00 00 00 00 00 00
e 03F8 00 00 00 00 00 00 00 00 02 00
e 0402 00 00 00 00 00 00 00 00 00 00
e 040C 00 00 00 00 00 00 00 00 00 00
e 0416 00 00 00 00 00 00 00 00 00 00
e 0420 04 00 00 00 00 01 00 00 02 00
e 042A 00 00 80 FF FF FF 7F 00 00 00
e 0434 00 00 00 00 05 00 00 00 00 02
e 043E 00 00 04 00 00 00 00 80 FF FF
e 0448 FF 7F 00 00 00 00 00 00 06 00
e 0452 00 00 00 04 00 00 06 00 00 00
e 045C 00 00 00 80 FF FF FF 7F 00 00
e 0466 00 00 08 00 00 00 00 01 00 00
e 0470 08 00 00 00 00 00 00 00 FF 00
e 047A 00 00 00 00 00 00 09 00 00 00
e 0484 00 02 00 00 0A 00 00 00 00 00
e 048E 00 00 FF FF 00 00 00 00 00 00
e 0498 0A 00 00 00 00 04 00 00 0C 00
e 04A2 00 00 00 00 00 00 FF FF FF FF
e 04AC 00 00 00 00 0D 00 00 00 00 04
e 04B6 00 00 00 00 00 00 0F 00 00 00
e 04C0 00 08 00 00 00 00 00 00 10 00
e 04CA 00 00 00 0A 00 00 00 00 00 00
e 04D4 0E 00 00 00 00 06 00 00 00 00
e 04DE 00 00 28 00 00 00 00 01 00 00
e 04E8 00 00 00 00 0C 00 00 00 00 01
e 04F2 00 00 13 00 00 00 00 00 00 00
e 04FC FF 00 00 00 00 00 00 00 07 00
e 0506 00 00 00 08 00 00 00 00 00 00
e 0510 0B 00 00 00 00 08 00 00 00 00
e 051A 00 00 2B 00 00 00 00 0A 00 00
e 0524 00 00 00 00 00 00 00 00 45 3A
e 052E 5C 54 41 53 4D 35 30 5C 42 49
e 0538 4E 5C 54 45 53 54 53 43 52 2E
e 0542 41 53 4D 00 54 45 53 54 53 43
r cx
0400
n wlqs.com
w
q
wlqs.com
cls
exit
-----------代码---------
    运行方法同上,运行完后只出现一个空的dos屏幕,这时只要点击enter键dos屏幕就会变色。这种手段可能并不稀奇,但偶现在更想知道的是《据说是世界编程大赛第一名写的程序 》的压缩技术。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值