0

今天我在我正在创建的一个小模块中修改了一些 rom 文件。我必须修改的一些 smali 方法非常庞大,大约 1200 行来自匿名类的 smali。跟随有很多跳跃的代码是一场噩梦。我首先尝试创建某种示意图,但如果也变得一团糟。那么,你如何处理大的 smali 文件呢?有人知道是否存在用于功能或其他东西的任何类型的流查看器吗?

提前致谢。

4

1 回答 1

0

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

如果您可以访问它,IDA Pro 将向您显示控制流程图,这可以帮助您从高层次理解事物。您不能从那里进行修改,而且它不是免费的。

与其完全在 Smali 中工作,不如考虑使用反编译器。它将把 Smali 变成更高层次的东西。将更容易理解代码并确定要进行更改的位置。这将减少您需要摄入的 Smali 量。

对于反编译器,我建议:

  • dex2jar + jdgui,这是大多数人使用并且工作得体的东西
  • jadx,超级干净的循环,直接转换dex,但是有点冗长
  • dex2jar + luyten,比 jd-gui 更少的错误,比 jadx 更简洁
于 2014-04-20T17:13:55.820 回答