android逆向android逆向方法(静态逆向解析|函数调用分析|动态运行跟踪|运行日志分析|文件格式解析|敏感信息分析|网络信息监控|环境伪装模拟)

韩曙亮 韩曙亮     2023-01-10     742

关键词:





一、Android 逆向方法




1、静态逆向解析


静态逆向解析 : 静态解析 APK 安装文件 , 反编译 APK 文件 , 然后反汇编 Dex 字节码文件 , SO 动态库文件 ; 分析这些二进制文件细节 ;


2、函数调用分析


函数调用分析 : 研究应用中调用了哪些函数 , 如 : 资源或目录中某些文件被加密了 , 需要解密操作 , 尝试分析 Java / OpenSSL 等的加密解密 API 方法 , 拦截这些方法 , 获取相应的秘钥 ; 获取到秘钥后 , 可以自己实现一个算法 , 将加密文件还原成原始数据 ;


3、动态运行跟踪


动态运行跟踪 : 将程序运行起来 , 运行中动态分析数据 ; 如 : 做一些函数拦截 , 拦截 Java 的字符串 String 的 构造函数 或 追加函数 , 按照时间顺序 , 记录函数的结果 , 然后找到关键信息的拼接过程 , 如 : 访问网络时 , 必然拼接 URL 地址 , 这些都是字符串 , 比较容易分析 ;


4、运行日志分析


运行日志分析 : 针对一个几百兆的大型的程序 , 一般不会上来就进行静态分析 , 很难接近应用的核心部分 ; 这种情况下 , 优先监控这个应用的运行日志 , 执行应用相关操作 , 查看哪些操作会产生哪些日志 , 之后根据日志信息 , 定位对应的代码位置 , 然后进行 静态 / 动态分析 ;


5、文件格式解析


文件格式解析 : 解析编译后的 SO 等格式的文件 , 提取重要的信息 , 如解析 SO 动态库 , 提取其中的 jni 入口方法 , 然后到 Dex 字节码文件中查询对应的 jni 方法调用 ;
有时候可以获取代码中的以明文形式声明的 密码 , 秘钥 , 字符串 相关信息 ; 解析 SO 动态库中的所有字符串信息 , 通过观察特征 , 位数 , 可以知道哪些字符串可能是秘钥字符串 , IP 地址 , URL 地址 , 域名 等 ;


6、敏感信息分析


敏感信息分析 : 分析 敏感的 函数名 , 类名 , 字符串 , 文件名 ;


7、网络信息监控


网络信息监控 : 针对有网络功能的应用 , 应用需要与服务器进行交互 , 如果网络交互没有进行防护措施 , 如使用 HTTP 链接 , 或 未加密数据 等 , 很容易被截获明文数据 , 这些数据都需要进行二次加密 ;
网络游戏 , 如果被截获了数据 , 后果是灾难性的 , 外挂就做出来了 ;


8、软件动态调试


软件动态调试 : 在调试环境中 , 调试软件 , 可以设置断点 ; 通过修改寄存器跳过调试检测 ;


9、环境伪装模拟


环境伪装模拟 : 使用 PC 电脑机上运行 Android 系统 , 应用为了避免在 PC 上运行 , 删除了 x86 架构的 so 动态库 ;
使用 雷电模拟器 等 模拟器 , 可以在 PC 电脑上运行 ARM 库 , 只是运行速度慢一些 ;

android逆向android逆向用途|android逆向原理

文章目录一、Android逆向用途二、Android逆向原理一、Android逆向用途Android逆向用途:软件防护:根据逆向的方法针对性的开发防护策略;算法研究:在没有源码的前提下,通过反编译,反汇编,拿到Smali代码,研究其产品的算法,实现途径;接... 查看详情

android逆向android逆向通用工具开发(静态库项目中的网络操作核心类cnetwork分析)(代码片段)

文章目录一、adabingo静态库项目中的网络操作核心类CNetwork分析一、adabingo静态库项目中的网络操作核心类CNetwork分析CNetwork相关方法分析:等待客户端上线:CNetwork::WaitClientOnline(),模拟器/真机中运行的cmd程序,可能在PC端hacktool工具之... 查看详情

android逆向必备工具

Android逆向用途:软件防护:根据逆向的方法针对性的开发防护策略;算法研究:在没有源码的前提下,通过反编译,反汇编,拿到Smali代码,研究其产品的算法,实现途径;接口分析:接入一个没有源码的第三方库,无法进行调试,出现问题后,可... 查看详情

android逆向必备工具

Android逆向用途:软件防护:根据逆向的方法针对性的开发防护策略;算法研究:在没有源码的前提下,通过反编译,反汇编,拿到Smali代码,研究其产品的算法,实现途径;接口分析:接入一个没有源码的第三方库,无法进行调试,出现问题后,可... 查看详情

android逆向android逆向通用工具开发(android逆向通用工具组成部分|各模块间的关联)(代码片段)

