吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6398|回复: 19
收起左侧

[Android 分享] 关于真机调试smali中一些注意点

  [复制链接]
枯叶笑 发表于 2018-4-19 22:26
因为动态调试smail代码但是就是连接不上真机了试了很多方法都还是连接不上,导致后续调试继续无法,查百度,度发现没有啥用,花费了些时间终于连接上真机调试。因为我是新手对于新手来说第一次接触调试如何连接上真机感觉很痛苦,这里把一些遇见的问题会详细说明,希望没给新手朋友一些帮助。在感谢@@会飞的丑小鸭 大佬的教程,这个是在原基础上对于一些遇见的问题的解决。这里附上原帖子地址 https://www.52pojie.cn/thread-658865-1-1.html 图片和原贴基本一致,如果有违规请提醒我下感谢 关键地方都有说明 这里话不多说,直接开始。


第一步:
打开手机usb调试功能
然后把要调试的apk拖去Android killer 点击工程管理  记住包名hfdcxy.com.myapplication 和入口的Activity名 hfdcxy.com.myapplication.MainActivity

null-b0fff2d5f788b21.jpg

这里要注意一下 在application标签里面要有 android:debuggable="true" 这句代码,没有是不能调试apk。没有的apk中没有这句代码要自行添加上



在E盘新建一个任意名字文件夹 然后把打开文件路径目录里的smali文件夹复制到该文件夹内并改名为src

null6e277907f8458417.jpg

要用AndroidStudio动态调试smali代码 首先要安装ideasmali插件
1打开AndroidStudio
安装ideasmali插件,File->Settings->Plugins,下载安装ideasmali插件。
null797d81f107dbefc6.jpg
null58562508164f8a5a.jpg



第三部
打开Android studio 点击tools再点击Android 查看Android Device Monitor

null-302b8881b89b9f8.jpg
null2ca9c083f1800b.jpg
第四步
打开命令行 输入命令 adb shell am start -D -n hfdcxy.com.myapplication/hfdcxy.com.myapplication.MainActivity
重点表情 输入该命令后,手机会弹出 wait for debugger 切记不要点击! 不要点击force
closed  然后查看Android Device Monitor 记住下图圈起来的两个值 然后把Android Device Monitor关掉(这里一定要关掉,因为它会占用8700端口 导致后面转发端口失败)


重点又来了, 这个时候请完全关闭AS 打开命令行输入命令
netstat -aon|findstr 8700这个是查看8700端口是否被占用,因为有时候关闭了AS但是
8700端口还是占用的,然后命令行会显示占用进程的pid 接下来输入
taskkill /PID 9060 /F  杀掉占用进程
然后输入命令 adb forward tcp:8700 jdwp:19509 转发8700 端口 (这里 jdwp是自己Android Device Monitor中要调试app的Online值 )

然后再打开AS切记全程不要关闭force closed

第五步:
用AS打开刚刚新建的那个文件夹

图片描述
null1c64ded1b898d207.jpg
图片描述
一直next 最后finish
第六步
点击Android选择Project 对之前反编译的 jwx02/src文件夹右键-->Make Directory As --->Source Root
图片描述
图片描述
十一 配置远程调试的选项,选择Run-->Edit Configurations 并增加一个Remote调试的调试选项,端口选择:8700

null530182f014444af9.jpg
null6559fbf76de2fd9f.jpg
null-1dcd6046be2b5e02.jpg
选择File-->Project Structure 配置JDK

null-1ed6d1c115912d2d.jpg

在Smali中下好断点 断点的意思是程序运行到下断点的那行代码就会断下来




十四 下好断点之后Run-->Debug'smali',这里的smali是我们之前配置好的调试选项



免费评分

参与人数 6吾爱币 +16 热心值 +6 收起 理由
tony198911 + 1 + 1 用心讨论,共获提升!
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
610100 + 3 + 1 用心讨论,共获提升!
nbhonghong + 1 + 1 用心讨论,共获提升!
方格子旗 + 1 + 1 用心讨论,共获提升!
chenrenjiewj + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 枯叶笑 发表于 2018-4-20 09:07 来自手机
大部分和原贴相同,主要是waitfor debugger 和转发端口哪里比较重要和原贴有些不同,原贴哪里说的不是很清楚,按照那个方法会出现一些错误连不上,按照我上面写的这个方法就可以连接上
xeldax 发表于 2018-8-9 10:07
我从来没有用这种方法成功调试过service还有子线程的程序,很多时候我只能用IDA加载dex来动态调试,所以怎么去调试service呢,下了断点都捕获不到
molly9042 发表于 2018-4-19 22:42 来自手机
ckzzp 发表于 2018-4-20 06:11 来自手机
学习了谢谢分享。
你皮任你皮 发表于 2018-4-20 07:30 来自手机
支持一下
hairch 发表于 2018-4-20 08:10
这个不错,要支持...
chenrenjiewj 发表于 2018-4-20 08:18
感谢大神分享~~~
方格子旗 发表于 2018-4-20 08:59
最近也在研究as
秋海明月 发表于 2018-4-20 09:29
感谢分享经验,谢谢楼主
nbhonghong 发表于 2018-4-20 09:55
学习了谢谢分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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