社区
J2ME
帖子详情
关于还原图片资源文件
java悠悠
2006-02-13 05:15:52
程序中的图片等资源文件往往被压缩成以*.bin、*.pak格式的文件,我想把图片数组还原成png文件,懒得去看mdip的实现,那位大哥有现成的源码,给小弟参考一下。
...全文
627
28
打赏
收藏
关于还原图片资源文件
程序中的图片等资源文件往往被压缩成以*.bin、*.pak格式的文件,我想把图片数组还原成png文件,懒得去看mdip的实现,那位大哥有现成的源码,给小弟参考一下。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
prok
2006-02-23
打赏
举报
回复
明白lz的意思了.你读取资源文件的时候获取的image其实已经包含了所有的数据.只需要把这个数组写到文件里就可以了.
cxc014
2006-02-22
打赏
举报
回复
嗯,程序中要创建一个Image对象,肯定要得到整个Image完整的数据,你看下它是怎么得到这个数据(byte[])的,然后用C或是Java什么的,照样读出来,再到这个byte[]写入到文件不就得到了么
如果想做工具的话,几乎很难,正如前面说的,数据格式都是不定的
java悠悠
2006-02-22
打赏
举报
回复
如果用抓图的话,我就不再这问这个问题了,研究波斯王子2时我就用的抓图,觉得太费事了,想自己做个工具转换一下
cxc014
2006-02-22
打赏
举报
回复
还没搞定??
java悠悠
2006-02-21
打赏
举报
回复
我是想学习一下,但是反编译的看不懂,都是一些a,b,c等的一些变量,我想把图片还原出来有利于研究游戏的设计思路
java悠悠
2006-02-21
打赏
举报
回复
楼上说的我知道,也能得到png图片的byte[],我是想知道要怎么把这个文件里面的byte[] imageData还原成png图片
whycloud
2006-02-21
打赏
举报
回复
人家使用混淆器的目的就是不想让你看懂人家的东西,LZ想要干什么?破解别人的游戏?
oliveyuganfei
2006-02-21
打赏
举报
回复
得到BYTE以后,把它画出来,再用QQ载图,晕,,,加我.QQ:395161024
java悠悠
2006-02-21
打赏
举报
回复
byte[]中的不是完整的image对象,只是保存的像素值
cxc014
2006-02-21
打赏
举报
回复
如果用J2ME是实现不了楼主你这个想法的,但也可以变通下,你把得到的png画出来,然后截屏,保存为png文件.用其实语言到比较容易的,你直接把资源中png图片的数据(byte[]),写入到一个新的文件中,既还原了噻
cxc014
2006-02-20
打赏
举报
回复
况且不说加密,一般情况下都是加了些其它的信息一起打进去的,在程序再来提取分离,没有源代码是很难还原PNG的
cxc014
2006-02-20
打赏
举报
回复
LZ是不是想把一张png打成BIN或PAK文件,然后读进再画?
如果是这样的话还是比较简单的,如果不考虑压缩的话,直接把bin/pak文件打成:
==========================================================================
[第1张图片的索引][第2图片的索引]...[[第1张图片的数据][第2图片的数据]...
==========================================================================
既可,至于如何打进,这就看你用什么语言了,反正就跟平常读/写文件没什么两样.
然后在程序中通过两个索引,既可确定一张png图片的byte[]了
java悠悠
2006-02-20
打赏
举报
回复
不知道我把问题说清楚了没有,至于怎么加密的我不关心
java悠悠
2006-02-20
打赏
举报
回复
用public static Image createImage(byte[] imageData,int imageOffset,int imageLength)可以得到一个Image对象,但是在j2me中好像是不能把它输出到文件中,我想知道用j2se怎么得到Image对象?我可以提供imageData参数,最好是有源码,我不想去啃j2me的game api,如果实在没办法只能去读j2me的代码了
dd777
2006-02-19
打赏
举报
回复
应该是j2se或者windows编程实现重新做png的file,用来研究一下别人的程序是怎么做的。
j2me实现之后做什么用呢?
xueyong1203
2006-02-19
打赏
举报
回复
看看它的游戏里面怎么把资源文件还原成图片的,把代码复制过来就OK了
没有固定的方法,因为我们不知道他采取的是何种的加密方式
java悠悠
2006-02-19
打赏
举报
回复
用j2se实现也可以,其实主要目的是想把别人的资源文件还原成png图片,研究一下反编译后的程序,要不然很难看懂那些a、b、c、d等方法和变量
prok
2006-02-18
打赏
举报
回复
还原以后你想写到哪?
cxc014
2006-02-18
打赏
举报
回复
我想LZ还没把你的问题描述清楚,如果你能得到你图片的数组,用上面的两个标准API函数就能得到Image对象.问题还没解决,就是说你也还搞不清你的数组是怎样一格式存储的?
java悠悠
2006-02-17
打赏
举报
回复
CSDN上的高手都去哪了?
加载更多回复(8)
编译器在处理const变量跟一般变量时的区别
const变量,也就是常量,当某个变量加上const属性的时候,表明这个变量不可修改。 const变量是不可写的,那么我们对于const变量的处理只剩下读操作了。 当我们读一般的变量的时候,会先获取该变量的地址,然后到该地址去取数据,那么对于const变量的读操作是怎么样的呢。 下面代码有助于更好理解const变量: #include<iostream>...
搬砖:编译器在处理const变量跟一般变量时的区别
编译器在处理const变量跟一般变量时的区别 2018年05月16日 12:19:52 米沙子418 阅读数:200 转自:https://www.cnblogs.com/TaigaCon/archive/2012/12/19/2824355.html const变量,也就是常量,当某个变量加上const属性的时候,表明这个变量不可修改。 const变量是不可写的,那么我们对于con...
C++ 中 define 与 const 的区别:从预处理器到编译器的进化之路
define和const的区别本质上是预处理器与编译器的区别,也是 C 风格与 C++ 风格的分界线。处理阶段不同:#define 在预处理阶段做文本替换,const 是编译器处理的真正变量类型安全不同:#define 无类型,const 有完整类型信息,能享受编译器类型检查作用域不同:#define 是全局的、无规则的,const 遵循 C++ 标准作用域调试体验不同:#define 在调试器中不可见,const 可见可查设计哲学不同。
const修饰的变量的存储位置
c语言中const全局变量存储在只读数据段,编译期最初将其保存在符号表中,第一次使用时为其分配内存,在程序结束时释放。 而const局部变量(局部变量就是在函数中定义的一个const变量,)存储在栈中,代码块结束时释放。 在c语言中可以通过指针对const局部变量进行修改,而不可以对const全局变量进行修改。因为const全局变量是存储在只读数据段 而c++中,一个const不是必需创建内...
【C语言指针与const深度解析】:彻底搞懂const修饰变量与指针的核心区别
掌握C语言const修饰指针与变量区别,深入解析常量指针、指针常量与只读变量的应用场景与核心规则。清晰图解语法结构,避免常见错误,提升代码安全性与可读性,值得收藏。
J2ME
13,096
社区成员
26,491
社区内容
发帖
与我相关
我的任务
J2ME
Java J2ME
复制链接
扫一扫
分享
社区描述
Java J2ME
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章