您的位置:首页 > 移动开发 > IOS开发

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

2016-01-06 22:53 726 查看
你的应用正在被其他对手反向工程、跟踪和操作?你的应用是否依旧裸奔毫不防御?

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

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


常用的命令和工具

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

sysctl ——检查设定Kernel配置

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

route ——路由修改

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

ifconfig ——查看网络配置

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

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

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

nm ② ——显示符号表

ldid ③ ——签名工具

gdb ——调试工具

patch ——补丁工具

SSH ——远程控制

备注:

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

可以得到:

可以反编译WQAlbum的__TEXT__段内容, 截前10行:

可以得到:

② nm,显示程序符号表,用我自己的应用程序私人相册现身说法一下:

可以得到:

其中,WQPhotoViewController为类名,albumObject为该类的成员

③ ldid,是iPhoneOS.platform提供的签名工具,我们自己编译的程序需要签上名才能跑在iPhone/iPad上,使用方法


编译Hello world

1.首先找到编译器:





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

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

2.找到SDK



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

3.来个经典Hello world :

4.编译



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

5.校验



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 !!!

运行成功,这就完成了最简单的手动执行自己的应用程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IOS逆向