如今升级快。网上的资料仅仅能做參考。

学到了NDK逆向这一块,昨天为了能让IDA 能动态调试SO,瞎折腾了非常久,这里分享一下我的经验。

工具:

IDA pro 6.8

Android 5.x

IDA 6.8 在看雪吾爱应该都能找到下载地址。

我的手机是三星 on7 Android 5.1系统。

曾经我一直用的是IDA 6.6。群里人说5.0以上的系统要用6.8…

在启动android_server 服务的时候遇到以下这样的情况有可能就是IDA的版本号不正确了。



以下開始正式写,内容可能有些反复。

0x0: 将IDA pro 6.8 文件夹下的\dbgsrv\android_server 上传到手机 /data/local/tmp 文件夹下。

详细命令:

adb push \dbgsrv\android_server /data/local/tmp/android_server // 上传 \dbgsrv\android_server 依据自己实际情况改动

adb shell // 得到Android系统的shell,以下是在Shell中的操作

su //获得Root权限

cd /data/local/tmp

chmod 755 android_server // 改动android_server权限 rwxr-xr-x

./android_server //执行

这个CMD不要关了。

0x1 : 开启port转发

另外打开一个cmd

adb forward tcp:23946 tcp:23946

0x2: 操作IDA

打开IDA ->Debugger->Attach->Remote ARMLinux/Anroid debugger

Hostname 就是Anroid机的主机地址。一般和电脑都在一个局域网吧? 填写Android主机的ip地址。port默认就可以。

完毕后按下 Ok。

按下Ok后会出现一个进程列表,选择你要调试的进程。

附件里有一个So样例,先在Android机上执行起,然后在刷新IDA的进程列表。

进程太多的话,能够用包名keyword搜索。

附加后调试器会停在一个地方,先让程序跑起来吧,由于我们调试的是So模块。

怎样调试XX模块?样例以附件中的Apk为样例



从这里调出模块窗体。



模块非常多。你须要知道你要调试的是什么模块,用搜索功能会方便非常多。



这个就是样例中要调试的模块。用Android Killer分析出来的。

在Module List窗体中双击欲调试的模块。会看到模块的导出函数。



假如要调试 getCoin这个函数。 双击getCoin,就进入了函数的汇编代码界面。



单击红色圆圈中的蓝色原点就能下断点。 我们须要改动这个函数的返回值,来达到改动金钱的目的,所以在 BX LR 这一行下断点。

当IDA停下来后,就能够在寄存器窗体改动R0寄存器的值。

全剧终。

一些小问题的非专业解答:

0x0:



1、手机没有Root

2、执行android_server 前请先su一下

0x1:



IDA 6.8文件夹下,执行idaq.exe

0x2:



。,, 换真机,模拟器不行。

0x3:



版本号不正确。升级IDA,或者在手机上刷一个低版本号的系统。

记住:

一定要Root。一定要Su,一定要改权限

样例下载:http://pan.baidu.com/s/1i3wzetf

參考文章:

怎样使用ida在apk执行前动态调试其so中的函数

http://bbs.pediy.com/showthread.php?

t=178659

一步步搭建ida pro动态调试SO环境。

http://bbs.pediy.com/showthread.php?

t=203080

菜鸟总结so分析。arm 汇编,IDA静态分析

http://www.pd521.com/thread-790-1-1.html

