bigbirdl 发表于 2020-4-16 20:41

利用AS的debug调试过登录验证的一种思路

AS也就是android studio,是谷歌推出的一个Android集成开发工具。今天
和大家分享一个利用AS中debug调试程序的功能,过登录验证的一个思路。
个人心得,有什么不对的地方,大神们多指点哈。谢谢哈。
老规矩,先打开ddms。这里我还是用的模拟器,因为在单位,所以用的蓝叠。
雷电之类的方法都差不多。


挂接成功后,ddms中开始出现模拟器的数据。

打开AS。


在AK中右击我们需要用的apk,选择打开方式-打开文件路径。

双击进入project目录。然后把地址栏的地址复制下来。

回到AS中,打开这个地址。

然后回到AK中,查看androidmanifest文件。记下package的代码与android name的代码备用。

回到cmd中,准备打开调试模式,输入命令adb shell am start -D -n package代码/android name代码。如图
注意,参数D必须大写。

回车后,如果成功,则可以看到模拟器变成调试模式。如图

字面上意思是等待debug的调试。回到AS中。ctrl+F搜索onclick。onclick是点击事件的意思。
验证码输入后,肯定要点击注册按钮或者确定按钮,这就是点击事件。


搜到后,在程序开始端,左侧单击,下一个断点。如图,就是一个小红点。

下面来进行设置,做好调试前的准备。点击run-edit configurations。

进入后,点击加号,再点击remote。表示新建一个远程调试。

在右侧的端口处输入8700。使用这个端口。

点击vcs下面那个小虫子一样的按钮。这就是debug按钮。

然后就会看到模拟器上自动运行了我们需要调试的程序。也就是今天我们要搞定的验证。

随便输入几个数字。点击注册。当然是失败的。

可以看到窗口中程序跳动(出现this=...),表示断点成功,程序已经断了下来。

点击右侧newwatch监控窗口的加号

输入我们要监控的代码。我这里为了省事,就直接把v0到v8全输入进去了。


按下F8键,让程序慢慢向下走。可以看到,v0开始出现赋值了。

继续按下F8,慢慢向下走。可以看到刚才我们输入的序列号的数值:13579

再继续向下走,能看到刚才我们输入的错误注册码111

再向下走。。。你就会发现。。。看看v7的值。突然出现一个新的数值。

这个数值有什么秘密?点击小方块,停止调试。

输入我们发现的这个新数据看看。


至此,注册成功,验证通过。
当然,这只是很多方法中的一种而已。欢迎大家一起讨论,共同进步。
另外感谢“什么都只会一点”。我这里举例用的apk,是从他的逆向安卓笔记中直接拿过来的。



那年夏天52 发表于 2020-4-16 20:51

挺不错嘛

liu2220 发表于 2020-4-16 21:08

这个方法不错。值得学习。

小天使xx 发表于 2020-4-16 22:57

方法,一看就懂。很棒

zxcroot 发表于 2020-4-17 16:47

谢谢楼主分享,学习一下

asd5478 发表于 2020-4-19 08:18

楼主 问下蓝叠怎么设置ro.debuggable = true。

叮当东东当当 发表于 2020-8-5 23:20

笔记:
利用AS的debug调试过登录验证的一种思路
挂接ddms,AK打开apk复制路径用AS打开
命令adb shell am start -D -n 包名/入口
找到关键位置下断点。(ctrl+F搜索onclick,点击事件)
run->edit configurations->添加remote,端口8700
开始Debug,点击登录程序往后运行
newwatch监控窗口->添加变量v0等
F8步进观察watche窗口
页: [1]
查看完整版本: 利用AS的debug调试过登录验证的一种思路