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)带进制转换功能,只要颠倒字节序后输入进制转换器就可以知道分卷的大小了。
首先你要知道这个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)
2011-08-22 19:20:00
沙发
我数学最差!算不出来!
2011-08-22 19:22:00
板凳
我也不懂…
2011-08-22 19:28:00
地板
麻烦…汗
2011-08-22 20:18:00
#5
看晕了....我数理化不极格...................
2011-08-22 20:28:00
#6
看不懂
2011-08-22 22:27:00
#7
不错
[size]
[size]
2011-08-22 22:39:00
#8
同5楼
2011-08-22 22:53:00
#9
同八、五楼!
2011-08-22 22:59:00
#10
真深澳呀!55555看不明白!
2011-08-23 00:16:00
#11
摸不着头脑
2011-08-23 07:09:00
#12
说了半天看了半天觉得你太历害了不过我没明白
2011-08-23 07:51:00
#13
楼主,我数学每次都是全班倒数第一,有没有简单的方法呀
2011-08-23 08:31:00
#14
懒的看
2011-08-23 20:31:00
#15
字太多了
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]这活动有好久了,忘了发哦,所以再此道歉!快去吧
登录 后才能回复
flag举报帖子