首页 > 其他分享 >安卓so ida动态调试

安卓so ida动态调试

时间:2022-11-06 11:22:55浏览次数:61  
标签:name ugc 安卓 ss aweme so android com ida

1.启动调试服务

将ida中Android_Server移动到手机中(ida所在目录dbgsrv文件中)

db push android_Server /data/local/tmp/as

adb shell   
su
cd /data/local/tmp
ls -l
chmod 777 as

./as -p23456   #随意端口号
adb forward tcp:23456 tcp:23456   #端口转发到电脑

2.查看调试app包名

#运行需要调试的app
# windows 
#adb shell dumpsys window w |findstr \/ |findstr name=

#mac 
#adb shell dumpsys window w |grep \/ |grep name=   

#例如
mAnimationIsEntrance=true      mSurface=Surface(name=NavigationBar)/@0x69e619c
mAnimationIsEntrance=true      mSurface=Surface(name=StatusBar)/@0xbcd3aaf
    mAnimationIsEntrance=true      mSurface=Surface(name=com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity)/@0xb681146
  mSurface=Surface(name=com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity)/@0x63b4834
  mSurface=Surface(name=com.breel.wallpapers.dioramas.lagos.LagosWallpaperService)/@0x2031e

3.已debug状态启动app

adb shell am start -D -n 包名/启动类
#例如
adb shell am start -D -n com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity

4.IDAdebug连接

1.环境配置

Debugger>Process options

中配置好上一步设置好的调试ip:127.0.0.1 端口23456

Debugger>Attach to Process,

然后 Attach to Process,从弹出的窗口中选择com.ss.android.ugc.aweme

5.相关快捷键

1. F2下断点
2. F7进入函数,F8单步调试,F9跳到下一个断点,F2下断点,G调到函数地址
3. N重名
4. g跳到地址和函数名
5. u取消把函数汇编变成机器码
6. c就是把机器码变成汇编
7. F5
8. p分析函数,把机器码那些东西翻译成函数
9. ctrl+s看见系统所有的模块
10. ctrl+f搜索
11. 单步调试注意右上角,寄存器变蓝色表示被改了
12. otions->number of opcode bytes可以查看机器码,填入4一行看4个机器码
13. 在hex view-1按F2可以修改机器码,再次按F2确定修改
14. alt+g看是thumb还是arm指令
15. 在函数名上按X可以看见上层调用
16. 在f5伪c/c++代码的情况下,注释是/,汇编情况下注释是;
17. f4移动到光标处
18. 在寄存器窗口按E可以修改寄存器的值
19. 在内存窗口f2可以修改内存的值

标签:name,ugc,安卓,ss,aweme,so,android,com,ida
From: https://www.cnblogs.com/pythonywy/p/16862236.html

相关文章

  • SQL Server – Work with JSON
    前言JSON是一个很好的格式,array,object就能表达一个表格了.如果想保存一些结构格式,又不想用表格这么大费周章的话,JSON会是很好选择.比如我用它来记入AuditT......
  • EF Core – JSON Column
    前言SQLServer支持JSON,以前写过一篇介绍 SQLServer–WorkwithJSON.但EFCore一直没有支持.直到EFCore7.0才支持. 参考Docs–JSONColumns 配......
  • EFCore使用JSON_VALUE查询json对象的值
    IntroSqlServer从2016开始支持JSON操作,可以使用JSON_VALUE查询JSON对象的某个属性值,更多介绍,现在公司的一些项目主要是使用EFCore,手写sql较少,针对比较简单的......
  • About Philosophy
    TableofContents  1    Philosophy ................................................... 21.1    Overall ............................................
  • Java 超新星开源项目 Solon v1.10.10 发布
    一个更现代感的Java应用开发框架:更快、更小、更自由。主框架仅0.1MB。Helloworld:@ControllerpublicclassApp{publicstaticvoidmain(String[]args){......
  • [Philosophy] 尼采《悲剧的诞生》(待续……)
    尼采《悲剧的诞生》是一部特殊的哲学著作,它不是用概念推演出一个体系,而是用象征叙说自己的一种深层体验。他有分析和反思的逻辑能力,又受过音乐的洗礼拥有珍贵的艺术体验。......
  • JS中JSON.parse()方法解析失败的问题
    今天在安卓开发(安卓内嵌cordova,页面采用js+html编写)的过程中,出现了一个问题:      result=JSON.parse(result); 该方法抛出异常:JSON解析失败。在对......
  • sonarqube-postgresql-sonar-scanner安装配置linux
    1、上传jdk、sonarqube、postgresql到服务器1.1、jdk11下载1.2、sonarqube下载1.3、postgresql下载2、jdk安装配置#解压tar-zxvfOpenJDK11U-jdk_x64_linux_hotspo......
  • ysoserial CommonsColletions7分析
    前言CommonsCollectionsGadgetChainsCommonsCollectionVersionJDKVersionNoteCommonsCollections1CommonsCollections3.1-3.2.11.7(8u71之后已修复不......
  • 游戏修改-Crimson.Dawn.Build.9772117
    FileName=..\CrimsonDawn_Data\Managed\Assembly-CSharp.dllPathList\0000\Descrip=DropItem__ResetPathList\0000\NewHex=1APathList\0000\Offset=00007637;0......