关于android反编译的疑问

android反编译后为啥有的代码就变成数字了,本身应该用的是r.java的吗,源代码没有混淆,如果反编译确实就这样了,那有什么办法变成正常代码吗?还是只能手动修改。作为服务端的同学对android不是很懂,请教各路adnroid大神!
其它:
反编译工具:
apktool
dex2jar
jd-gui
编译后如下图:

图片描述

阅读 3.3k
2 个回答

这种情况并不只针对 Android,这是 Java 在编译期做的一个优化叫"常量折叠"。暂时没有发现有什么方法把他变成正常代码。反编译工具可以考虑下 AndroidKiller 和 jeb,内部集成了很多工具(包括你前面所说的),可以大大简化安卓应用逆向过程中各类繁琐工作。

这些数字并不是代码,是类似 R.id.xxx,R.layout.xxx 之类的,本身就是 int 值,代表资源id

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