文章目录一、Android逆向通用工具组成部分二、Android逆向通用工具各模块间的关联一、Android逆向通用工具组成部分Android逆向通用工具肯定是跨平台的,涉及到多个平台,多个CPU架构的程序;涉及如下444个程序;在PC机上运行hacktool程序... 查看详情

android逆向android进程注入工具开发(总结|源码编译|逆向环境搭建使用|使用进程注入工具进行逆向操作)★★★(代码片段)

文章目录一、Android进程注入工具开发系列博客二、Android进程注入工具源码下载编译三、逆向环境搭建四、使用注入工具进行逆向操作1、获取远程进程号2、注入工具准备3、注入动态库4、查询内存5、修改内存一、Android进程注入... 查看详情

什么是android逆向?如何学习安卓逆向?android逆向自学笔记入门到实战(代码片段)

前言“安卓逆向”不是一个新名词,它伴随着安卓开发而生,但是一直以来,仅限于技术圈内流行,对于非技术圈人士,往往把“APP破解”和“安卓逆向”划等号。这是写给非技术圈人士看的,在于普及安... 查看详情

android逆向android逆向通用工具开发(pc端工程分析|网络初始化操作|pc端工程核心业务逻辑)(代码片段)

...进行网络初始化操作;在HackCommand::Prepare()方法中调用了【Android逆向】Android逆向通用工具开发(网络模块开发|SOCKET网络套接字初始化|读取远程端“Android模拟器“信 查看详情

如何保护 Android 代码免受逆向工程? [复制]

】如何保护Android代码免受逆向工程?[复制]【英文标题】:HowcanIprotecttheAndroidcodefromreverseengineering?[duplicate]【发布时间】:2018-06-2204:17:55【问题描述】:有没有办法保护Android应用程序代码免受逆向工程或反编译?例如编码代码或... 查看详情

android逆向android权限(android逆向中使用的android.permission权限|android系统中的linux用户权限)

文章目录一、Android逆向中使用的android.permission权限二、Android系统中的Linux用户权限一、Android逆向中使用的android.permission权限Android逆向中使用的权限:android.permission.SET_DEBUG_APP:调试程序,应用有该权限后,可以指定调试相关的程序;an... 查看详情

android逆向android权限(android逆向中使用的android.permission权限|android系统中的linux用户权限)

文章目录一、Android逆向中使用的android.permission权限二、Android系统中的Linux用户权限一、Android逆向中使用的android.permission权限Android逆向中使用的权限:android.permission.SET_DEBUG_APP:调试程序,应用有该权限后,可以指定调试相关的程序;an... 查看详情

android逆向之旅---静态分析技术来破解apk

本文转载自:http://blog.csdn.net/jiangwei0910410003/article/details/50083649一、前言从这篇文章开始我们开始我们的破解之路,之前的几篇文章中我们是如何讲解怎么加固我们的Apk,防止被别人破解,那么现在我们要开始破解... 查看详情

android逆向android逆向通用工具开发(adbforward网络端口重定向命令|pc端逆向程序主函数分析)(代码片段)

...作用是将Windows系统PC端的TCP网络协议的9527端口,重定向到Android手机端/Android模拟器端的TCP网络协议的9527端口;/*tcp:9527是本地的"协议:端口"和远程的&# 查看详情

android逆向工具简单介绍(代码片段)

目录一、Android逆向概述1、什么是Android逆向2、逆向过程3、逆向用途1)APP自动化执行程序脚本2)修改APP的功能3)APP安全二、常用逆向工具介绍1、APP抓包工具1)Fiddler2)Wireshark2、jadx反编译工具3、APKDB4、Frida之... 查看详情

android逆向android逆向工具(apktool|ida|python)(代码片段)

文章目录一、Apktool二、IDA三、Python一、Apktool参考【Android安全】DEX加密(常用Android反编译工具|apktool|dex2jar|enjarify|jd-gui|jadx)博客;官网地址:https://ibotpeaches.github.io/Apktool/文档地址:https://ibotpeaches.github.io/Apktool/docum 查看详情

android逆向android逆向通用工具开发(windows平台运行的控制台应用程序类型|编译windows平台运行的android逆向程序)(代码片段)

...台运行的控制台应用程序类型二、编译Windows平台运行的Android逆向程序一、Windows平台运行的控制台应用程序类型hacktool工程的类型是Windows平台的"控制台应用"类型,VisualStudio2019安装后,就可以自动创建该应用;编译该程序,需要... 查看详情

android逆向学习路线

...xff1a;基础语法,面向对象,接口,反射机制等Android应用开发,四大组件(activity,service,provider,broadcast),界面控件,消息事件处理、网络通信等java层逆向:smali汇编与静态逆向分析,动态调试(双IDA调... 查看详情

android逆向android逆向基本概念(定位内存中的修改点|基址寻址法|搜索定位法)(代码片段)

文章目录一、定位内存中的修改点1、基址寻址法2、搜索定位法一、定位内存中的修改点使用"基址寻址法"或"搜索定位法"搜索指定文件中的代码在内存中的位置;上述222个内存定位方法结合IDA工具,一起使用;1、基址寻... 查看详情