android studio简单的动态调试
本帖最后由 红心J 于 2018-3-19 12:27 编辑~~ 分享自己的学习笔记。写的不好 请大家见谅。如果有什么问题请大家提出来。
工具:android studio , android killer , bluestacks .
程序:链接:https://pan.baidu.com/s/16B9L6umA52zYWRPtXwUI_A 密码:lb1g
抱歉大家,忘记说了:要安装插件ideasmali,还要在Manifest 中把 android:debuggable="true" 这里要是true
首先,用android killer 反编译下这个Apk.
开启bluestacks
运行Cmd ,查看有没有识别到bluestacks
输入 : adbdevices
然后打开android studio,导入android killer刚刚反编译出的代码。
选中所在目录
点OK,后面的保持默认选项,直接点Next.
操作完后,选择 Project
如下:
接下来在程序的入口位置下断点。去到MainActivity.smali
在onCreate 函数处下断点。
接着ADB调试状态启动程序。如命如下:
adb shellam start -D -n packagename/android:name
去AndroidManifest.xml文件找 packagename和 android:name
所以输入的命令应该是:
adb shellam start -D -n com.uc.uc_crackme/.MainActivity
切换到bluestacks看到:
然后来配置远程调试
点 + 号 ,选择 Remoter
Host 为 localhost,端口改成8700,然后ok。
然后打开 Android device Monitor
图中的小虫子标记的程序就是我们调试的程序了。
到Android studio中,点击debug,就是下面红框中的。
此时程序,就在我们之前下在onCreate 的位置出 断下了。
在 run 选项下可以看到一些调试按键
到这里调试程序就搞定了。
F8单步走就可以了
--------------------------------------------------------------------------------------------------------------------
下面就是通过调试,来找到程序的key
也就是找下断点的位置了,我就不细说。直接到相应位置下断点
在 MainActivity$1.smali中的 onClick 这里下个断点
这个断点是 我们输入 1234567890
然后点登陆,就会断到该位置,如下图:
然后你想跟踪什么变量,选中该变量,鼠标右键,选下面的Add to watches
变量会加到variables框里
程序走到这里的时候,看到 v5中 是我们输的 1234567890
接着继续走,到下面这里
看到 v5 = false,应该就清楚程序大概流程了。
我们输入的1234567890,通过变换后,变成了:么广亡门义之尸弓己丸
而正确的验证应该是:义弓么丸广之
那么:么广亡门义之尸弓己丸
12 34 567890
所以: 义弓么丸广之
5 8 10 26
那么我们输入 5 8 10 26 试试,验证下我们的想法。
显然,正确的key就是 5 8 10 26
当然这个题也可以通过其他方法得出Key。我这里只是借这个程序讲一下动态调试。
-----------------------------------------------------------
另外,在调试时可能会出现 Android device Monitor 中的没有运行相关的进程。
也就是模拟器bluestacks的问题。
出现下面这样的情况,解决办法就是把bluestacks 卸载重装。
本帖最后由 感到哈哈丶 于 2017-8-8 16:31 编辑
关键的东西没说,先要安装插件ideasmali,然后要在Manifest中加入android:debuggable="true",重新打包安装,才能调试 能不能请教个问题!大神我 为什么 有些apk反编译后 回编不回来
这种情况 该怎么解决啊 是 android killer的问题还是 我这边需要怎么处理啊 ?
>I: Building resources...
>W: C:\Users\王宇峰\Downloads\新建文件夹\projects\com.yibasan.lizhifm\Project\res\values-v24\styles.xml:11: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.OptionsPanel'.
>W:
>W: C:\Users\王宇峰\Downloads\新建文件夹\projects\com.yibasan.lizhifm\Project\res\values-v24\styles.xml:12: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.LockScreen'.
>W:
>brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1):
APK 编译失败,无法继续下一步签名!
学习中,感谢楼主分享技术。 感谢楼主分享技术教程!
最喜欢这种安卓软件调试之类的技术教程了。 这个什么用呢? 教程写的很详细 讲的很好 支持楼主继续发布原创文章 完全不知所云 楼主我怎么下不了断点。。 学习了,谢谢分享~ 感到哈哈丶 发表于 2017-8-8 16:29
关键的东西没说,先要安装插件ideasmali,然后要在Manifest中加入android:debuggable="true",重新打包安装 ...
对对对。忘记了忘记了,抱歉抱歉。