代码之家  ›  专栏  ›  技术社区  ›  Lars

复制我的源代码的Android证明

  •  0
  • Lars  · 技术社区  · 8 年前

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

    提前感谢您的帮助!

    解决方案:

    • 从反编译的Manifest中删除活动(使用apktool反编译)
    • 用反编译的数据构建一个新的apk文件
    • 用密钥库签名
    • 将其放在设备上并启动。当您导航到从清单中删除的活动时,应用程序应该会崩溃
    • 获取堆栈跟踪(来自logcat)并对其进行去模糊处理(如Vaiden提供的)
    1 回复  |  直到 8 年前
        1
  •  2
  •   Vaiden    8 年前

    Proguard的映射文件应该是可通信的。因此,如果你保留了旧的映射文件(我当然希望你这样做,至少是为了调试),你应该能够删除记录的堆栈跟踪: https://coderwall.com/p/htq67g/android-how-to-decode-proguard-s-obfuscated-stack-trace

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