成就中心 DouJin Terraria! 社区服务 统计排行 帮助
  • 5762阅读
  • 8回复

[心得交流]内存,winhex和资源读取问题请教

发帖
59
信仰
0
蓝点
17
符卡
0
系统了解的还不足的原因.......

图像文件被显示出来,应该是被加载到内存中的吧?

比如说一张png图,我用hge读入,这时他应该是在内存中的?

那么他在内存中是如何放置的?和硬盘中一样么?是原封不动的放到内存的一份拷贝么?

如果是,为什么我读不到他的特征,比如说hge的demo,打开后用winhex找到demo的内存,把entire memory dump出来.

然后对这个文件分析,在我的机器上win7 32位,这个文件是86.6mb,只分析png文件,分析的结果是....一些windows图标的png资源.....

为什么dump出的hge demo会分析出windows图标......好像是IE8的图标....hge内存中应该不可能有IE的图标吧....

如果说资源在内存中与硬盘中不同,那么这些windows图标是怎么回事....

如果说相同....为什么demo中png的资源读不出来?只读出了IE的.....
[ 此帖被elegame在2012-06-12 12:51重新编辑 ]
发帖
82
信仰
1
蓝点
68
符卡
0
只看该作者 沙发  发表于: 2012-06-11
一张png图,读完了创建成纹理存在显存里了吧,内存里没有也算正常。其他的不知道。
发帖
59
信仰
0
蓝点
17
符卡
0
只看该作者 板凳  发表于: 2012-06-11
what显存么.....那32MB显存的都放在显存里么?有什么办法从显存里直接读取么?
之前尝试,vs中禁示使用底层内嵌汇编语言中断直接操作显存.......超级悲剧.......NV驱动不知道行不行,估计可能性也不太大,顶多能读个显存容量,不能直接操作吧........好像是什么ring0,ring3权限啥的,操作系统真心折腾人.....

============================

到XP下转了一圈,发现没有IE图标问题了,找了一个游戏戏试,可以提出两张png,但都不是重要的......又找软件试了一下ACDSEE14,可以提出几张界面按钮png......

另外有些会有文件交差现象???比如png文件.
会有png文件头,png文件尾

但是有时会出现下面的情况
png文件头
png文件头
png文件尾
png文件尾

看似错位的情况,无法正确提取......不知道内存中这种东西到底是怎么放的....随机么....随机错位又是怎么回事啊.....

另外winhex抓到应该是虚似内存而非物理内存?他存文件是不是应该顺序呀.....不然他怎么知道文件怎么读啊.....比如这种错位文件怎么读.......需要明确知道地址和长度read一下么....这样的话.....还得从反汇编入手么......好苦逼,于是还得继续折腾反汇编才行么.....    

============================

其实主要是又看到漂亮的游戏素材反汇编又不行才想试试这种想法,看来行不通.....


于是最后决定尝试写个文件资源嗅探器的东西吧,把常用的格式都试着过一遍看能抓出多少算多少.....
[ 此帖被elegame在2012-06-12 20:39重新编辑 ]
发帖
7
信仰
0
蓝点
0
符卡
0
只看该作者 地板  发表于: 2012-06-12
回 2楼(elegame) 的帖子
要图片直接PrtScreen不就得了...
关于资源读取,这个要看各自的实现了,PNG只是文件格式,读到内存里也就是一堆像素数据,人家高兴就在内存放一点,不高兴直接扔进显存然后在内存释放掉,在内存里的格式也是千奇百怪,想怎么存就怎么存。
怎么就上ring0去了呢,如果你懂的话直接去显存读,格式应该是一致的,至于显存里面是什么格式,我也不知道,我就不懂纹理是怎么弄的...
发帖
59
信仰
0
蓝点
17
符卡
0
只看该作者 4楼 发表于: 2012-06-13
能直接读显存么,请教如何做,尝试内嵌汇编直接读失败.......  

PrtScreen....这种方法不能批量,也不够严谨啊,最明显的就是原图如果是大于你屏幕分辩率的图,


你得到的至多是个有损缩放图,这还不包含图层方面的问题,用ps扣图么....
发帖
2
信仰
0
蓝点
0
符卡
0
只看该作者 5楼 发表于: 2012-06-14
你要干什么偶不知道233
不过你可以放进虚拟机里dump显存(不知道有没有这功能)
不然的话你需要写一个虚拟机,按照AV女王的话说,只需要虚拟实现DX主要函数们就可以了所以米难度=AAAAAAAAAA=
模拟器之所以能dump出来就是因为实现了这些。。虽说原理完全不同233

我的头像是啥。。。。。。。。。。。
发帖
59
信仰
0
蓝点
17
符卡
0
只看该作者 6楼 发表于: 2012-06-14
h5来了,让我写一个虚拟机么.....20年后不知道能不能行啊,现在肯定不行......我这渣水平.....
我又想抠图了......放弃了,还是老老实实看基础吧....

头像是默认的那只QB
发帖
3
信仰
0
蓝点
2
符卡
0
只看该作者 7楼 发表于: 2012-06-15
和Lock Vertex一样DX中有Lock Texture   UnLock时由DMA方式送入显存  压缩图片还会涉及到图片解码的部分

发帖
59
信仰
0
蓝点
17
符卡
0
只看该作者 8楼 发表于: 2012-06-16
引用
引用第7楼zalza于2012-06-15 16:42发表的  :
和Lock Vertex一样DX中有Lock Texture   UnLock时由DMA方式送入显存  压缩图片还会涉及到图片解码的部分





求DMA入门文章或例子。
[ 此帖被elegame在2012-06-16 18:07重新编辑 ]
描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码: