Android 逆向Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 逆向Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )相关的知识,希望对你有一定的参考价值。

前言

本篇博客重点分析 PC 端 hacktool 模块 ;





一、adb forward 网络端口重定向命令



如下命令的作用是 将 Windows 系统 PC 端的 TCP 网络协议的 9527 端口 , 重定向到 android 手机端 / Android 模拟器端 的 TCP 网络协议的 9527 端口 ;

/* tcp:9527 是本地的 "协议:端口" 和 远程的 "协议:端口" 
 * 注意 : 使用目录的分隔符使用 / 或者 \\\\ 
 */
D:\\\\001_Develop\\\\027_LeiDian\\\\LeiDian3.75\\\\dnplayer2\\\\adb.exe forward tcp:9527 tcp:9527

该命令作用是 , PC 端发起 TCP 协议的 9527 端口连接时 , adb 工具会将该连接重定向到 手机端的 TCP 协议的 9527 端口 ;

TCP 连接前 , 先检查 PC 端 和 手机端 的 9527 端口是否被占用 ;

一般情况下是将 PC 机的 TCP 协议 重定向到 手机端的 TCP 协议 , 也可以将 PC 机的 TCP 协议 重定向到 手机端的 UDP 协议 , 后者不常用 , 容易失败 ;


该操作是通过 USB 数据线 , 建立一个 TCP 网络连接管道 , ADB 转 TCP ;


注意 , 如果使用 Android 模拟器 , 则使用 模拟器 安装目录下的的 adb 程序 , 不要使用开发工具中的 ;

如 : 该逆向操作中 , 使用 雷电模拟器 3.75 版本 , 这里使用的 adb 工具路径如下 :

D:\\001_Develop\\027_LeiDian\\LeiDian3.75\\dnplayer2\\adb.exe





二、PC 端逆向程序主函数分析



PC 端的程序是一个 " 控制台应用 " 类型的程序 , 该类型应用不需要开发 UI 界面 , 查看日志报错方式比较简单 , 容易扩展 ;

首先 , 定义如下宏定义 , 这是第一行要执行的命令 , 需要建立 PC 端与手机端的 TCP 协议链路 ;

#define ADB_COMMAND "D:\\\\001_Develop\\\\027_LeiDian\\\\LeiDian3.75\\\\dnplayer2\\\\adb.exe forward tcp:9527 tcp:9527"

然后 , 直接执行上述地你故意的命令 , system(CmdString) 相当于在 cmd 命令行中执行 CmdString 命令 ;

system(ADB_COMMAND);

该控制台程序的核心逻辑时在 HackCommand 类中实现的 , 主要调用了 2 个方法 , 调用 HackCommand::Prepare() 方法准备网络环境 , 然后主要逻辑都在 HackCommand::Run() 方法中 ;


PC 端 控制台程序 主函数代码 :

// hacktool.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include "HackCommand.h"

/* tcp:9527 是本地的 "协议:端口" 和 远程的 "协议:端口" 
 * 注意 : 使用目录的分隔符使用 / 或者 \\\\ 
 */
#define ADB_COMMAND "D:\\\\001_Develop\\\\027_LeiDian\\\\LeiDian3.75\\\\dnplayer2\\\\adb.exe forward tcp:9527 tcp:9527"


int main()
{
	system(ADB_COMMAND);
	HackCommand command;
	if (command.Prepare()) {
		command.Run();
	}
	return 0;
}

//adb forward tcp:9527 tcp:9527

以上是关于Android 逆向Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )

Android 逆向Android 逆向通用工具开发 ( Windows 平台运行的控制台应用程序类型 | 编译 Windows 平台运行的 Android 逆向程序 )

Android 逆向Android 逆向通用工具开发 ( PC 端工程分析 | 网络初始化操作 | PC 端工程核心业务逻辑 )

Android 逆向Android 逆向通用工具开发 ( 静态库项目中的网络操作核心类 CNetwork 分析 )

Android 逆向Android 逆向通用工具开发 ( Android 端远程命令工具 | Android 端可执行程序的 main 函数操作 | TCP 协议服务器建立 | 接收客户端数据 )(代

Android 逆向Android 逆向通用工具开发 ( PC 端工具 hacktool 启动 main 函数分析 | hacktool 工程中的核心类 HackCommand 分析 )