系统: 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文件
新增: <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="28"/>
再重新打包。 然后重新执行第三步。

第四步:

➜  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之路的更多相关文章

  1. ida 调试 android fork

    在使用ida 调试android native代码时经常会碰见fork子进程的情况出现,而运行一个 android_server只能对一个进程进行调试或者attach,而ida 默认端口是23946, ...

  2. IDA 调试 Android 方法及简单的脱壳实现

    IDA 调试 Android 方法及简单的脱壳实现 标签: android原创逆向调试dalvik 2016-05-24 14:24 9286人阅读 评论(3) 收藏 举报 分类: 原创(25) An ...

  3. IDA 调试 Android

    最近都在学一些反编译安卓相关的东西,其实网上有很多教程关于用 IDA 调试 Android 的过程,主要记录一下我遇到的坑 首先 Android手机要是root过的 还要注意的一点是apk中的 And ...

  4. 【转】IDA 调试 Android

    最近都在学一些反编译安卓相关的东西,其实网上有很多教程关于用 IDA 调试 Android 的过程,主要记录一下我遇到的坑 首先 Android手机要是root过的 还要注意的一点是apk中的 And ...

  5. IDA调试android so文件.init_array和JNI_OnLoad

    我们知道so文件在被加载的时候会首先执行.init_array中的函数,然后再执行JNI_OnLoad()函数.JNI_Onload()函数因为有符号表所以非常容易找到,但是.init_array里的 ...

  6. IDA调试android so的.init_array数组

    参考: http://www.itdadao.com/articles/c15a190757p0.html 一. 为什么要调试init_array init_array的用途 1. 一些全局变量的初始 ...

  7. ida调试 android so

    C:\Documents and Settings\Administrator>adb shellshell@htc_v2_dtg:/ $ susushell@htc_v2_dtg:/ # cd ...

  8. IDA动态调试Android的DEX文件

    Android程序的dex文件的动态调试确实是个大问题,网上也有一些教程但是不是特别的详细,今天用到了IDA动态调试Android的DEX文件,特此记录一下. IDA 6.6新添加了对dex文件的调试 ...

  9. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

随机推荐

  1. spring的mybatis-puls 配置,增删改查操作,分页

    pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or ...

  2. Layui 解决动态图标不动的问题

    <i class="layui-icon layui-icon-face-smile" style="color: red; font-size: 100px;&q ...

  3. linux连个文件都删除不了,什么鬼!

    前言 最近不是redis 6.0 出了吗,官网介绍最新稳定版本是 6.0.3 .于是,我就准备在自己的破小服务器上安装一下.于是,出现了后续的糟心事 (linux 下的文件正常删除不了). 下载了最新 ...

  4. protocbuf的简单理解

    之前通信协议替换为protocbuf!新老交替,很多不同看法,也提出来一些负面因数: 1.老的内部通信协议体已经有一段时间了,稳定熟悉! 2.通过通信结构体进行交互,实际上并没有序列化和反序列化的过程 ...

  5. [PHP学习教程 - 日期/时间]001.月份第一天&最后一天(Month First Day & Last Day)

    引言:在时间处理上,对于前/后台人性化的展示当前月份最大天数,这个是网站必须要处理的一个方面.但通常这一块会由第三方类库直接包装,这里我们做一个简单的Mark. 今天,我们就为大家提供一个函数,获得指 ...

  6. [Python基础]001.Python准备

    Python准备 Python简介 使用版本 环境安装 编写第一个Python文件 编辑器选择 Python简介 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,能简单而有效 ...

  7. [C#打包部署教程]002.VS2012 + Dotfuscator

    前言: C#程序界流传着一句古话:"成也Reflector,败也Reflector!" C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一 ...

  8. Java IO(三)FileDescriptor

    Java IO(三)FileDescriptor 一.介绍 FileDescriptor 是文件描述符,用来表示开放文件.开放套接字等.当 FileDescriptor 表示文件时,我们可以通俗的将 ...

  9. Python数据科学利器

    每个工具都带有用来创造它的那种精神. -- 海森堡<物理学和哲学> Anaconda Anaconda是一个python的科学计算发行版,其附带了一大批常用的数据科学包,不用再使用pip安 ...

  10. 用python做时间序列预测一:初识概念

    利用时间序列预测方法,我们可以基于历史的情况来预测未来的情况.比如共享单车每日租车数,食堂每日就餐人数等等,都是基于各自历史的情况来预测的. 什么是时间序列? 时间序列,是指同一个变量在连续且固定的时 ...