逆向工程

4.汇编逆向工具集(二)

2018-04-29  本文已影响122人  木子心语

1.debugserver和LLDB

倚天剑 屠龙刀 干将莫邪

1.1 debugserver

iOS-debugserver

1.2 帮debugserver减肥

设备-ARM-信息.png
scp root@iOSIP:/Developer/usr/bin/debugserver /Users/mac-name/Desktop/debugserver
lipo -thin arm64 /Users/mac-name/Desktop/debugserver -output /Users/popo/Desktop/debugserver1/debugserver
瘦身后的debugserver 终端处理操作 用到的文件
ldid -Sent.xml debugserver  

注意:如果没有安装ldid,要进行安装后,才可以使用用上面的命令执行.安装ldid的命令是:

brew install ldid
codesign -s - --entitlements ent.plist -f debugserver

以上就完成了对debugserver的处理

scp /Users/popo/Desktop/debugserver1/debugserver root@192.168.3.15:/usr/bin/debugserver
chmod +x /usr/bin/debugserver
debugserver授权 C8657EFF-5FA8-4711-8DA2-74041B7E6F7D.png

1.3 LLDB

lldb-调试参数-1 lldb-调试参数-2 lldb-调试参数-3 lldb-调试参数-4
process connect connect://手机ip:1234
debugserver + lldb image list -o -f

--用于列举当前进程中的所有模块
--每次进程启动时,同一进程的所有模块在虚拟内存中的起始地址都会产生随机偏移.

2.dumpdecrypted--砸壳工具

2.1 dumpdecrypted的产生

2.2 dumpdecrypted的使用

第二种:
先确定下载的目录(desktop/dump目录下):


下载dumpdecrypted

下载执行命令:

git clone git://github.com/stefanesser/dumpdecrypted
cd dumpdecrypted/
make
编译dumpdecrypted.dylib

估计你看到这些,就会很头疼了,到底哪个是呢?

065B70ED-FCD1-4874-B4A3-86F1B765945F
scp /Users/popo/Desktop/dump/dumpdecrypted/dumpdecrypted.dyli root@192.168.3.15:var/mobile/Containers/Data/Application/065B70ED-FCD1-4874-B4A3-86F1B765945F/Documents/dumpdecrypted.dylib
DA818A0B-0550-43F4-A236-123AD663F1FF.png

第二种:


拷贝dumpdecrypted.dylib

以上两种方式,只需要拷贝成功就行,选择那种,根据个人喜好.

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/9AF4167F-D4AA-4DBB-A67D-A956CCDBDEF9/WeChat.app/WeChat mach-o decryption dumper
砸壳失败-error

砸壳失败了,分析一下原因:
required code signature missing for 'dumpdecrypted.dylib'
由于没有对dumpdecrypted.dylib签名,
我们没有砸壳成功.
其实出现问题的时候就是涨经验的时候,
遇到问题就解决问题.
我们把问题解决后接着砸壳

security find-identity -v -p codesigning 
获取可签名的证书

然后为dumpecrypted.dylib签名

codesign --force --verify --verbose --sign "iPhone Developer: `(开发这信息)`" dumpdecrypted.dylib 

然后在上传到手机

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/9AF4167F-D4AA-4DBB-A67D-A956CCDBDEF9/WeChat.app/WeChat mach-o decryption dumper

在当前目录下会生成WeChat.decrypted文件

4.OpenSSH

汇编逆向工具集地址 https://www.jianshu.com/p/beea9f2b9f7d
提到了远程连接手机终端.
这里重点讲解一下.

OpenSSH
ssh user@手机ip

我们上面连接手机时,使用到了这个命令

ssh root@192.168.3.15
scp user@手机ip:/path/to/remoteFile /path/to/localFile

我们拷贝dumpdecrypted.dylib 到手机:

scp /Users/popo/Desktop/dump/dumpdecrypted/dumpdecrypted.dyli root@192.168.3.15:var/mobile/Containers/Data/Application/065B70ED-FCD1-4874-B4A3-86F1B765945F/Documents/dumpdecrypted.dylib
passwd root

passwd mobile

5.usbmuxd

汇编逆向工具集地址 https://www.jianshu.com/p/beea9f2b9f7d
提到了有线无线连接远程终端.
这里也介绍一下.

用到的python脚本
python tcprelay.py -t   远程iOS上的端口 :  本地OSX/Windows上的端口   
开启端口转发
ssh root@192.168.31.5 -p 54322

就可以使用usb连线终端了.

6.iFile--iOS版的Finder

iFile目录

7.clutch--砸壳

源码地址:https://github.com/KJCracks/Clutch

7.1 源码下载

源码下载 源码资源

7.2 编译工具

用Xcode打开源码
编译命令 command + B


源码
生成砸壳工具

7.3 拷贝到手机使用

scp Clutch/clutch root@设备ip:/usr/bin/

7.4 ssh到越狱机,准备砸壳

砸壳第一种执行命令(clutch -d app序列号)

clutch -d 1

砸壳第二种执行命令(clutch -d app包名)

clutch -d hk.itools.appe
# Zipping WeChat.app
# Swapping architectures..
# DONE: /private/var/mobile/Documents/Dumped/hk.itools.appe-iOS7.0-(Clutch-2.0.4).ipa

8.fruda-ios-dump 一条命令完成iOS应用砸壳

8.1 Frida

Frida

8.2 手机设备安装Frida

https://build.frida.re
安装Frida

8.3 在mac安装Frida

sudo pip install frida
Uninstalling a distutils installed project (six) has been deprecated and will be
removed in a future version. This is due to the fact that uninstalling a distutils 
project will only partially uninstall the project.
sudo pip install frida –upgrade –ignore-installed six

到这一步,环境配置完成了.

8.4 配置frida-ios-dump环境

github地址: https://github.com/AloneMonkey/frida-ios-dump

sudo pip install -r requirements.txt --upgrade (Python 2.7)
vim /opt/dump/frida-ios-dump/dump.py
修改参数

8.5 打开终端,端口转发

Run usbmuxd/iproxy SSH forwarding over USB (Default 2222 -> 22). e.g.
执行下面的命令:
iproxy 2222 22

8.6 进行砸壳

比如 一键砸壳(WeChat)

./dump.py WeChat

这里就完成了砸壳.

待续中...

9.Reveal--一款Mac下调试iOS应用的软件

下载地址:https://github.com/LK26/Reverse-tool-one/blob/master/Reveal.dmg

9.1 Reveal

Reveal Reveal界面

9.2 安装和使用

我们执行下面的命令:

scp /Users/用户名/Desktop/RevealServer.framework 
  root@192.168.3.15:/Library/RHRevealLoader/libReveal.dylib

拷贝到手机.

待续中...

上一篇下一篇

猜你喜欢

热点阅读