工具的使用
MachO View 查看MachO(可执行文件)的文件信息
LLDB low level debug
class-dump 导出头文件的工具
可执行文件的生成过程
clang-c test.c 编译
file test.o 查看文件格式
链接
mac 目录解析
usr/bin 系统预置,系统升级自动覆盖
usr/local/bin 推荐存放自定义的可执行程序( eg:class-dump )
环境变量的配置
?: bin/sbin/usr 目录区别 ?
.bash_profile
# Setting PATH for Python 3.5
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
PATH=/usr/libexec/java_home/bin:$PATH
PATH=/opt/MonkeyDev/bin:$PATH
JAVA_HOME=/usr/
GROOVY_HOME=/usr/local/opt/groovy/libexec
export MonkeyDevPath=/opt/MonkeyDev/
export MonkeyDevDeviceIP
export JAVA_HOME
export GROOVY_HOME
export PATH
export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
PATH=/opt/MonkeyDev/bin:<font color=red>$PATH</font>
PATH 加一个新值,<font color=red>把之前的值也配置进来</font>
逆向知识
-
寻找系统(外部)函数 NSLog的动态加载地址
NSLog寻址方法图
-
PIC : 位置代码独立
-
Lazy Symbol Pointers 符号表绑定的地址
-
dis -s
网友评论