| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 逆向破解思路和获取app的代码,脱壳操作(三) -> 正文阅读 |
|
[移动开发]逆向破解思路和获取app的代码,脱壳操作(三) |
动态库的加载其实动态库是缓存到我们手机的某个地方,但是他是怎样和我们的app进行链接的呢? 其实是通过这个来进行链接的,其中他里面有动态编辑器和动态加载器,来进行链接 运用官方工具拆除出UIKit框架1.具体的步骤我用一个图片来显示(前提是你要下载源码并且用xcode打开)其实我们也可以把dsc_extractor放到我们的/usr/local/bin目录下,我这里没有放,那么直接就用./直接执行。 我的执行结果为: 其实我们也可以把dsc_extractor放到我们的/usr/local/bin目录下,我这里没有放,那么直接就用./直接执行。 我的执行结果为: 首先我们破解好了,找一下UIKit的Mach-o文件,他在这个地方 你刚才命名的文件夹/System/Library/Frameworks/UIKit.framework 会看到我们期望已久的Mach-o文件 将这个文件拖拽到到Hopper Disassembler中然后开始解析(怎样解析和安装插件我上面说到了),大约等了一个世纪,终于解析完成。找到那个文件happly死了。 关于Mach-o的简单介绍简介: Mach-o其实是Mach object的缩写,是mac\ios上存储程序、标准库格式。
ipo -info 可执行文件或者file 可执行文件 2.剥离出一种架构 lipo 可执行文件 -thin 架构 -output 架构位置 3.组合二种架构 lipo -create 一种可执行文件路径(带名字) 一种可执行文件(带名字) -output 想要的可执行文件路径(带名字) ?通用二进制文件 通用二进制文件就是包含多了多种架构的二进制文件或者说是包含了独立的二进制文件。 Mach-o的基本结构他的官方的描述:developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/MachOTopics/0-Introduction/introduction.html 他的结构主要包含三个方面: 1.Header 主要包含一些文件类型,目标架构类型等等。 2.load Commands 描述文件在虚拟内存中的结构、布局等等。 3.Raw Segments Data 在load Commands中的Segments的原始数据。 他的结构图为: 一个可以查看Mach-o文件的工具 github.com/gdbinit/MachOView 我随便找一个可执行的文件看下 ? ?然后我们也可以看下具体的头信息 ?注意:值得说的是github上machview这个工具有一些bug,如果你想要一个没有bug的请联系我,我这有直接是dmg的。 dyld和Mach-o的关系 其实dyld主要是加载这几种类型的Mach-o文件 MH_EXCUTE MH_DYLIB MH_BONDLE APP的可执行文件、动态库文件都是有dyld进行加载的。 我们可以从dbld的源码中找到答案(前面有说在哪里下载dyld源码,然后找到dyld.cpp文件) ? ? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/19 1:39:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |