内容简介:下载地址:1.将apk转成smalijava -jar baksmali-2.2.6.jar disassemble 201901231140356079733.apk -o /Users/meetyou/mypojie/src
下载地址: 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
(如果你这边是这样,那很不幸,你还需要多做一步比较复杂的操作)
一切来得这么突然~~~~~~~!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编译原理
Alfred V. Aho、Monica S.Lam、Ravi Sethi、Jeffrey D. Ullman / 赵建华、郑滔、戴新宇 / 机械工业出版社 / 2008年12月 / 89.00元
本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面的修订,涵盖了编译器开发方面的最新进展。每章中都提供了大量的系统及参考文献。 本书是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研......一起来看看 《编译原理》 这本书的介绍吧!