列位看官,书接上回,讲到图片如何在bin中储存和读取的一些进阶知识,今天继续:四、刷图原理
大家已经知道,一张图在bin里头,有两部分数据,一个是图片的指针信息,一部分是图片本身的16进制数据,是分别存放的 。659调用图片是通过读取指针信息来进行的 。这正如图书馆藏书一样,659就是一个图书馆,图片本身数据就是一本书,而信息指针就是管理员手中的一个索引目录 。书本身是死的,放在哪儿都一样 。关键是索引目录,他必须要有记载:书的存放位置和书名的内容 。这样,不管书放到哪儿,只要管理员有更新索引,他总能随时找到他,使用他 。
是的,刷图也是犹如换书,所以,我们就不仅仅是把图片这本书换掉(本身的数据覆盖掉),同时还需要修改索引目录(指针信息)中的书名等信息,这样才能确保管理员找到书(能让659正确读取到) 。
是啊,刷图就要同时改bin里的图片指针信息和存储地址上的图片数据,我们也可以用imagehuter直接替换,但修改后,bin是怎么发生变化的呢?我们来看看:
1、 用winhex打开原版xf18版bin,转到偏移量00450000,看,从450000开始是不是都是00 。没什么,看看就好了 。
2、大家往下翻页,或者干脆直接转到偏移量004ffff0 。看,4ffff0前面是不是都是00 。翻页的朋友会知道,从00450000-4ffff0之间都是0 。为什么?因为这段空间是正版bin空闲的地址 。请记住,这段是空闲的,记住就好了 。
3、打开ImageHunter,打开原版xf18版bin,再找到连通新时空那张(地址:229d4)照例记下所有信息 。我们选择一幅128*128的图把它替换掉,但注意 不要选择清空。
4、这次,替换后,记下新信息 。我们发现,除信息1和指针不变外,其他信息都变了,信息可能大家都不一样(那是因换入的图不一样),但图像地址都一样,是“00450000” 。我们知道,“00450000”就是我们新图片的地址了 。好,保存成一个新的bin 。
4、用winhex打开这新的bin,转到偏移量00229D24(原来图片的地址) 。哇,和昨天不一样啊,不再是都是00的数据了 。难道,这是新刷入图的数据 。当然不是了,按信息,新图应该在00450000 。那这是?记得吗?我们昨天选择了清空,但今天没有 。原来,我们选清空,就是把原来的那副图从bin里头删掉了,不清空,图片数据会依然保留着 。也就是说,刷图可以保留原图,也可以不保留,这都不影响新图片 。
5、再转到偏移量00450000 。哦怎么多了这么多数据了 。嗬嗨,这就是新图片的了?对,没错 。从004500000开始,都是他 。总共占地是,哦,大家应该都不一样,但可以肯定,新图片是多少字节,他就占多少个位置 。这点很重要哦 。
6、知道了新图片替换时是怎么存放的,那我们在看看指针的变化,转到0037b650 。看看,是变了,格式没变,大小变了,地址也指向了00450000 。啊,真的哦 。
对,刷图就是这样简单,只要能找到图片的指针,随便在659的空闲位置查入新图片信息,然后修改指针就可以了 。
五、刷图原理巩固
刷图真的很简单 。不信,我们这次直接在winhex里通过修改指针信息把图改回来 。
1、打开ImageHunter,打开刚才修改的bin,(按128*128查找),是不是找不到229D24这幅图了,但是多了450000这幅你加入的图?但我们知道连同新时空这幅还在229D24这个位置阿 。嗯,那是因为现在没有任何指针指向他,所以找不出来了 。
2、在用winhex打开这新的bin,转到偏移量0037b650,把指针信息该回我们原来记下的连同新时空图片的信息(如图),记住是“00808000”,“ce4a0400”“249d2200" 。
推荐阅读
- 室内二氧化碳浓度标准
- E638完全手册之二[配件篇]
- 烧烤打包第二天能吃吗
- 小米二用的什么处理器 小米2cpu到底是什么配置
- 支付宝微信合并二维码方法
- 初二说说
- 二手房买房需要什么证件
- 特工绍特有第二部吗
- 武汉二桥限单双号吗
- 二十的因数有什么
