安卓逆向-反编译-修改-打包-签名-解决夜神模拟器usb调试找不到安卓apk的问题,无法进行动态调试的解决方案。

问题来由,在进行了一定时间的安卓逆向的学习,遇到了一个问题如图:
在这里插入图片描述
这么多个安卓apk,打开开发者模式,在这里插入图片描述
调试应用只有一个,这不是离谱,按照之前的文章,这就不能进行动态调试。既然有了问题就要想解决办法,问了带我的师傅:我不是用你这个方法的,给我演示了一下他的手法(cmd一顿操作,我没看懂)。没办法只能自己想办法,在writeup中看到有人提到了这个问题,原来是说APK没开启动态调试,就是xml中没开启调试功能,所以检测不到。(嘿,别问我怎么get到这个点的)
找到了原因解析来就是如何给他添加上这个功能,总所周知,安卓开发现在为了安全如果逆向后修改他的源文件需要加上其对应的签名(部分开发者防护做的很差,所以经常会被人加入恶意代码后发布到应用商城,以此进行传播在top10中叫做:代码篡改)
好了接下来就是实战了:
首先对于apk文件进行反编译,这里使用apktool(没有的自行百度)。
在这里插入图片描述
在这里插入图片描述
再往下需要修改AndroidManifest.xml为其添加上debug=true的选项
有两种操作
1.直接解压apk得到AndrodiManifest.xml 这时候打开会发现是乱码,接下来要使用AXML工具来添加 android:debuggable=“true”
2.用apktool反编译出来的 AndrodiManifest.xml ,发现是正常的,直接添加即可。

现在已经改好了需要的debug=true了,接下来就是打包
使用apktool进行打包,cmd执行如下代码
java -jar apktool_2.3.4.jar b gongfangshijiecrackme
在这里插入图片描述
接下来没有签名,让我们来看看反编译的效果,可以根本不能够打开跑在模拟器上面,接下里就是写签名。
这里使用jdk自带的keytool 根据网上的教程生成自己的android.ketstore ,然后把要签名的和android.keystore放在一起执行如下命令
jarsigner -verbose -keystore android.keystore -signedjar f6adc401d0eb472892a4ac4481f76a85.apk f6adc401d0eb472892a4ac4481f76a85.apk android

在这里插入图片描述
这个时候签名完成了。

打开模拟器看看
在这里插入图片描述
emmm,针不错

签名操作很繁琐可以观看一下网址
https://blog.csdn.net/akmzpzn69761/article/details/101638539

https://blog.csdn.net/rrkdddd33/article/details/80067589?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值