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

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

文章目录

一、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;
};



项目位置 :


image.png

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
17天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
38 0
|
1天前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
|
1天前
|
存储 Android开发
android launcher总体分析
android launcher总体分析
|
3天前
|
编解码 缓存 安全
Android SELinux 参数语法介绍及基础分析
Android SELinux 参数语法介绍及基础分析
9 0
|
4天前
|
Java 开发工具 Android开发
如何访问 android系统hide的类或接口
如何访问 android系统hide的类或接口
12 1
|
17天前
|
存储 安全 文件存储
Android OTA升级后输入法异常和应用丢失的分析
Android OTA升级后输入法异常和应用丢失的分析
20 1
|
17天前
|
存储 Java Shell
Android系统 实现低内存白名单防LMK原理分析
Android系统 实现低内存白名单防LMK原理分析
32 0
|
17天前
|
存储 Java Linux
Android系统获取event事件回调等几种实现和原理分析
Android系统获取event事件回调等几种实现和原理分析
31 0
|
7天前
|
存储 安全 Android开发
安卓应用开发:构建一个高效的用户登录系统
【5月更文挑战第3天】在移动应用开发中,用户登录系统的设计与实现是至关重要的一环。对于安卓平台而言,一个高效、安全且用户体验友好的登录系统能够显著提升应用的用户留存率和市场竞争力。本文将探讨在安卓平台上实现用户登录系统的最佳实践,包括对最新身份验证技术的应用、安全性考量以及性能优化策略。
|
10天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比