iOS 逆向编程(十)sh脚本(shell)编写与执行指令区别

简介: iOS 逆向编程(十)sh脚本(shell)编写与执行指令区别

上一篇文章端口映射命令,每次都需要去进入脚本文件在执行映射命令,但是这些常用的命令或者操作,可以专门存放到一个 sh脚本 文件,每次只需要执行这个脚本文件即可。

一、上篇文章映射操作:

1、进入 usbmuxd 文件夹

$ cd /Users/dengzemiao/Downloads/usbmuxd

2、执行映射命令,然后就可以通过客户端(电脑)10010 端口给服务端(手机)22 端口发送数据了。

$ python tcprelay.py -t 22:10010

二、将上面操作制作成 sh 脚本

1、 组合一下上面的命令,得到下面这一行命令,执行效果是一致的

$ python /Users/dengzemiao/Downloads/usbmuxd/tcprelay.py -t 22:10010

2、在桌面上随便建一个存放文件 usb_test

$ cd /Users/dengzemiao/Desktop/usb_test

3、新建 .sh 脚本文件(例如:usb.sh)。

$ touch usb.sh

4、将 步骤1 的命令拷贝放进去,或者打开 usb.sh 文件复制进去,然后保存。

$ vim usb.sh

5、可以通过 shbashsource 这三个指令来执行 sh脚本文件,下面会介绍一下三种执行指令的区别。

// 进入存放 .sh 脚本的文件夹
$ cd /Users/dengzemiao/Desktop/usb_test 
// 执行脚本(选一种即可,可以看看下面三种执行指令的区别)
$ sh usb.sh
$ bash usb.sh
$ source usb.sh

执行成功:

dengzemiaodeMacBook-Pro:~ dengzemiao$ cd /Users/dengzemiao/Desktop/usb_test
dengzemiaodeMacBook-Pro:usb_test dengzemiao$ sh usb.sh
Forwarding local port 10010 to remote port 22

三、shbashsource 使用区别

  • 举例脚本:(在刚才那个 usb_test 文件夹中新建一个 test.sh 脚本文件,复制下面脚本命令进去保存)
# 先进入桌面
cd ~/Desktop
# 在桌面新建一个 dzm 文件夹
mkdir dzm
  • source指令
  • 在当前的 shell 环境下执行脚本文件,可以理解成在当前主线程操作,操作是同步且可见的
  • 用上面 test.sh 举例
// 进入脚本文件夹
dengzemiaodeMacBook-Pro:~ dengzemiao$ cd /Users/dengzemiao/Desktop/usb_test
// 通过 source 执行脚本
dengzemiaodeMacBook-Pro:usb_test dengzemiao$ source test.sh
// 脚本中的流程是先 cd 进入 Desktop 在创建 dzm 文件
// 下面就是已经进入了 Desktop 文件夹,并创建了 dzm 文件成功
dengzemiaodeMacBook-Pro:Desktop dengzemiao$ 
  • shbash指令
  • 当前 shell 环境会启动一个子进程来执行脚本文件,执行后返回到父进程的 shell 环境,操作是不可见的,只能看到结果
  • 执行 cd 时,在子进程中会进入到 cd 的目录,但是在父进程中环境并没有改变,也就是说目录不会改变。
  • 用上面 test.sh 举例
// 进入脚本文件夹
dengzemiaodeMacBook-Pro:~ dengzemiao$ cd /Users/dengzemiao/Desktop/usb_test
// 通过 sh 执行脚本
dengzemiaodeMacBook-Pro:usb_test dengzemiao$ sh test.sh
// 脚本中的流程是先 cd 进入 Desktop 在创建 dzm 文件
// 但是这个是子线程执行,当前线程是没有进入 Desktop 的,所以下面还是 usb_test 文件夹,它只是子线程进入了 Desktop 给你创建了 dzm 文件夹
dengzemiaodeMacBook-Pro:usb_test dengzemiao$ 
// 通过 bash 执行脚本,跟上面结果一致
dengzemiaodeMacBook-Pro:usb_test dengzemiao$ bash test

四、usb.shlogin.sh 脚本

  • 知道怎么使用 sh 脚本之后,可以将之前的 端口映射USB连接手机 两个命令分别写成两个 sh 脚本文件,之后只需要调用脚本即可
  • usb.sh 内容
python /Users/dengzemiao/Downloads/usbmuxd/tcprelay.py -t 22:10010
  • login.sh 内容
ssh -p 10010 root@localhost
  • 之后每次只需要执行这两脚本即可,usb.sh 脚本需要单独一个窗口挂着映射关系,自然也就不能将两个操作写在一个脚本文件里面了。

相关文章
|
2月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
114 1
|
1月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
68 2
6种方法打造出色的Shell脚本
|
1月前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
62 1
|
1月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
53 2
|
2月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
60 6
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
Shell Docker 容器
使用exec模式与shell模式,执行ENTRYPOINT和CMD的区别
结合 `exec`与 `shell`模式,`ENTRYPOINT`与 `CMD`在Docker容器启动时的交互方式展现出不同的特点。选择哪种模式,取决于对执行环境的纯净度、性能需求以及是否需要利用shell特性。理解这些细微差别,有助于更精细地控制容器的行为,优化应用部署与管理流程。
117 0
|
2月前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
36 0
|
2月前
|
JSON Java Shell
Dockerfile中RUN、CMD、ENTRYPOINT、SHELL命令的区别
理解这些指令的差异和应用场景,有助于构建高效、灵活且易于管理的Docker镜像。在实际应用中,根据需要选择合适的指令,可以有效地控制镜像构建和容器运行的行为。
230 0
|
网络协议 Shell Linux
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
109 0