你如何在大文件/方法中处理smali跳跃(条件,异常等)

时间:2013-12-11 22:54:53

标签: java android smali

今天我正在修改一些我正在创建的mod中的rom文件。我必须修改的一些小方法是巨大的,来自匿名类的大约1200行smali。以下代码有很多跳跃是一场噩梦。我试图先创建一些原理图,但如果变得非常混乱。那么,你如何使用大smali文件?有人知道是否有任何类型的流量查看器的功能或什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先要确保你有很好的语法高亮。这列出了几个选项:http://androidcracking.blogspot.com/search/label/syntax%20highlighting。我更喜欢Sublime语法高亮,因为它有助于检查你的语法,我写了它。

如果您有权访问它,IDA Pro将向您显示控制流程图,这可以帮助您高水平地理解事物。你不能从那里做修改,而且它不是免费的。

不要完全在Smali工作,而是考虑使用反编译器。它将把Smali变成更高水平的东西。理解代码并确定要进行更改的位置会更容易。这将减少您需要摄取的Smali数量。

对于反编译器,我建议:

  • dex2jar + jdgui,这是大多数人使用和工作得体的
  • jadx,超级干净循环,直接转换dex,但有点冗长
  • dex2jar + luyten,错误少于jd-gui,比jadx更简洁