Android 5.0 + IDA 6.8 调试经验分享的更多相关文章

  1. (转)CMOS Sensor的调试经验分享

    CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...

  2. CMOS Sensor的调试经验分享

    转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...

  3. CMOS Sensor的调试经验分享【转】

    转自:https://blog.csdn.net/yapingmcu/article/details/37817727 转自:http://bbs.52rd.com/forum.php?mod=vie ...

  4. Android开发网上的一些重要知识点[经验分享]

    1. android单实例运行方法 我们都知道Android平台没有任务管理器,而内部App维护者一个Activity history stack来实现窗口显示和销毁,对于常规从快捷方式运行来看都是s ...

  5. 【Android市场】提交应用的一点经验分享

    前言 如果只有一个或者少许的两三个Android市场,本文也没用存在的必要性,本文谨献给同在Android奋战的同仁. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnbl ...

  6. Android 使用GangSDK创建第三方家族公会系统经验分享

    由于需要对之前的游戏加入一个家族系统,想到这块儿可能会有大量的工作需要自己做,就偷了个懒去网上搜罗了一波,有没有类似现成的系统?结果让我惊奇的发现,目前市面上居然真的有类似的服务,虽然是小公司开发的, ...

  7. Android 关于编译ijkplayer下的so经验分享

    前言:公司最近需要做直播方面的技术调研,所以需要去研究播放器相关的技术:刚好本人github上收藏了ijkplayer,之前一直没有研究过,现在刚好clone下来研究研究. 我先在Windows安装c ...

  8. 调试经验分享-让自己的电脑充当WI-Fi模块,用来抓取连接Wi-Fi模块APP上的通信数据

    需求 手头有了厂家的APP和Wi-Fi模块 在已经知道APP是通过TCP连接Wi-Fi模块(8266), 同时也知道了连接的端口号的 情况下如何知道厂家的APP发送给Wi-Fi模块的数据 打开自己的笔 ...

  9. ddr3调试经验分享(一)——modelsim实现对vivado中的MIG ddr3的仿真

    Vivado中的MIG已经集成了modelsim仿真环境,是不是所有IP 都有这个福利呢,不知道哦,没空去验证. 第一步:使用vivado中的MIG IP生成一堆东西 ,这个过程自己百度.或者是ug5 ...

随机推荐

  1. DWZ验证表单规则一览

    <form onsubmit="return validateCallback(this)" class="pageForm" action=" ...

  2. NLP知识结构概述

    NLP知识结构概述 1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容. 2)自 ...

  3. struts 2中为什么抽象包不能包含action?

    struts 2中为什么抽象包不能包含action?麻烦写详细点!

  4. Java基础(九):抽象类

    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不能实例化对象之外, ...

  5. 《TCP/IP具体解释卷2:实现》笔记--接口层

    接口层包含在本地网上发送和接收分组的硬件与软件. 我们用设备驱动程序来表示与硬件及网络接口通信的软件,网络接口是指在一个特定网络上硬件与设备驱动器之间的接口. Net/3接口层试图在网络协议和连接到一 ...

  6. 关于PHP写的投票网站之刷票终结版

    告诉大家一个坏消息,还是有刷票的行为,有图有真相: 倒数第三项是时间轴,倒数第二项是IP,倒数第一项是邮箱,你们要刷票,拦都拦不住呀呀呀呀呀呀!!!!! 看看这些时间的间隔,看看这些IP的地址,哎,再 ...

  7. connect-proxy rpm文件的安装

    1. rpm文件下载 http://rpm.pbone.net/index.php3?stat=3&search=connect-proxy&srodzaj=3 2. rpm的安装 h ...

  8. Cognos访问权限之让拒绝更友善

    关于cognos的访问权限之前我也做了不少总结,但是由于时间关系加上用户也只要实现功能就好,我们做的效果就是像很多人一样,就那样就好了.但是有很多事情,只要你肯动脑筋,你会发现,你还可以做的更好,下面 ...

  9. POJ2762 Going from u to v or from v to u? 强连通+缩点

    题目链接: poj2762 题意: 给出一幅单向图.问这张图是否满足   随意两点ab 都能 从a到达b 或  从b到达a 题解思路: 推断一幅图是否满足弱连通 首先想到的是将图中的 强连通分量(能互 ...

  10. loadicon后一定要调用destroyicon吗

    Remarks It is only necessary to call DestroyIcon for icons and cursors created with the following fu ...