吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10054|回复: 22
收起左侧

[Android 原创] Android逆向——Android逆向进阶(2)

[复制链接]
BubblePig 发表于 2018-2-21 23:13

0x00 前言

有价之宝:戳这里
无价之宝:戳这里

说明

最近同步分析ELF文件格式分析。
本文在大佬教学后进行笔记整理以及个人体会进行一个记录。
并且以后的博客中可能会使用英文,顺便对英文进行一个练习。
然后可能会将一些文字用英文代替。
相信你们会见证我的成长。
ELF文件格式分析(1)

内容

1.实例练习。使用软件调试器。

0x01 实例练习

The first step

对demo进行签名,然后安装测试。

这里写图片描述

Here we find signature verification.

The second step

First,we connect to the virtual appliance.

Open the CMD.

Type the command.

adb connect 127.0.0.1:62001

Open the Android Killer and click 运行。(用的中文的Android Killer,所以还是用运行能说明问题,暂时还没有找英文版的Android Killer,也不知道有没有)

这里写图片描述

And then click 运行.

open demo.

Get log information(得到日志信息).

这里写图片描述

The first thing to notice is here.(第一个需要注意的地方是这里)

Here we know which so it's calling,and then we're going to look down.这里我们就知道它调用的是哪个so,然后接着往下看。

The second thing to notice is here.

这里写图片描述

So here we know that the demo stops here.so this is a function of the signature verification

The third step

Open IDA.

Open Exports.

Search the verifyHash string.

这里写图片描述

Double click to open and observe.

这里写图片描述

Find a string."GetApkMFData"。

This string represents the apk signature verification.

这里写图片描述

We search for where this function is.

这里写图片描述

We see this strings.

Previously,the files in this folder are signature files.之前说过这种文件夹里放的文件是签名文件

The way we modify it is ti get rid of this string.我们修改的方法就是更改掉这个字符串即可

Open the so file with hex .用hex打开so文件

跳转到0017F590

然后修改,记得这里是16进制要进行一个转换。

这里写图片描述

The fourth step

保存,回编译进行测试。
save,compile,and test.

0x02 IDA动态调试

准备工作

Androidmanifest.xml 设置

application android:debuggable="true"

在Androidmanifest.xml文件中把false改成true

build.prop

ro.debuggable=true

ps:以上两个条件满足其一即可。

start

第一步

首先把dex文件拖到IDA中。

这里写图片描述

第二步

Debugger——Debugger Options

在打开的界面选择:
这里写图片描述

然后设置 set specific options
这里写图片描述

设置好包名

这里写图片描述

第三步

Debugger —— Process Options

端口号设置成8700。

然后继续调试即可。

0x03 IDA动态调试远程运行原生可执行程序

连接手机

adb shell进行测试

这里写图片描述

push android_server

这里不得不说一句,这篇博客是前两天开始写的,但是因为手机的问题,所以一直没有成功,最后还是重新刷新了下手机,获取root权限才完成的。

首先 push android_server

一定要用真机,不要用虚拟机。不然坑太多,填不完。

用小米手机的。用刷机精灵刷吧。反正我rom好了。如果是红米note 4x 我这里还有6块钱买的rom包,可以找我要哈。

具体流程

adb devices
adb push d:\android_server  /data/local/tmp/android_server 
adb shell 
su
cd  /data/local/tmp
chmod 777 android_server 
./android_server

这里写图片描述

重新打开一个cmd 转发端口

adb forward tcp:23946 tcp:23946

然后打开IDA

IDA操作

Debugger——attach——Remote ARMLinux/Android debugger

配置默认即可

这里写图片描述

cluck ok

这里写图片描述

就换显示手机上的进程。

所以我们现在就要选择需要attach的进程

wite

这里写图片描述

调试开始

找到modiles,然后找到我们需要找的so

这里写图片描述

然后选择合适的函数,当然这个是静态分析的时候的。

双击进入函数即可

这里写图片描述

在这里设置断点,然后进行运行。

这里写图片描述

变成蓝色的时候就代表断点成功了。

然后f8继续运行。

这里写图片描述

这里最重要的就是R0寄存器。

所以我们需要修改的内容就是这里。那么我们将数值改变。

从64 改成 ff,换成10进制就是从100改变成255。

这里写图片描述

然后开始运行。

这里写图片描述

测试成功。

0x04 结束语

IDA动态attach 在这里就成功了。那么现在要做的就是巩固练习。
恩,先横扫一下网上能看的到的so动态调试。

免费评分

参与人数 4吾爱币 +6 热心值 +4 收起 理由
vipcrack + 2 + 1 这个系列能不能弄个文档合集?
独行风云 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
云幻灭 + 1 + 1 用心讨论,共获提升!
dwq308 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| BubblePig 发表于 2018-3-3 17:14
qtfreet00 发表于 2018-3-2 11:29
麻烦把图补完整一下,谢谢

都是边写边删,以后传份word,避免图片失效~不好意思~
 楼主| BubblePig 发表于 2018-2-22 11:43
cnmmb 发表于 2018-2-22 09:21
为什么是英文的?难道你是翻译过来的?

我把中文翻译成了英文,只是想学英语。。。。
邪恶博士 发表于 2018-2-22 00:14
cnmmb 发表于 2018-2-22 09:21
为什么是英文的?难道你是翻译过来的?
gongyong728125 发表于 2018-2-22 10:09
学习啦楼主,谢谢分享~
15877090933 发表于 2018-2-22 10:31
学习啦楼主,谢谢分享~
km852753951 发表于 2018-2-22 13:38
好东西啊 支持一个
hbguew 发表于 2018-2-22 14:17
感谢楼主!!
djswzw 发表于 2018-2-22 14:32
有的图裂了啊 排版不容易看。。
我才不是狮子喵 发表于 2018-2-22 14:41
感谢楼主,辛苦了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-19 05:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表