文章目录
一、PC 端工具 hacktool 启动 main 函数分析
二、PC 端工具 hacktool 工程中的核心类 HackCommand 分析
一、PC 端工具 hacktool 启动 main 函数分析
将 hacktool.exe 启动起来后 , 会在 main 函数中执行 HackCommand 的 Prepare() 方法 , 准备工作完毕后 , 执行 HackCommand 的 Run() 方法 ;
// hacktool.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include "HackCommand.h" #define ADB_COMMAND "D:\\Changzhi\\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
二、PC 端工具 hacktool 工程中的核心类 HackCommand 分析
准备阶段 : 对应 HackCommand 类的 Prepare() 方法 , 逆向调试前 ,先要做一些准备 , 如 :
建立网络连接
等待远程 cmd 程序响应
操作 adb 命令 , 将 adb 修改为 tcp 网络接口
运行阶段 : 对应 HackCommand 类的 Run() 方法 , 与用户命令进行交互 ;
模拟器检测 : HackCommand 类的 CheckEmulator() 方法 ;
每次交互时 , 显示文本界面 : HackCommand 类的 ShowInfo() 方法 ;
构造方法与析构方法如下 :
构造方法 : HackCommand()
析构方法 : ~HackCommand()
HackCommand 类声明 :
#pragma once #include "CNetwork.h" class HackCommand { public: HackCommand(); ~HackCommand(); bool Prepare(); void Run(); void ShowInfo(); private: CNetwork m_network; };
项目位置 :