首页
社区
课程
招聘
[求助][原创]android反编译当当读书
发表于: 2013-6-7 22:44 4968

[求助][原创]android反编译当当读书

2013-6-7 22:44
4968
最近研究了下android的反编译技术,从学校图书馆借了本《Android软件安全与逆向分析》,作者写的确实很用心。我试着反编译了下当当读书2.2.1版本。
查看当当读书的classes.dex文件,截图如下:

前8个字节是固定的“64 65 78 0a 30 33 35 00”,代表“dex\n035\0”,紧接着4个字节“03 e9 ae 3d”代表利用Adler32算法算出的校验和,从0x0~0x10f共20个字节是采用SHA-1计算出的签名。
“4c 11 31 00” 4个字节代表整个classes.dex文件的大小,利用windows自带的计算器计算一下16进制“31114c”转为10进制为“3215692”字节,右键-》属性,我们发现大小就是3.06MB。

接下来4字节为DexHeader大小0x70(112)个字节,目前是固定的。“78 56 34 12”代表大小端标志,后面8个字节都为0表明为静态链接。

“ac 10 31 00”为map_off值,这个字段主要从文件头开始到map数据的长度,通过这个索引就可以找到map数据。暂时还没看明白。。。

“7e 58 00 00”为字符串个数,转为10进制为22654个。

接下来又是0x70,dexheader的大小,说明“string_ids”从0x70处开始,即“fa 73 25 00 ……”,根据这两个值,算出string_ids从0x70开始,在(0x70 + 0x587e * 4)= 0x16267处终止??

由“fa 73 25 00”知,第一个String Data 在0x2573fa处,貌似不对啊,0x2573fa处的值为00 啊?????是我算错了,还是混淆后就这样?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我也不明白
2013-6-8 07:29
0
游客
登录 | 注册 方可回帖
返回