系统: 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. DBUtils 使用方法

    导包  jar  DBUtils.jar QueryRunner中提供对sql语句操作的API. update(Connection conn, String sql, Object... param ...

  2. SpringCloud(三)- OpenFeign简介及@FeignClient等注解的使用

    唯能极于情,故能极于剑 有问题或错误请及时联系小编或关注小编公众号 "CodeCow",小编一定及时回复和改正,期待和大家一起学习交流 此文由四部分组成(OpenFeign简介.@ ...

  3. rancher证书过期

    背景 无法打开rancher服务,报错如下截图,可以看出是证书过期了无法连上k8s,注意这里的证书是rancher自身证书并非k8s证书. 解决方法 rancher升级:https://rancher ...

  4. js 获取当前日期时间

    function getCurrentDate(fulldate = false, separator = ['-', ':']) { let currentTimeObj = new Date(); ...

  5. Parrot os KDE还是MATE版本

    在经历了KDE桌面痛苦折磨后,准备转投MATE的怀抱,不得不说Parrot KDE的ram的占有和windows 10差不多,大量的图形化处理,让我本来不多的内存更加血上加霜. 所以,关于版本的推荐, ...

  6. 基于Basys2开发板的简易电子琴和音乐播放器设计

    背景:华中科技大学 电测综合实验 主要功能:Basys2开发板外接一个扬声器(或无源蜂鸣器也可)实现电子琴和音乐播放器的功能.其中由于开发板上只有4个按键,所以电子琴功能只做了4个音调,分别对应于4个 ...

  7. 被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL

    上次帮小王入了 Spring Boot 的门后,他觉得我这个人和蔼可亲.平易近人,于是隔天小王又微信我说:"二哥,快教教我,怎么在 Spring Boot 项目中使用 JDBC 连接 MyS ...

  8. Javascript中target事件属性,事件的目标节点的获取。

    window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为 ...

  9. 前端HTML学习 table标签 知识点与使用

    表格基本结构 <table> <tr> <td>单元格</td> </tr> </table> < tr >表示 行 ...

  10. Java实现 LeetCode 326 3的幂

    326. 3的幂 给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: tru ...