开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 39109|回复: 5
收起左侧

[IOS安全] IOS逆向工具

[复制链接]
发表于 2018-3-14 15:06:19 | 显示全部楼层 |阅读模式   湖北省武汉市
1.砸壳dumpdecrypted 下载地址
1, ssh root@[设备ip] (iP地址为设备的iP地址)
2, ps -e       (查看需要砸壳的进程)
3, cycript -p  (附加进程)
4, [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
                                          inDomains: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查看)

[XML] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[backcolor=rgb(27, 36, 38) !important][color=white !important]
[color=white !important]?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

%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
发表于 2022-4-2 18:49:41 | 显示全部楼层   湖北省咸宁市
#在这里快速回 学习学习复#
回复 支持 反对

使用道具 举报

结帖率:89% (24/27)
发表于 2022-3-10 14:55:52 | 显示全部楼层   广东省中山市
感谢分享,很给力!
回复 支持 反对

使用道具 举报

发表于 2020-9-21 06:22:56 | 显示全部楼层   湖北省武汉市
很给力!很给力!很给力!
回复 支持 反对

使用道具 举报

发表于 2019-10-24 18:36:15 | 显示全部楼层   广东省深圳市
好东西 正需要
回复 支持 反对

使用道具 举报

发表于 2019-4-26 10:32:18 | 显示全部楼层   江苏省徐州市
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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