转自:http://blog.csdn.net/yiyaaixuexi/article/details/8288077bash
你的应用正在被其余对手反向工程、跟踪和操做!你的应用是否依旧裸奔豪不防护?网络
郑重声明一下,懂得如何攻击才会懂得如何防护,一切都是为了以后的防护做准备。废话少说,进入正题。app
今天总结一下为hack而作的准备工做。ssh
ps ——显示进程状态,CPU使用率,内存使用状况等tcp
sysctl ——检查设定Kernel配置工具
netstat ——显示网络链接,路由表,接口状态等ui
route ——路由修改spa
renice ——调整程序运行的优先级.net
ifconfig ——查看网络配置调试
tcpdump ——截获分析网络数据包
lsof ——列出当前系统打开的文件列表,别忘记一切皆文件,包括网络链接、硬件等
otool ① ——查看程序依赖哪些动态库信息,反编代码段……等等等等
nm ② ——显示符号表
ldid ③ ——签名工具
gdb ——调试工具
patch ——补丁工具
SSH ——远程控制
otool -L WQAlbum
能够获得:
WQAlbum:
/System/Library/Frameworks/StoreKit.framework/StoreKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AdSupport.framework/AdSupport (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/System/Library/Frameworks//MediaPlayer.framework/MediaPlayer (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices (compatibility version 1.0.0, current version 40.0.0)
/System/Library/Frameworks/CoreMedia.framework/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
……
能够反编译WQAlbum的__TEXT__段内容, 截前10行:
otool -tV WQAlbum |head -n 10
能够获得:
WQAlbum:
(__TEXT,__text) section
start:
00002de0pushl$0x00
00002de2movl%esp,%ebp
00002de4andl$0xf0,%esp
00002de7subl$0x10,%esp
00002deamovl0x04(%ebp),%ebx
……
nm -g WQAlbum ( -g 表明 global)
能够获得:
001e5eec S _OBJC_IVAR_$_WQPhotoViewController.albumObject
001e5efc S _OBJC_IVAR_$_WQPhotoViewController.int_current
001e5f00 S _OBJC_IVAR_$_WQPhotoViewController.int_total
其中,WQPhotoViewController为类名,albumObject为该类的成员
arm-apple-darwin10-llvm-gcc-4.2 就是了。
为了方便起见,能够在.bashrc或者profile 配置下环境变量,方便编译。
编译咱们本身的程序的时候须要指定该目录下的SDK。
其中 -isysroot用来指定build时的SDK
file查看一下类型,没问题。
前提是,设备已经越狱而且安装了SSH,且必须在同一网段。
$scp helloworld root@x.x.x.x:hello world
$ssh -l root x.x.x.x
#ldid -S helloworld
#./helloworld
Hello world !!!
运行成功,这就完成了最简单的手动执行本身的应用程序。