为什么反编译的十六进制的数据是从右往左读?

Lazarus
  • 27
这是用C32Asm以十六进制模式打开的安卓APK里面的CLASSES.DEX文件。红色框选内的“当前例子中的字段值”一列:绿色圆圈圈起来的值是0x0F828C9C ,而软件里现实的明明是 9C 8C 82 0F 啊,为什么从右往左读?可是绿色圆圈下面粉红线标识出的数据又是从左往右读了,究竟什么时候从左往右读、什么时候从右往左读?为什么要这样读?。 

这是用C32Asm以十六进制模式打开的安卓APK里面的CLASSES.DEX文件。红色框选内的“当前例子中的字段值”一列:绿色圆圈圈起来的值是0x0F828C9C ,而软件里现实的明明是 9C 8C 82 0F 啊,为什么从右往左读?可是绿色圆圈下面粉红线标识出的数据又是从左往右读了。
源地址:

回复
阅读 3.6k
1 个回答

这是因为内存中存储数据采用的是“小端模式”,数据的低位存在前面,高位存在后面。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