【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 Studio 运行按钮灰色的完美解决方法
- Android加密之全盘加密
- android系统开机画面_Android开机画面
- android移动点餐系统内容和要求,基于Android云计算的移动点餐系统
- android签名命令行,Android系统签名位置及命令
- android bindservice方法,Android bindservice方法返回false
- android deeplink流程,Android Deeplink探究[通俗易懂]
- mac 电脑android环境变量设置,mac上Android环境变量配置[通俗易懂]
- android sdk安装过程,图文详解Android 3.0 SDK安装教程
- robotium android,Robotium 测试Android apk安装包
- 【Android布局】在程序中设置android gravity 和 android layout Gravity属性
- 为应用提供 64 位原生支持 | Android 中文教学视频
- android触摸屏事件,Android Touch事件分析
- android应用程序_chrome Android
- eclipse中android开发_Android开发教程
- Android传感器_悦动凸轮轴位置传感器故障
- Android修改字体_android设置字体样式
- mac下Android Studio 安装和使用adb
- android 系统浏览器 源码-Android 最最最简单的浏览器代码
- 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 获取 Activity 中的所有方法 | 获取方法上的注解 | 获取注解上的注解 | 通过注解属性获取事件信息 )
- 【Android 逆向】函数拦截原理 ( 可执行程序基本结构 | GOT 全局偏移表 | 可执行程序函数调用步骤 )
- 【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 )
- 【Android Gradle 插件】CompileOptions 配置 ( BaseExtension#compileOptions 脚配块配置 | CompileOptions 属性配置 )
- Android控制文字水平间距android:letterSpacing详解手机开发
- [android] 内容提供者简介详解手机开发
- 深入理解Android渲染机制详解手机开发
- Android中android:visibility的3中属性的剖析详解手机开发
- 新证据表明微软正开发适用于Win11的Android模拟器
- 掌握Linux ADB命令,轻松管理Android设备(linuxadb命令)
- android版本检测Android程序的版本检测与更新实现介绍
- Android里实现退出主程序的提示代码