美文网首页
Hack 必备的命令与工具

Hack 必备的命令与工具

作者: 无沣 | 来源:发表于2017-05-06 10:43 被阅读43次

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:

00002de0    pushl  $0x00

00002de2    movl    %esp,%ebp

00002de4    andl    $0xf0,%esp

00002de7    subl    $0x10,%esp

00002dea    movl    0x04(%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

首先找到编译器:

arm-apple-darwin10-llvm-gcc-4.2 就是了。 为了方便起见,可以在 .bashrc 或者 profile 配置下环境变量,方便编译。

找到 SDK

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

来个经典 Hello World :

#includeint main(){

printf("Hello world !!!\n");

return 0;

}

编译

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

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

SCP 给 iPhone、iPad

前提是,设备已经越狱并且安装了 SSH ,且必须在同一网段。 $scp helloworld root@x.x.x.x:hello world

登录设备签名

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

#ldid -S helloworld

执行程序

#./helloworld

Hello world !!!

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

相关文章

  • Hack 必备的命令与工具

    Hack 必备的命令与工具 常用的命令和工具 ps ——显示进程状态,CPU 使用率,内存使用情况等 sysctl...

  • 0x01 Hack必备的命令与工具

    注:原文---念茜的博客 你的应用正在被其他对手反向工程、跟踪和操作?你的应用是否依旧裸奔毫不防御? 郑重声明一下...

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

    未经允许,禁止转载 你的应用正在被其他对手反向工程、跟踪和操作?你的应用是否依旧裸奔毫不防御? 郑重声明一下,懂得...

  • 命令行操作

    命令行操作: 命令行工具是做 Web 设计与开发的必备工具。通过输入一些命令,去做你要做的事情。不同的命令可以做不...

  • 以太坊客户端Geth命令用法-参数详解

    Geth在以太坊智能合约开发中最常用的工具(必备开发工具),下面是Geth命令用法手册。 命令用法 版本: 命令:...

  • geth 参数配置

    Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。 geth下载地址: 命令用法...

  • 【以太坊开发】以太坊geth命令参数详解

    Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。 笔者摘出几个常用的命令和选项...

  • Java开发常用工具

    今天,我推荐几个,在windows环境下,开发Java的常用工具。 必备工具列表 开发工具 命令行工具 代码管理工...

  • linux

    linux系统linux命令SSH【远程连接工具】WebServer【nginx、apache】数据库缓存必备服务...

  • 7000+字带你全面搞懂 Git 命令+原理

    前言 掌握Git命令是每位程序员必备的基础,之前一直使用smartGit工具,直到看到大佬们都是在用Git命令操作...

网友评论

      本文标题:Hack 必备的命令与工具

      本文链接:https://www.haomeiwen.com/subject/ejuetxtx.html