首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

iOS保险攻防(一):Hack必备的命令与工具

2012-12-23 
iOS安全攻防(一):Hack必备的命令与工具Hack必备的命令与工具你的应用正在被其他对手反向工程、跟踪和操作!

iOS安全攻防(一):Hack必备的命令与工具

Hack必备的命令与工具



你的应用正在被其他对手反向工程、跟踪和操作!你的应用是否依旧裸奔豪不防御?

郑重声明一下,懂得如何攻击才会懂得如何防御,一切都是为了之后的防御作准备。废话少说,进入正题。

今天总结一下为hack而做的准备工作。


常用的命令和工具

ps          ——显示进程状态,CPU使用率,内存使用情况等

sysctl       ——检查设定Kernel配置

netstat     ——显示网络连接,路由表,接口状态等

route        ——路由修改

renice       ——调整程序运行的优先级

ifconfig    ——查看网络配置

tcpdump   ——截获分析网络数据包

lsof           ——列出当前系统打开的文件列表,别忘记一切皆文件,包括网络连接、硬件等

otool ①     ——查看程序依赖哪些动态库信息,反编代码段……等等等等

nm ②        ——显示符号表

ldid ③      ——签名工具

gdb          ——调试工具

patch       ——补丁工具

SSH         ——远程控制



备注:① otool,可查看可执行程序都链接了那些库:

 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,显示程序符号表,用我自己的应用程序私人相册现身说法一下:

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为该类的成员



③ ldid,是iPhoneOS.platform提供的签名工具,我们自己编译的程序需要签上名才能跑在iPhone/iPad上,使用方法export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
ldid -S helloworld 


编译Hello world
1.首先找到编译器:
iOS保险攻防(一):Hack必备的命令与工具


arm-apple-darwin10-llvm-gcc-4.2 就是了。

为了方便起见,可以在.bashrc或者profile 配置下环境变量,方便编译。


2.找到SDK


iOS保险攻防(一):Hack必备的命令与工具


编译我们自己的程序的时候需要指定该目录下的SDK。


3.来个经典Hello world :



其中 -isysroot用来指定build时的SDK


5.校验


iOS保险攻防(一):Hack必备的命令与工具


file查看一下类型,没问题。


6.SCP给iPhone、iPad

前提是,设备已经越狱并且安装了SSH,且必须在同一网段。

$scp helloworld root@x.x.x.x:hello world


7.登录设备签名

$ssh -l root x.x.x.x

#ldid -S helloworld


8.执行程序

#./helloworld

Hello world !!!


运行成功,这就完成了最简单的手动执行自己的应用程序。






6楼x4control昨天 20:57
学习了
5楼xzl415121796昨天 15:40
顶,,很好
4楼xiangmuzhaobiao昨天 14:24
急求博主继续写
Re: yiyaaixuexi昨天 14:32
回复xiangmuzhaobiaon嗯 我尽力 工作不忙的时候就写
3楼czzhangw昨天 09:42
急求博主继续写啊
2楼xunyn昨天 23:37
期待下一篇
1楼miss_siwei昨天 22:22
总结的很好,受教了

热点排行