0

我和我的团队为我公司的一个客户编写了一个 Android 应用程序。由于一些“政治问题”,合作结束了。客户现在使用未付费的应用程序。我使用 dex2jar 和 apktool 进行逆向工程,但在开发过程中,我们使用 ProGuard 混淆了我们的代码。我唯一能证明的是 Manifest.xml、strings.xml 和其他一些资源是相似/等效的。有没有办法获得 .java 类的更好或更易读的视图(最好是纯文本)?有没有“更好”的工具,然后是我错过的 apktool 或 dex2jar?

在此先感谢您的帮助!

解决方案:

  • 从反编译的 Manifest 中删除一个活动(使用 apktool 反编译)
  • 使用反编译的数据构建一个新的 apk 文件
  • 用密钥库签名
  • 把它放在设备上并启动它。当您导航到您从清单中删除的活动时,应用程序应该会崩溃
  • 获取堆栈跟踪(来自 logcat)并对其进行去混淆(如 Vaiden 提供的)
4

1 回答 1

2

Proguard 的映射文件应该是可交换的。因此,如果您保留了旧的映射文件(我当然希望您这样做,至少为了调试),您应该能够对记录的堆栈跟踪进行去混淆处理:https ://coderwall.com/p/htq67g/android-how-解码-proguard-s-混淆堆栈跟踪

应该可以使用您提取的 .java 类来模拟堆栈跟踪。只需遵循代码本身的调用(堆栈)跟踪。如果您在使用映射文件进行回溯时得到一致的响应 - 那么很可能它确实是您的代码。

于 2018-01-19T09:23:30.603 回答