如何通过Apktool重新编译Android应用并成功执行该应用?

问题描述

我想在没有任何更改的情况下在Android设备上测试重新编译的APK的行为。 在使用带有默认标志的Apktool 2.4.1进行反编译之后,然后在进行编译时没有出现任何错误/警告,我签署了重新编译的Apk并将其安装在无根设备上。

我试图在设备上运行Apk,但遗憾的是它失败了,它卡在了主屏幕上。

我认为可能无法加载主要活动,我已经通过Logcat看到了一些奇怪的日志。

作为一个项目的一部分,我需要绕过此移动应用程序上的SSL固定,我正处于学习一些工具和反向操作的第一步。 可悲的是,在我公司的自动取款机没有人可以提供帮助。 这就是为什么我要尝试在互联网上寻找解决方案,并试图弄清楚你们是否可以帮助我。

此应用程序具有SSL固定,根目录检测和模拟器检测(如有需要,可以附加图片)。 已经尝试使用Xposed和SSL固定绕过软件包在其他具有root用户权限的设备上进行安装。

我有一些反转的想法,我想在应用程序上进行特定的更改,例如将Frida库添加到Apk的源文件中,然后重新编译或尝试更改源代码,并使Apk接受任何证书或其他东西这样。

在网上的简短浏览中,我发现了一篇帖子,描述了实现SSL固定的3种方法,

https://www.netguru.com/codestories/3-ways-how-to-implement-certificate-pinning-on-android

当我使用Jadx搜索OkHttp和CertificatePinner时,我没有找到这些参考。 试图查找清单和XML“网络安全配置”的资源中也找不到

剩下的最后一个选项是TrustManager。

我已经附上了一些有关过程的图片和信息, 我很高兴收到您的任何帮助或建议!

Apktool 2.4.1 Dex-tools-2.1快照中的d2j-apk-sign.bat 三星J7 Android 8.1 使用Burp代理并生成我自己的证书(NVISO)将在logcat的日志中看到 我已在logcat Pastebin中将原始程序包名称的名称更改为“ com.original.noncompiled.mobile”

并在重新编译的Pastebin中将其复制到“ com.re.compiled.mobile”以保护客户的隐私。

In Burp certificate issue while running Original Application via proxy

Device Screenshot with an error after I run Original Application via proxy

执行原始应用程序并遇到SSL固定问题后,出现Logcat。

com.original.noncompiled.mobile

https://pastebin.com/JAmyD96x

Recompilation and the Signing of the Apk

Stucked here for ever

此外,Burp从未向我显示应用程序URL的证书错误,这意味着它从未尝试进行通信。我很确定我们可以在日志中看到某些可能与之相关的内容。

执行重新编译的应用程序并看到Apk卡住的窗口后出现Logcat。

com.re.compiled.mobile

https://pastebin.com/EixNsTUz

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...