search 登录 注册
arrow_back返回列表
ID:10086
light_modedark_modedark_modestarstar
Lv.2 独赏二月雪
edit_note帖子 625
stars积分 25,266
event加入 2011-02-06
怀旧国机

文件剪切手工分离HuR教程

schedule发表于 2011-08-22 19:07:00 visibility查看 827 chat_bubble回复 17
#1 楼主
如果你有一个支持按字节剪切的十六进制编辑器,就可以手工分离HuR了。方法如下:
首先你要知道这个HuR中数据的长度。一般HuR的分卷大小为950KB,就是950*1024=972800B。可是最后一卷的大小怎么确定呢?
我们把文件指针跳转到倒数第24字节的位置(从文件开头起第L-24个字节,L是整个文件的长度),然后向后读取4字节,读出来的就是HuR的大小了,它是十六进制无符号整数(小尾)。比如,我们读到了BF 3A 21 58,怎么把它转换为10进制呢?
1.颠倒字节序。手机和电脑的CPU都是一群奇怪的家伙,都是倒着处理数据的,所以这个数也是倒的。我们为了看明白,得把它颠倒过来,变成58 21 3A BF。
2.每位乘权值,得到结果。
A~F=10~15,这个大家都知道吧。
所以58 21 3A BF = 15*16^0 + 11*16^1 + 10*16^2 + 3*16^3 + 1*16^4 + 2*16^5 + 8*16^6 + 5*16^7 = ……
16^3就是16的3次方=16*16*16
16^0=1
慢慢算吧,呵呵。
假设算得的结果是N,那么数据开始的位置就是从文件末尾开始倒数24+N个字节的位置(如果从文件开头算起,就是第L-24-N个字节,L是整个文件的长度),数据的长度就是N。
现在我们可以剪切了。
剪切好后再把各分卷的数据合并,我们就得到了一个完整的文件:)
希望有人可以把它变成程序:)
注:在php中可以用unpack('V',$$int);得到十进制数(不要颠倒字节序,返回的是数组)
在C语言中,用指针指向那四字节(不要颠倒字节序),然后把指针类型改成 无符号长整型(mrp SDK里用uint32,原始的定义关键字自己查)就得到整数了。java和Python中也有unpack()
备注:有的十六进制编辑器(如eHex2.mrp)带进制转换功能,只要颠倒字节序后输入进制转换器就可以知道分卷的大小了。

全部回复 (17)

ID:69038
dark_modedark_modedark_modestarstarstar
Lv.1 韶华一笑间
2011-08-22 19:20:00 沙发
我数学最差!算不出来!
ID:10086
light_modedark_modedark_modestarstar
Lv.2 独赏二月雪
2011-08-22 19:22:00 板凳
我也不懂…
ID:46599
light_modedark_mode
Lv.1 韶华一笑间
2011-08-22 19:28:00 地板
麻烦…汗
ID:12453
light_modestarstarstar
Lv.1 韶华一笑间
2011-08-22 20:18:00 #5
看晕了....我数理化不极格...................
ID:34992
dark_modedark_modedark_modestarstar
Lv.1 韶华一笑间
2011-08-22 20:28:00 #6
看不懂
ID:36440
light_modedark_modestar
Lv.1 韶华一笑间
2011-08-22 22:27:00 #7
不错
[size]
ID:22222
light_modedark_modedark_modestar
Lv.4 莫问四书意
2011-08-22 22:39:00 #8
同5楼
ID:59234
light_modedark_modestar
Lv.1 韶华一笑间
2011-08-22 22:53:00 #9
同八、五楼!
ID:59234
light_modedark_modestar
Lv.1 韶华一笑间
2011-08-22 22:59:00 #10
真深澳呀!55555看不明白!
ID:51409
light_modestarstar
Lv.1 韶华一笑间
2011-08-23 00:16:00 #11
表情摸不着头脑
ID:20458
light_modedark_modestar
Lv.2 独赏二月雪
2011-08-23 07:09:00 #12
说了半天看了半天觉得你太历害了不过我没明白
ID:48181
light_mode
Lv.1 韶华一笑间
2011-08-23 07:51:00 #13
楼主,我数学每次都是全班倒数第一,有没有简单的方法呀
ID:6577
light_modedark_modestar
Lv.1 韶华一笑间
2011-08-23 08:31:00 #14
懒的看
ID:8766
light_modestar
Lv.1 韶华一笑间
2011-08-23 20:31:00 #15
字太多了
ID:34821
light_modestarstar
Lv.1 韶华一笑间
2011-08-24 11:42:00 #16
(由于迟迟不给审只好重发)江苏移动联合QQ浏览器搞活动,只要下载就送五元GPRS包月套餐50M免费使用二个月!我提取了地址,所以不用下载就可以两个月免费上网,哈哈爽吧!只有江苏用户可以哦!(可去江苏移动官网了解,原活动名“精彩一夏免费上网”)[url=http://mttstat.3g.qq.com/activity/1056/hls/activity_page.activity?pageid=1201&user=220cdd03]点此领取[/url]这活动有好久了,忘了发哦,所以再此道歉!快去吧
登录 后才能回复