ida 调试android之路
系统: Mac OSX
调试环境:IDA7.0, adb
手机环境:红米手机 android 4.4.4
前提条件:
红米手机root之路:https://www.cnblogs.com/dzqdzq/p/11100720.html
第一步:
先将 android_sever拷贝到手机:

1,具体执行步骤:
➜ dbgsrv adb push android_server /system/bin/
adb: error: failed to copy 'android_server' to '/system/bin/android_server': remote Read-only file system
android_server: files pushed. 60.8 MB/s ( bytes in .002s)
➜ dbgsrv adb push android_server /system/
android_server: file pushed. 5.0 MB/s ( bytes in .112s)
出现错误:remote Read-only file system
解决方案:
adb shell 进入手机控制台, 然后执行
|root@HM2014812:/system/bin # mount -o rw,remount /system
root@HM2014812:/system/bin #
adb push 完成之后,重新回到只读:mount -o ro,remount /system
第二步:
将待apk包安装包安装到手机上。
从网上下载apk包之后, 需要apktool d gongjianchuanshuo.apk
会得到一个目录,修改这个目录下的AndroidManifest.xml文件。 新增android:debuggable="true"
然后重新打包:apktool b gongjianchuanshuo -o gongjianchuanshuo-debug.apk
第三步:
➜ Downloads adb install gongjianchuanshuo-debug.apk
gongjianchuanshuo-debug.apk: 1 file pushed. 5.5 MB/s (131559208 bytes in 22.771s)
pkg: /data/local/tmp/gongjianchuanshuo-debug.apk
Failure [INSTALL_FAILED_OLDER_SDK]
出现了一个乌龙:INSTALL_FAILED_OLDER_SDK。
待调试的安装包需要的SDK版本比本机要高,于是回到第二步,重新修改AndroidManifest.xml文件
再重新打包。 然后重新执行第三步。 第四步:
➜ Downloads adb install gongjianchuanshuo-debug.apk
gongjianchuanshuo-debug.apk: 1 file pushed. 5.3 MB/s (131559929 bytes in 23.741s)
pkg: /data/local/tmp/gongjianchuanshuo-debug.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
错误的意思是:没有签名。 得需要重新签名一下 第五步:重新签名
keytool -genkey -alias debug.keystore -keyalg RSA -validity -keystore debug.keystore
jarsigner -verbose -keystore debug.keystore -signedjar gongjianchuanshuo-debug_signed.apk gongjianchuanshuo-debug.apk debug.keystore
ida 调试android之路的更多相关文章
- ida 调试 android fork
在使用ida 调试android native代码时经常会碰见fork子进程的情况出现,而运行一个 android_server只能对一个进程进行调试或者attach,而ida 默认端口是23946, ...
- IDA 调试 Android 方法及简单的脱壳实现
IDA 调试 Android 方法及简单的脱壳实现 标签: android原创逆向调试dalvik 2016-05-24 14:24 9286人阅读 评论(3) 收藏 举报 分类: 原创(25) An ...
- IDA 调试 Android
最近都在学一些反编译安卓相关的东西,其实网上有很多教程关于用 IDA 调试 Android 的过程,主要记录一下我遇到的坑 首先 Android手机要是root过的 还要注意的一点是apk中的 And ...
- 【转】IDA 调试 Android
最近都在学一些反编译安卓相关的东西,其实网上有很多教程关于用 IDA 调试 Android 的过程,主要记录一下我遇到的坑 首先 Android手机要是root过的 还要注意的一点是apk中的 And ...
- IDA调试android so文件.init_array和JNI_OnLoad
我们知道so文件在被加载的时候会首先执行.init_array中的函数,然后再执行JNI_OnLoad()函数.JNI_Onload()函数因为有符号表所以非常容易找到,但是.init_array里的 ...
- IDA调试android so的.init_array数组
参考: http://www.itdadao.com/articles/c15a190757p0.html 一. 为什么要调试init_array init_array的用途 1. 一些全局变量的初始 ...
- ida调试 android so
C:\Documents and Settings\Administrator>adb shellshell@htc_v2_dtg:/ $ susushell@htc_v2_dtg:/ # cd ...
- IDA动态调试Android的DEX文件
Android程序的dex文件的动态调试确实是个大问题,网上也有一些教程但是不是特别的详细,今天用到了IDA动态调试Android的DEX文件,特此记录一下. IDA 6.6新添加了对dex文件的调试 ...
- Android动态方式破解apk进阶篇(IDA调试so源码)
一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...
随机推荐
- ES[7.6.x]学习笔记(十一)与SpringBoot结合
在前面的章节中,我们把ES的基本功能都给大家介绍完了,从ES的搭建.创建索引.分词器.到数据的查询,大家发现,我们都是通过ES的API去进行调用,那么,我们在项目当中怎么去使用ES呢?这一节,我们就看 ...
- [COCOS2DX-LUA]0-003.根据COCOS2DX热更新
一.最近有需求就是要基于COCOS2DX-LUA进行游戏的增量更新,找了资料,发现了COCOS2DX有自带一个热更新的类,就是AssetsManager,但是该接口对于我来说有以下的缺陷 1.版本号在 ...
- Mysql基础(四)
##约束 /* 含义:一种限制,用于限制表中的数据, 为了保证表中的数据的准确性和可靠性 分类:六大约束 not null: 非空,用于保证该字段的不能为空,比如姓名,学号等 default: 默认, ...
- pandas手册
https://www.dataquest.io/blog/large_files/pandas-cheat-sheet.pdf
- C/C++多参数函数参数的计算顺序与压栈顺序
一.前言 今天在看Thinking in C++这本书时,书中的一个例子引起了我的注意,具体是使用了下面这句 单看这条语句的语义会发现仅仅是使用一个简单的string的substr函数将所得子串pus ...
- Yii Framework 漏洞整理
一 Yii Framework 2.0.9 - Cross Site ScriptingPublished # Exploit Title: Yii Framework 2.0.9 - Cross S ...
- Python--numpy中的tile()函数
首先是官方给的定以(我是用的VsCode,鼠标放置在tile上出现的),建议直接看后面的示例. def tile(A, reps) Construct an array by repeating ...
- Spring AMQP:RabbitTemplate SimpleMessageListenerContainer
一.RabbitTemplate介绍 RabbitTemplate:消息模板,在与Spring AMQP整合时,进行发送消息的关键类. 包括了可靠性投递消息方法.回调监听消息接口ConfirmCall ...
- JDBC化繁为简
众所周知,jdbc可谓是java连接数据库最基本的方法,通过DriverManager拿到connection,再从connection拿到statement,再从statement中进一步操作得到结 ...
- Java实现 蓝桥杯 算法训练 p1103
算法训练 P1103 时间限制:1.0s 内存限制:256.0MB 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间的加法. ...