首页
社区
课程
招聘
[旧帖] 图片重命名为exe仍然可以运行,怎么实现的,有例子 0.00雪花
发表于: 2010-10-17 00:17 2422

[旧帖] 图片重命名为exe仍然可以运行,怎么实现的,有例子 0.00雪花

2010-10-17 00:17
2422
今天我一个QQ好友给我发了一张图片,叫我看完后重命名为exe,结果我发现,把那张图片重命名为exe仍然可以正常运行,问一下各位,怎么使一个文件即是图片,又是exe呀,就是说,后缀为gif时可以显示,后缀为exe时也可以运行,不知道各位听没听懂我想表达什么,我又长见识了,看来看雪高手真多,

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 78
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不懂,坐等高手解答
貌似跟那些种子伪装成图片是一个道理
2010-10-17 00:50
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
3
这张图似曾相识
好像是大Z画的
2010-10-17 00:55
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
坐等高手、、、
2010-10-17 01:08
0
雪    币: 78
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个……
网上见过那种可以把其他程序伪装成图片的方法和程序。
似乎也可以反着来,好像有个工具可以实现。
2010-10-17 01:58
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
利用的 com 程序格式----

因为 com 头 256 个字节 没什么限制--正好放 gif 的文件头等重要信息---

其它部分 应该是这样做的:

找好 某个 图片--- 在它的 基础上 改,自己写个 简短 的com程序---十六进制编辑 就行

PS:我受其启发,自己做了个 .mp3  <--> .exe 的,能播音乐 --改后缀名 还可以执行 太大了(因为是 MP3) 所以 没传上来 --
2010-10-17 02:55
0
雪    币: 347
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
种子那个比较简单,前几天刚好一个朋友问我这个,说是一个jpg文件一打开是个图片,但是把jpg改成rar,就能解压出一个bt种子。

于是用打开那个jpg文件看了看,果然在后面找到了Rar!的标志。然后调试了一下rar解压文件的代码,发现rar并不是只认文件开头的rar!,找不到的话还会往后找。

所以要制作这么个能解压出种子的jpg文件,只需要找个喜欢的图片A.jpg,要隐藏的压缩包B.rar,简单通过dos命令就能拼出来: copy A.jpb /B + B.rar /B C.jpg /B

这个C.jpg就是包含rar的文件,改扩展名为rar就能解压了。

这个gif我再看一看。
2010-10-17 08:34
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习了哦……
2010-10-17 08:39
0
雪    币: 347
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
GIF格式的前面部分大概看了一下

前6个字节:GIF89a
其中前3字节固定,后三字节是版本号,87a,89a等

接下来是逻辑屏幕描述块,7个字节
typedef struct gifscrdesc
{
      WORD wWidth;
      WORD wDepth;
      struct globalflag
         {
            BYTE PalBits   : 3;
            BYTE SortFlag  : 1;
            BYTE ColorRes  : 3;
            BYTE GlobalPal : 1;
         }  GlobalFlag;
      BYTE byBackground;
      BYTE byAspect;
}  GIFSCRDESC;
其中byAspect是高宽像素比,这个值好像不太重要。我修改了几次值,都看不出对图片显示的影响。

接下来是10字节的图像描述块
typedef struct gifimage
  {
        WORD wLeft;
        WORD wTop;
        WORD wWidth;
        WORD wDepth;
        struct localflag
           {
              BYTE PalBits   : 3;
              BYTE Reserved  : 2;
              BYTE SortFlag  : 1;
              BYTE Interlace : 1;
              BYTE LocalPal  : 1;
           }  LocalFlag;
   }  GIFIMAGE;
其中,wLeft用来指定图像相对逻辑屏幕左上角的X坐标,以象素为单位

所以,lz这幅图片正是利用了第13,14,15个字节构造了一个jmp语句,跳到了文件偏移的0x8000处,此处开始是一个真正的com格式的执行文件。

所以把这个文件的前面32k数据去掉,就得到了一个完整的com格式程序。但是需要做一些小调整,比如第0x4b个字节开始的05 07 08,这里在修正段数据,因为前面8k数据丢了,所以这里要修正成05 07 00
2010-10-17 09:28
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
就是Z大的作品,UPK上有原版的。
2010-10-17 19:28
0
雪    币: 255
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习了…………
2010-10-17 20:08
0
雪    币: 193
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
有一个工具可以把exe文件隐藏在图片中。。。
2010-10-18 09:30
0
雪    币: 775
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
回楼上...很多木马都是这么做地.......
2010-10-18 09:43
0
雪    币: 255
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
看看我有多少KX了!
2010-10-18 11:45
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我可不会,希望你能回答。
2010-10-18 12:23
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
貌似有软件能实现.
2010-10-18 13:16
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
很想看看,但是下载需要钱,真希望赶紧成为正式会员
2010-10-19 10:51
0
雪    币: 1173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我也来好好看一下了啊
2010-10-19 11:28
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
啥时候转正。。。。
2010-10-19 11:44
0
游客
登录 | 注册 方可回帖
返回
//