java - dex2jar 和 JD-GUI 标签语句

标签 java android jar dex2jar

我使用 dex2jar 从 apk 中获取 jar 并使用 JD-GUI 查看它。

但我注意到有如下标签符号,

      if (this.data.length != 7)
              break label279;

    // more code here
     label279: short[] aos = { 0, 0 };

它是由编译器(或混淆)添加的吗?有没有其他工具可以用来避免这些标签?


如果找到这个 https://code.google.com/p/dex2jar/source/browse/dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/CleanLabel.java?r=e8b872fdfce8a5a39aa7df083c46ec724fa8d3f4

是否与此次清洁有关?

最佳答案

进一步研究:

if (Math.abs(k) > this.mMaxRotationAngle)
  if (k >= 0)
    break label100;
label100: for (k = -this.mMaxRotationAngle; ; k = this.mMaxRotationAngle)
{
  transformImageBitmap((ImageView)paramView, paramTransformation, k);
  break;
}

根据自然观察,我将上面的代码更改为:

if (Math.abs(k) > this.mMaxRotationAngle)

// label100: 
for (k = -this.mMaxRotationAngle; ; k = this.mMaxRotationAngle)
{
  if (k >= 0)
    break;// label100;
  transformImageBitmap((ImageView)paramView, paramTransformation, k);
 // break;
}

label100 仍然是个谜...想知道 dex2jar 如何处理不知道代码的情况。

: 运算符的存在也表明可能有一个for each 循环

如果将来某个时候这个谜团被解开,那么也请通知我。

谢谢。

关于java - dex2jar 和 JD-GUI 标签语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19837211/

相关文章:

java - 使用 Jenkins 启动浏览器

Android - 如何在只有一个图标的 Android 中为多个通知设置计数器?

android - SQLite 子查询不工作

java - Bash 脚本运行包含外部文件的 jar 不起作用

java - 如何调用一个方法,直到它每 x 分钟返回 true

java - 在 httpSession 中存储扩展对象

java - 如何正确处理OOP中的多对多关系?

java - 哪些 Android 组件和哪些方法可能会出现应用程序无响应问题?为什么?

java - 创建包含另一个 Jar 文件的 Jar 文件

java - 为什么即使我删除了可执行文件.jar,Java 程序仍继续运行?