傲视苍穹iOS《Objective-C》VIP专题

iOS逆向学习之二(Mac远程操控iPhone)

2019-10-18  本文已影响0人  一意孤行的程序猿

SSH、OpenSSH

SSH

OpenSSH

如何使用OpenSSH远程登录到iPhone?

安装OpenSSH

使用OpenSSH远程登录iPhone

SSL、OpenSSL

SSL

OpenSSL

SSH的通讯过程

SSH的通信过程主要分为3个阶段

建立安全连接

ssh-keygen -R 服务器ip地址

客户端认证

ssh2提供两种账号认证方式

基于密码的客户端验证

基于秘钥的客户端验证(免密码登录)

ssh-keygen

此时~/.ssh文件夹下会多出两个文件id_rsa、id_rsa.pub

ssh-copy-id root@服务器主机地址

如果设置了免密码登录之后,还是需要输入密码。那么就需要在服务器端设置文件权限,使用如下命令:

chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

数据传输

通过USB进行SSH登录

22端口

通过USB进行SSH登录

/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd

使用usbmuxd工具来进行端口映射

这两个python脚本在python3下运行会失败,需要在python2版本运行

这里的10088端口可以自己随意定义,只要不使用保留的端口号就行。

cd ~/Documents/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10088

这里加上-t是为了同时支持多个ssh连接。注意:要想保持端口映射状态,不能终止此命令行(如果要执行其他终端命令行,请新开一个终端界面)

ssh root@localhost -p 10088

usbmuxd会将Mac本地10088端口的TCP协议数据,通过USB连接转发到iPhone的22端口

#将Mac上的~/Desktop/1.txt文件,拷贝到iPhone上的~/test路径
scp -P 10088 ~/Desktop/1.txt root@localhost:~/test

使用itnl工具来进行端口映射

./itnl --lport 22 --lport 10088

如果出现permission deny,则使用chmod 755 itnl为itnl增加执行权限

ssh root@localhost -p 10088

iOS终端的中文乱码问题

默认情况下,终端不支持显示中文,解决方案:新建一个~/.inputrc文件,文件内容是:

#不将中文字符转化为转义序列
set convert-meta off 

#允许向终端输出中文
set output-meta on

#允许向终端输入中文
set meta-flag on 
set input-meta on

如果是想在终端编辑文件内容,可以通过Cydia安装一个Vi IMproved(软件源http://apt.saurik.com

欢迎加入iOS开发交流学习群(密码123),我们一起共同学习,共同成长

收录:原文地址

上一篇 下一篇

猜你喜欢

热点阅读