馀姚网站建设,wordpress中怎么在页面中添加文章,网站程序如何上传,天眼查免费查询文章目录 前言OSX基础工具方法动态调试参考链接 前言
如果你想真正成为软件高手#xff0c;就得了解底层运作机制。逆向#xff0c;不会让你成为扎克伯格或张一鸣#xff0c;但或许能让你成为安全专家。
OSX基础
Mac OS X下二进制可执行文件的动态链接库是dylib文件。 所… 文章目录 前言OSX基础工具方法动态调试参考链接 前言
如果你想真正成为软件高手就得了解底层运作机制。逆向不会让你成为扎克伯格或张一鸣但或许能让你成为安全专家。
OSX基础
Mac OS X下二进制可执行文件的动态链接库是dylib文件。 所谓dylib就是bsd风格的动态库。基本可以认为等价于windows 的dll和linux的so。mac基于bsd所以也使用的是dylib。
工具
包括反汇编工具、调试器等
xcode自带的工具/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/binIDA Pro是目前最棒的一个静态反编译软件为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDA Pro Disassembler and Debugger是一款交互式的可编程的可扩展的多处理器的交叉Windows或Linux WinCE MacOS平台主机来分析程序 被公认为最好的花钱可以买到的逆向工程利器。IDA Pro已经成为事实上的分析敌意代码的标准并让其自身迅速成为攻击研究领域的重要工具。它支持数十种CPU指令集其中包括Intel x86,x64,MIPS,PowerPCARMZ80,68000kc8051等等。它的优点是可以更好的反汇编和更有深层分析。可以快速到达指定的代码位置可以看到跳到指定的位置的jmp的命令位置可以看参考字符串可以保存静态汇编等。Hopper Disassembler分析工具Hopper 3.11.5, HDSHopper 是一种适用于 OS X 和 Linux 的逆向工程工具可以用于反汇编、反编译和调试 32位/64位英特尔处理器的 Mac、Linux、Windows 和 iOS 可执行程序otx反汇编brew install otxMachOViewotool(object file displaying tool) 查询依赖库 针对目标文件的展示工具用来发现应用中使用到了哪些系统库调用了其中哪些方法使用了库中哪些对象及属性它是Xcode自带的常用工具Interface Inspector允许我们研究任何Mac App运行时候的UI结构和属性动态观察程序运行那就得要调试器就用Xcode自带的gdb吧编辑二进制文件系统自带的vim就可以hex 编辑器class-dump可以从面相对象编程的OC二进制文件中提取类的信息。这就是搜集信息的第三个层面程序代码中蕴含的信息。otx反汇编时其实已经包含零零碎碎的信息啦只不过class-dump的信息是按面向对象的思想整理过的。offset目标代码不好定位offset可以方便地把otx中的内存地址转换成二进制文件中的偏移。找到目标函数的虚拟内存地址。工具: hopper 或 otx 都可以满足。
方法
界面分析 - 动态分析 - 静态分析 - 动态库注入 - …
界面分析在Mac上面也有类似iOS Reveal的工具叫做Interface Inspector。动态分析: 动态跟踪的方法有多种除了iOS逆向中使用的Frida, lldb , Mac上面还可以使用Dtrace。 通过执行了一些操作去分析问题。静态分析: 根据假设的某个条件因素静止不变去分析。动态库注入: 动态库注入可以通过DYLD_INSERT_LIBRARIES注入也可以直接注入到可执行文件的Load Command。动态调试主要工具 gdb 首先ps -ax|grep “要破解的程序名”得到其进程 id如 1234 接着使用 gdb用 attach “进程 id” 然后bt 查看函数调用栈找到可疑函数后使用 up 继续用 si 等命令单步跟踪set 等命令改变参数的值 再来使用 disassemble 命令查看确认要修改的二进制字符串 最后用十六进制编辑器查找并修改二进制字符串 2. 动静结合主要工具 otool gdb a. otool -tV “目标程序” dis.asm b. 文本编辑器打开 dis.asm查找可疑的函数 c. 使用 gdb 打开目标程序并在可疑的函数中设置断点如 b *0x00001234 d. run 运行程序断点处si 等跟踪 set 设置关键参数值 e. 用计算器计算需要修改的序列偏移或 disassemble 命令 f. 用十六进制编辑器查找并修改二进制字符串
常用的命令:
attach 1234
b *0x1234
clear *0x1234
bt
disassemble
si
finish
set $eaxgcc test.c -o test
otool -tV target dis.asm动态调试
工具HopperLLDBRadare2
lldb /Applications/Camtasia\ 2020.app 参考链接
《macOS软件安全与逆向分析》随书源码MacOS逆向技术基础-第一版