IDE+Smalidea插件+Baksmali调试破解APK

下载地址:https://bitbucket.org/JesusFreke/smali/downloads

1.将apk转成smali
java -jar baksmali-2.2.6.jar disassemble 201901231140356079733.apk -o /Users/meetyou/mypojie/src

2.导入AndroidStudio
在这里插入图片描述

一直Next!!!

在这里插入图片描述

工程创建成功后,在src目录上右键并选择 Mark Directory As——Sources Root

在Module Settings中勾选一个SDK版本,进行构建


旧方法废弃~

这时候,我们要调试某个APP,按照以往的做法,我们需要先

让APP以调试的形式开起来
adb shell am start -D -n com.test.appstore/.AppStoreActivity

然后再进行tcp端口的转发:
查询端口:adb shell ps | grep com.test.appstore
u0_a110 11259 917 2346792 54944 futex_wait_queue_me 0 S com.test.appstore

进行转发:adb forward tcp:8899 jdwp:11259
然后在AS中配置这个转发的tcp端口:8899

然后运行~~~~~~~~!!!!调试,经常报错这两种错误,你就止步于此了哈


新的调试方案:

首先思考下,我们喜欢这种Android Studio直接打了断点,然后调试的方式,但是为什么,我们现在没办法用。
因为我们用的是smali的语法文件,不是一个完整的Android项目

问题:我们在于找不到那个小虫子的按钮在哪里~

但是这个功能,Android Studio里是存在的,换个思路我们只要找到按钮能启动就行了哈。

---->这边我们从keymap 快捷键入手

设置一下快捷键:我这边是设置成这样,然后Ok即可,接下来就可以享受超级好的交互体验了。

1.一样需要启动app并且等待调试。
adb shell am start -D -n com.test.appstore/.AppStoreActivity
(当然,apk在xml里可能设置不可调试,这种情况要么用打包改xml(可能失败),要么用xposed hook掉直接改成可调试状态)

//https://github.com/deskid/XDebug 让所有进程处于可以被调试的状态
XposedBridge.hookAllMethods(Process.class, “start”, debugAppsHook);

private static final int DEBUG_ENABLE_DEBUGGER = 0x1;
private XC_MethodHook debugAppsHook = new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param)
throws Throwable {
XposedBridge.log("-- beforeHookedMethod :" + param.args[1]);
int id = 5;
int flags = (Integer) param.args[id];
if ((flags & DEBUG_ENABLE_DEBUGGER) == 0) {
flags |= DEBUG_ENABLE_DEBUGGER;
}
param.args[id] = flags;
}
};

2.按下设置好的快捷键,选中App进程,按下OK

(如果你这边是这样,那很不幸,你还需要多做一步比较复杂的操作)

一切来得这么突然~~~~~~~!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ApkTool』简要介绍 提供1.3.5测试版源码。 此程序在其基础上完善并添加一些功能,此版本号定位2.0 最终版。 定为最终版的原因是支持动态加载最新的内置工具: ..\Bin\*.*目录下的所有工具如果有最新版本的,替换Bin目录内的程序即可应用最新版。 [注意:不要更改目录内的文件名,否则不会被加载。],判断是否使用最新版本的程序, 可以看启动日志中每个文件的路径。日志内容如下: 加载apktool.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\apktool.jar 加载aapt.exe的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\aapt.exe 加载signapk.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\signapk.jar 加载testkey.pk8的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin estkey.pk8 加载testkey.x509.pem的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin estkey.x509.pem 加载baksmali.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\baksmali.jar 加载smali.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\smali.jar 加载dex2jar.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\dex2jar.jar 加载asm-debug-all.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\asm-debug-all.jar 加载commons-io.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\commons-io.jar 加载slf4j-simple.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\slf4j-simple.jar 加载slf4j-api.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\slf4j-api.jar ============================================================== 华丽的分割线 ============================================================== 使用说明: =========================================================== 使用环境:须安装 java,下载地址:http://www.java.com/zh_CN/ 1、反编译APK 拖拽APK程序到"反编译APK"按钮前的输入区,点击"反编译APK"按钮 2、重建APK 把第一步得到 文件夹 拖拽到"重建APK"按钮前面的输入区,点击"重建APK"按钮, 至此会自动生成已经签名好的"XXOO(已签名).apk" 3、签名 拖拽APK程序到"签名"按钮前的输入区,点击"签名"按钮,自动生成已经签名好的"XXOO(已签名).apk" 4、反编译dex 拖拽dex文件或odex到"反编译dex"按钮前的输入区,点击"反编译dex"按钮, 会在dex文件所在目录外生成一个与dex文件名相同的目录 5、重建dex 拖拽要重建的目录到"重建dex"按钮前的输入区,点击"重建dex"按钮,会生成与目录名相同的dex文件 6、dex转jar 拖拽dex文件或odex到"6、dex转jar"按钮前的输入区,点击"6、dex转jar"按钮, test.dex 会生成 test.dex.dex2jar.jar 文件 7、jar,class转java 拖拽保护class的目录,或.class文件或 jar文件到"jar,class转java"按钮前的输入区,点击"jar,class转java"按钮, 会生成相应的 java文件。 ========================== 内置软件版本: | apktool 1.4.3 | aapt r04 | baksmali 1.3.2 | smali 1.3.2 | dex2jar 0.0.7.9 | asm-debug-all 3.2 | commons-io 2.0 | slf4j 1.5.6 | jad 1.5.8e2 | ========================== ^_^ Enjoy! 2012.3.16 By:漏网之鱼 QQ:530747686

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值