找回密码
  注册[Register]
查看: 1351|回复: 5

[windows] 如何利用安卓修改大师进行Smali反编译调试

  [复制链接]
发表于 2019-1-23 09:36 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

安卓修改大师可以在没有源代码的情况下,直接反编译已经打包的APK安装包,通过修改SMALI代码实现添加和去除部分功能,并在应用的任何地方添加任意代码,增加任意任何您想实现的功能。通过这种方式,把该应用变为您自己的应用(通过安卓修改大师反编译生成的新应用仅供个人学习反编译知识,严禁用于商业用途)。
大部分情况下,通过安卓修改大师反编译打包的应用都可以正常运行。如果您不幸遇到打包的程序运行崩溃,您必须要借助SMALI代码调试功能来定位错误源头。通过调试smali也可以跟踪破解或者游戏通关的逻辑。
通常通过Android studio配合安卓修改大师进行SMALI动态调试(您也可以用Eclipse),下面是调试环境的配置和具体的动态调试方法。 1、      所需工具
Android Studio最新版,下载地址:请自行百度下载
Smalidea插件,下载地址:http://down.moban.com/Resource/apkhelper/smalidea-0.05.zip

2、      Smalidea插件配置步骤
安装并运行Android studio,然后在Android studio顶部菜单中选择File->Settings->Plugins,安装之前下载的Smalidea插件。




3、打调试安装包并运行在打包签名窗口,选择调试安装包选项,按照向导进行打包,该方式所打的安装包包含调试信息,可以通过Android Studio进行Smali代码的动态调试。请注意,该窗口会显示调试端口和调试地址,在后续的Android Studio参数配置中,会用到这两个参数。调试地址就是反编译的项目地址,您可以在本窗口点击后面的复制按钮直接复制。




打包完成后,根据向导提示安装到手机上。注意窗口底部的USB连接状态的提示,请先将您的手机打开调试模式,并连接到电脑,点击安卓修改大师底部的刷新按钮,确保您的手机和安卓修改大师保持连接状态。




调试包安装到手机后,您就可以打开Android Studio进行动态调试了。




安装包安装到手机上后,在手机上将会出现下图的等待调试的窗口,请不要关闭该窗口,只有在该窗口打开的情况下,才能进行Smali动态调试。





4、配置Android studio进行调试 打开Android Studio,选择Import Project(见下图),也可以在打开的Android Studio中点击顶部的菜单(File/New/Import Project..),然后选择之前强调的调试目录,如图所示:





然后选择Create project from existing sources,之后一直选择next
           
成功导入工程后右键点击 Smali目录,设定Mark Directory As->Sources Root

配置远程调试的选项,选择Run-->Edit Configurations


增加一个Remote调试的调试选项(如果看不到Remote调试选项,请点击左上角的绿色加号添加Remote调试选项),端口选择:8700

   


设置端口号 8700





  之后选择File-->Project Structure 配置JDK           

JDK设置为1.8以上
        
下好断点之后Run->Debug

            
稍等几秒,断点触发后就可以单步调试




针对运行闪退方面的问题,重点调试入口ActivityApplication类(见安卓修改大师源代码修改/程序入口对应的类)的OnCreateOnResume和类的初始化方法。在调试开始行的左侧,行数字的右侧点击,放置调试点。




然后就可以通过顶部的Run菜单提供的调试命令进行调试了,一般是通过设置调试点后,点击顶部的调试按钮开始调试,通过不断的按F8逐行调试,观察运行到那一行报错,根据错误有针对性的修改代码或者删除代码行来解决问题。




例如,某个应用运行闪退,通过调试发现只要运行到下图的这一行立刻崩溃,通过删除这一行或者在这一行前面添加一个#号注释该行,保存后,在安卓修改大师重新打包,App即可正常运行了。


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-1-23 09:36 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-1-23 09:46 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-1-23 10:08 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-1-23 10:09 | 显示全部楼层
666666666666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-1-23 10:09 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-4-26 00:13 , Processed in 0.042735 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表