IOS逆向笔记汇总(备用)

1.砸壳dumpdecrypted下载地址

1, ssh root@[设备ip] (iP地址为设备的iP地址)

2, ps -e       (查看需要砸壳的进程)

3, cycript -p  (附加进程)

4, [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectoryinDomains:NSUserDomainMask][0]   (查看app在documents的地址)

5.scp ~/dumpdecrypted.dylib root@[设备ip]:/var/mobile/Containers/Data/Application/2B4C6281-C015-4FF3-A8EC-5E5C7554D447/Documents (将砸壳的动态库文件存入到documets目录下)

6.

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib/var/mobile/Containers/Bundle/Application/3F00BB3C-F56E-46B1-A785-562E0C130002/WeChat.app/WeChat      (砸壳)

7.documents下的WeChat.decrypted为砸壳后的文件

2.导出头文件class-dump下载地址

class-dump  -s -S -H <砸壳后的文件> -o <文件存放的目录>

3.THEOS越狱开发工具包下载地址

1.sudo git clone --recursive https://github.com/theos/theos.git /opt/theos     (下载直接安装到/opt/theos目录下)

2.安装dkkg ldid(安装前需要下载homebrew套件管理工具)

homebrew:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install dpkg

brew install ldid

3.创建nic.pl工程。

export THEOS=/opt/theos

$THEOS/bin/nic.pl

4.根据不同的需求创建不同的包,然后make package install 执行3个步骤 编译,打包,安装(Makefile编译的文件后面会有文档)

5.将生成的deb安装包放入/var/root/Media/Cydia/AutoInstall目录下面。

4.常用Tweak.xm预处理指令.(可以去http://iphonedevwiki.net/index.php/Logos查看)


%hook classname   需要hook的类名字

%hook a

%end

%orig 打印原始函数,可以修改原始参数

%orig(@“fix the param”,param);

%log  该指令在%hook内部使用  将函数的类名,参数等信息写入到syslog

   %log((NSString *)@“iosre”,(NSString *)@“debug”)

%group

hook分组需要%init来初始化这个分组,

%group a

%hook

-(void)a{

NSLog(@“aaaaa”);

}

%end

%end

%group b

%hook

-(void)b{

NSLog(@“bbbb”);

}

%end

%end

%hook springboard

-(void)method{

     if(true){

     %init(a);

}else{

%init(b);

}

}

%ctor  完成初始化init方法的作用(不需要以%end结尾)

%ctor{

  %init();

}

%new

%hook c 动态创建一个c的class(相当于重新创建一个c的class)

%new

-(void)namespacenewmethod{

  NSLog(@“We’ve added a new method to c”);

}

%end

%c

该指令的等同于objc_getclass或NSClassFromString,即动态获取一个类的定义,在%hook或%ctor内使用

5.cycript脚本语言

   可以通过获取这个对象的内存地址来操作它的函数或者属性.

    uialertview:0x166b4fb0   比如说这个uialertview在内存中的地址是0x166b4fb0,可以直接调用它的api

    [#0x166b4fb0 show]

    #查看当前布局

    UIApp.keyWindow.recursiveDescription().toString()

   #查看当前控件的父级元素

   #控件在内存中的16进制数地址.nextResponder()

    control+d  退出cycript

    cycript -p [进程id]    编辑这个进程中的脚本

6.openssh

   ssh root@[ios设备ip]    (连接越狱手机的设备)

   openssh默认密码:alpine

   scp命令:

   将本地文件拷贝到远程:

   scp <本地文件> root@<远程ip地址>:<远程目录>

   将远程文件拷贝到本地:

   scp root@<远程ip>:<远程文件目录> <本地目录>

7.iFiles,iFunBox文件管理工具

iFiles ios设备查看文件系统

iFunBox   mac设备查看ios设备的文件系统

8.syslogd日志清空

cydia下载syslogd插件

cat /dev/null > /var/log/syslog

9.二进制文件提取dyld_decache下载地址

因为ios 很多二进制库文件被隐藏许多framwork库文件放进了cache里面

chmod 777 /path/to/dyld_decache  9 (添加权限)

导出framework隐藏的二进制文件

./dyld_decache\[v0.1c\] -o <输出目录> dyld_shared_cache_armx  

10.reveal逆向分析

cydia中的插件

Reveal Loader 1.0.0

安装后,请重启手机

连接调试的进程就可以看到当前的ui

11.debugserver (动态调试,附加子进程)

debugserver

1. scp root@[iosip]:/Developer/user/bin/debugserver ~/debugserver

2. lipo -thin armv7s ~/debugserver -output ~/debugserver   (帮它减肥)

3. /opt/theos/bin/ldid -Sent.xml debugserver (http://iosre.com/ent.xml)  (添加task_fore_pid权限)

4.scp ~/debugserver root@iosip:/user/bin/debugserver(将处理好的debugserver放回去)

5.debugserver ip:port -a "mobilesms" (附加mobilesms进程)

   debugserver -x background ip:port /application/mobilesms.app/mobilesms(启动mobilesms进程)

12.lldb

/Applications/Xcode.app/Contents/Developer/usr/bin/lldb

使用usbmuxd能提升ssh的速度,lldb连接debugserver时间缩短至15秒内

usbmuxd下载地址

1./Users/beyond/Code/USBSSH   (将python-client目录下的tcprelay.py和usbmuxd.py两文件,复制到工作目录)

2./Users/beyond/Code/USBSSH/tcprelay.py -t iOS的端口:mac上的端口 (即可将mac上的端口转发到iOS上的端口)

3.debugserver附加springboard

     ssh root@localhost -p mac端口

     debugserver *:1234 -a "springboard"

4.将本地mac端口转发到ios


5.lldb调试

/Applications/Xcode.app/Contents/Developer/usr/bin/lldb

----------------------------------------------------------------------------------------------------------------------------------------------------------

链接远程的手机必须越狱,而且需要装上openssh

ssh链接远程手机

ssh root@192.168.0.112

opens默认密码:alpine

 

查找应用进程

ps -e |grep <筛选目录>

 

cycript(Cydia中的插件) 查找appdocuments位置

cycript -p WeChat(文件名)

 [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomans:NSUserDomainMask][0]


//砸壳命令

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/3F00BB3C-F56E-46B1-A785-562E0C130002/WeChat.app/WeChat


scp命令:

将本地文件拷贝到远程:

scp <本地文件> root@<远程ip地址>:<远程目录>



将远程文件拷贝到本地:

scp

root@<远程ip>:<远程文件目录>

<本地目录>


导出framework隐藏的二进制文件

./dyld_decache\[v0.1c\] -o <输出目录> dyld_shared_cache_armx


 清空log日志文件

cat /dev/null > /var/log/syslog


cycript脚本注入进程


cy#   alertView = [[UIAlertView alloc]initWithTitle:@"test" message:@"Cyrill" delegate:nilcancelButtonTitle:@"OK" otherButtonTitles:nil]


#  ">"


cy#  [alertView show]

#查看当前布局

UIApp.keyWindow.recursiveDescription().toString()

#查看当前控件的父级元素

#控件在内存中的16进制数地址.nextResponder()

#可以根据内存地址去调用该


创建nic.pl工程

$theos是theos全局变量

export THEOS=/opt/theos

$THEOS/bin/nic.pl


//导出头文件

class-dump —arch armv7 -s -S -H <砸壳后的文件> -o <文件存放的目录>







 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容