首页
社区
课程
招聘
[原创][calleng的逆向日记] 22y11m-23y3m29d 实现macOS编辑, iOS端编译和调试C/C++
2023-3-29 14:02 11179

[原创][calleng的逆向日记] 22y11m-23y3m29d 实现macOS编辑, iOS端编译和调试C/C++

2023-3-29 14:02
11179

入门学习逆向的个人笔记,预览(欢迎探讨)

  • C/C++的学习和数据结构

[原创] [calleng的逆向日记] 22y11m-23y3m29d 实现macOS编辑, iOS端编译和调试C/C++
[原创] [calleng的逆向日记] 23/03/30 (C++概念构建篇01) 补充完毕
[分享] [calleng的逆向日记] 22y11m-23y6m7d Win10Arm下的 gdb调试.[数据结构/严蔚敏-之迷宫问题]

  • iOS的学习和逆向

[分享] IOS软件安全工程师技能表(2017.7by非虫) (为自己学习导航) 图片不清楚下面有导图下载
[分享] Frida-Tool的一些 介绍, 和在 iOS下的一些用法 [个人笔记汇总]
[原创] [calleng的逆向日记] 弹窗的修改原理-OC篇 [源码学习和HOOK实践]23/09/24 --待续
[讨论] [calleng的逆向日记] 自学iOS逆向时候,如何自己解决问题.
[分享] [calleng逆向日记] iOS crackMe的破解 与 Frida(Objection) 的入门使用(thanks to roysue)
[分享] (iOS Hook原理,OC底层实现)Frida前置知识的(royuse)的一些知识注解(图片三次压缩失真,详情见附件)
[原创] (calleng逆向日记)Frida前置知识, ObjC runtime的"反射"-KVC-实例代码理解和分析
[分享] [calleng的逆向日记] Frida 前置知识, 类与方法的底层实现, 逻辑批注, (参考AloneMonkey的书)
[原创] (calleng逆向日记)Frida前置知识, ObjC runtime的"反射" KVC实例Demo分析第二部(Demo底部下载)
[分享] [calleng的逆向日记] iOS crackMe and Frida(Objection) Get Started (Oct,16th)
[分享] [calleng的逆向日记] Frida在iOS上内存漫游与黑盒调用 Get Started Section 4


大纲

A, iOS端的配置

1, 添加 如下的 repo 到 sileo 或者 cydia

https://apt.bingner.com/

2, ssh root 登陆,

apt-get install bash curl sudo

3, 修改 /etc/sudoers

vim /etc/sudoers
中间添加
mobile ALL=(ALL) ALL

4, mobile 用户模式下执行 安装 iOS toolchain , 架好梯子数据较大

su mobile
bash -c "$(curl -fsSL https://raw.githubusercontent.com/theos/theos/master/bin/install-theos)"

5, 还会继续 安装 iOS sdk

6, 修改 ~/.profile

export THEOS=/theos
export hwdong=
/Media/Downloads/HW_DONG_C++
alias theos="$THEOS/bin/nic.pl"
alias hw="cd ~/Media/Downloads/HW_DONG_C++"
alias l="ls -aFA --color"
alias ll="ls -aFAhl --color"
alias run="rm -rf ./test && clang++ -std=c++17 Ch11_solo_test.cpp -isysroot /var/mobile/theos/sdks/iPhoneOS14.5.sdk -o test && ldid -S test && ./test"
alias spro="source ~/.profile"
alias vpro="vim ~/.profile"

7, 切换到你的cpp目录, 比如你的 cpp 文件 叫Ch11_solo_test.cpp 输出 test 执行文件, 执行 run 没有问题, 则 iOS 编译正常.

callengtekiiPhone:~/Media/Downloads/HW_DONG_C++ mobile$ pwd
/var/mobile/Media/Downloads/HW_DONG_C++

B,macOS端配置

8, macOS 端配置

iproxy 2222 22

然后, 本地写好代码, cmd + s 保存,
然后 ssh 下面, run , 就跑起来了,

C, 希望的结果

1, 正如上面看到图片中标注, Debugger 只有 支持 gdb , 虽然谷歌搜索过,有个gdb 但是从 repo安装过不支持, 是32位的gdb, 64位不支持, 然后,
GitHub - swigger_gdb-ios_ GNU Debugger for jail broken IOS on arm64, Github 上找到了 arm64的源码,可惜C++掌握不补脑骨,编译不通过, 系统除非回退6年前,还可success, 懒的折腾了, 这样 连 run alias命令都是多余的.

在世界遨游的我, 一圈后,搜索 lldb gui 时候 , 又回到 这里,膜拜版主大大~~ :)

D, 参考:

https://theos.dev/docs/installation-ios
https://www.youtube.com/watch?v=ldWT4lTuMIk
How to Compile C Programs on iOS using Clang

iOS 使用clang 编译OC 为C++ 文件
https://www.jianshu.com/p/11ffccdfbe98

clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk main.m

MS OneNote 做的草图笔记




[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-11-8 00:29 被calleng编辑 ,原因:
收藏
点赞3
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回