逆向、安全、工具集

news2024/9/23 23:35:35

0、安卓逆向环境 r0env

原味镜像介绍文章:https://mp.weixin.qq.com/s/gBdcaAx8EInRXPUGeJ5ljQ
原味镜像介绍视频:https://www.bilibili.com/video/BV1qQ4y1R7wW/

百度盘:链接:https://pan.baidu.com/s/1anvG0Ol_qICt8u7q5_eQJw 提取码:3x2a
阿里盘:http://49.235.84.125:8080/r0env
登录时用户名:root 密码:toor

1、工具集

​吾爱 工具集

官网:https://www.52pojie.cn/

工具集:https://down.52pojie.cn 

:https://www.52pojie.cn/thread-811805-1-1.html

看雪 工具集

官网:https://bbs.kanxue.com/

工具集:https://tools.pediy.com

知识库

看雪 知识库:https://www.kanxue.com/chm.htm?id=14693

安卓 逆向 必备 工具

  • 1、一块安卓手机。(最好google手机,用于安装应用,调试等)
  • 2、Charles。主要用于抓包,抓取应用的接口。
  • 3、jadx-gui。也可以选择使用jeb,拖入即可。
  • 4、Android Killer。一般用来把反编译的APP重新编译,用来编辑samil代码来调试。
  • 5、Android Studio。安卓的开发IDE,虽然是做逆向,但是正向的工具绝对不能少,里面也自带了monitor调试查看工具,截图工具等,而且在我们逆向的时候常常遇到一些比较疑惑的代码,可以用Android studio来重现出代码的执行意义。
  • 6、IDA pro。分析SO层必不可少的神器,它也可以只是动态调试SO层代码。
  • 7、Visual Studio。主要用来把so层的代码还原出来,因为SO层是ARM指令,但是它可以转换成伪代码,一定条件下我们可以将伪代码扣成C++代码用来重现执行效果。
  • 8、Frida。这个hook工具可以直接hook so层函数,也可以hook java层的函数,并且不需要重启手机,非常的方便,比xposed方便多了。
  • 9、IDEA。这个主要用来写java和frida脚本的,但是需要在里面添加进python的支持
  • 10、python。这个是必须的,因为frida就是通过python来进行安装的。
  • 11、winHex。十六进制编辑器,分析so或者查看Android的dex的时候需要。

2、抓 包

charles

​:https://www.charlesproxy.com/
mac端很舒服轻松的小花瓶,抓应用层Http(s)请求,

Fiddler

:https://www.telerik.com/fiddler

windows端的 “Charles", 抓应用层Http(s)请求。但不推荐使用,因为它无法导入客户端证书(p12、Client SSL Certificates),对于服务器校验客户端证书的情况无法 Bypass

BrupSuite

一个较为专业的抓包工具

mitmproxy

可以使用拦截 request、response 的 代理工具

WireShark

https://www.wireshark.org/

会话层抓包很方便,通常需要配合反编译找到协议的组成方式。 建议使用方式:电脑端开热点,然后指定用于创建热点的虚拟网卡,再把手机连上热点开始抓包

TcpDump

适用于会话层抓包,可以直接在手机上运行 Tcpdump 然后导出文件在电脑端WireShark中打开,与直接使用 WireShark 抓包效果相同

Postern

Android系统里一款非常流行的代理/ 虚拟专用网络管理程序,是一个全局代理工具。支持的代理协议有: HTTPS/HTTP、SSH隧道、Shadowsocks、SOCKS5 代理等

Jnettop

实时查看流量走势和对方IP地址,直观生动

ProxyDroid

强制全局代理工具,适用于常规charles等工具抓不到包的情况。原理是通过 iptables 将所有TCP连接重定向到代理服务器上,强制性地让APP的HTTP请求通过代理。

PacketCapture

VPN 抓包工具,原理是在本地创建一个VPN,使所有请求都从VPN中流过,从而实现不适用代理抓包的效果

HTTPCanary

VPN 抓包工具,原理是在本地创建一个VPN,使所有请求都从 VPN 中流过,从而实现不适用代理抓包的效果

Hping

面向命令行的用于生成和解析TCP/IP协议数据包汇编/分析的开源工具。它支持TCP,UDP,ICMP和RAW-IP协议,具有跟踪路由模式 ​

3、反编译

Android-Crack-Tool For Mac

:https://github.com/Jermic/Android-Crack-Tool

mac 下 Android 逆向神器,实用工具集

AndroidCrackTool集成了Android开发中常见的一些编译/反编译工具,方便用户对Apk进行逆向分析,提供Apk信息查看功能.目前主要功能包括(详细使用方法见使用说明):

  • 反编译APK
  • 重建APK
  • 签名APK
  • 优化APK
  • DEX2JAR(APK2JAR)
  • JDGUI
  • 提取DEX
  • 提取XML
  • Class to smail
  • Apk信息查看
  • Unicode转换

apktool

​:https://github.com/iBotPeaches/Apktool
一款功能强大且操作简单的apk反编译工具,能够将反编译的apk文件保存到同名目录中,还能帮用户将反编译的dex、odex 重新编译成dex文件

Android Killer

一般用来把反编译的APP重新编译,用来编辑 samil 代码来调试。

JEB

JEB是一个功能强大的安卓应用程序反编译工具,用于逆向工程或者审计apk文件。

使用:jeb > Jadx/Jadx-gui > apktool

jd-gui

​:https://github.com/java-decompiler/jd-gui
可将安卓可执行文件dex转为jar包,并提供可视化代码阅读能力

dex2jar

​:https://github.com/pxb1988/dex2jar
将安卓可执行文件 dex 转为 jar 包

Jadx、Jadx-gui

​:https://github.com/skylot/jadx
非常方便的 Java 反编译工具,一般用到的功能主要是搜索、反混淆、查找方法调用这几样,性能和反编译出来的代码效果都比使用 dex2jar+jd-gui 之类的方式好。

wxUnpacker

:https://github.com/geilige/wxappUnpacker
github上牛人写的小程序反编译工具 , 现已被封,但有其他fork版本

ByteViewer

​:https://github.com/Konloch/bytecode-viewer
支持apk、dex等多种文件格式的反编译

4、Hook 框架

Xposed、VirtualXposed、EdXposed、taichi (太极)、LSPosed

  • Xposed:是一个模块框架,可以在不接触任何APK的情况下更改系统和应用程序的行为。但是自从 android 7.0 之后,xposed 的开发者 rovo89 基本就不维护了
  • VirtualXposed:是基于VirtualApp 和 epic,可以在非ROOT环境下运行Xposed模块(支持5.0~8.1)。Virtual Xposed 的机制为模拟 Xposed 环境,可以把它简单的理解为一台已经刷了 Xposed 框架的虚拟机
  • EdXposed:android 7.0 之后,xposed 虽然死了,但它却不再是唯一。这就是 Edxposed 框架,Edxposed 全称 Elder driver Xposed Framework,简称 edxp,或者 ed。
  • taichi:太极是一个类似于Xposed的框架,但它本身与Xposed没有任何关系,唯一有关系的可能是太极与Xposed 模块兼容,它能够加载 Xposed模块、然后通过模块改变系统和应用的行为。 如:修改系统和APP、拦截方法,执行hook逻辑等。 太极既能以传统的 Root/刷机 方式运作,也能 免Root/免刷机 运行,但是有 Root 后能解锁更多的能力。现在支持包括 Android 5.0 ~ 12 在内的几乎所有机型
  • LSPosed:是 Edxposed 的一个新的分支,LSPosed 与Edxposed 相互兼容,却比 Edxposed 更加简洁、易用和高效,是现如今饱受诟病的 Edxposed 的极佳替代品。

相关模块:​

  • JustTrustMe:https://github.com/Fuzion24/JustTrustMe。基于Xposed写的可以绕过SSL Pinning检测的工具
  • Inspeckage:https://github.com/ac-pm/Inspeckage。 基于Xposed写的动态分析工具,Hook了大量逆向时常见的方法,如Crypto、Hash,这两个类型在破解大部分APP的加密参数时可以说是降维打击,因为大部分APP的加密参数都逃不过MD5、SHA1、AES、DES这四种,而它们都被Hook了(不仅仅只有这四种)。基本上就是打开Inspeckage再打开它的Web端,然后打开指定的APP操作一下,一个搜索,加密参数就原形毕露了

平头哥

github:https://github.com/virjarRatel
平头哥(ratel)是一个 Android 逆向分析工具套件,他提供一系列渐进式app逆向分析工具。同时平头哥也是一个app二次开发的沙箱环境,支持在免root环境下hook和重定义app功能。 对于大部分app来说,平头哥打开了潘多拉魔盒,请不要在授权之外违法使用平头哥(仅建议用于个人定制化使用、app攻防安全研究等领域),在ratel官方授权之外违规使用ratel造成的一些后果由使用者自定承担
平头哥是一个app逆向分析的生态,开发进度历时3年。目前正考虑推出商业版本的开源化。同时作为一套完善闭环的工具链,平头哥的相关功能是非常多的。能够在免root手机中使用xposed的框架。支持5.0-10.0。使用ratel可以任意控制app的行为,如同开启上帝模式一样。

Frida

​github:https://github.com/frida/frida
作为Hook工具,相对于Xposed而言Frida的受欢迎度不断上升,它的功能在某些方面要比Xposed强得多。 它是一种动态插桩工具,可以插入一些代码到原生app的内存空间去,动态地监视和修改其行为,可对内存空间里的对象方法实现监视、修改甚至替换

Objection

​github:https://github.com/sensepost/objection
Frida 的集成化工具,简单易用

hooker

hooker 逆向工作台:https://github.com/CreditTone/hooker
基于 frida 实现的逆向工具包。为逆向开发人员提供统一化的脚本包管理方式、通杀脚本、自动化生成hook脚本、内存漫游探测 activity 和 service、firda 版JustTrustMe。

5、脱壳

Frida 的 dexDump

号称“葫芦娃”,Frida集成工具,实现一键脱壳

Fart

​github:https://github.com/hanbinglengyue/FART
内存中DexFile结构体完整dex的dump进行脱壳

DeveloperHelper

基于Xposed写的辅助工具,常用于查看Activity名、查看加固类型、查看Activity结构、自动脱壳。

UCrack

基于Xposed写的辅助工具,集成了自动网络抓包、网络堆栈爆破、文件日志、WebView调试环境、自动脱壳、Native函数注册监控、记录程序自杀堆栈等功能

6、调试

postman

官网:https://www.postman.com/
http 请求接口调试,支持cURL导入

adb

安卓调试桥,逆向中用于软件安装、服务启动、动态调试等,用法相当于Linux shell

IDA Pro

强大的调试工具,逆向中常用于so动静态分析,帮助破解Native加密逻辑

unidbg

unidbg 是一个标准的 java 项目,是一款基于 unicorn 和 dynarmic 的逆向工具。可以直接黑盒调用 Android 和 IOS 的 so 文件,无论是黑盒调用 so 层算法,还是白盒 trace 输出 so 层寄存器值变化都是一把利器~ 尤其是动态 trace 方面堪比 ida trace。

DDMS、Monitor

Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务,它提供查看线程和堆信息、logcat、进程、广播状态信息等功能

7、自动化

appium

用于自动化 iOS 手机、 Android 手机和 Windows 桌面平台上的原生、移动 Web 和混合应用。核心是一个是暴露 REST API 的 WEB 服务器。它接受来自客户端的连接,监听命令并在移动设备上执行,答复 HTTP 响应来描述执行结果

selenium

Selenium( selenium 中文网:http://www.selenium.org.cn/ )是一个强大的网络数据采集工具,最初是为了网站自动化测试而开发的,被用来测试 Web 应用程序在不同的浏览器和操作系统上运行能力。Selenium 不带浏览器,它需要与第三方浏览器结合在一起使用。例如,如果你在 Chrome 上运行 Selenium

playwright

Playwright 可以在所有浏览器中实现快速、可靠和强大的自动化测试。

8、安卓手机 的 虚拟机

VMOS

VMOS(虚拟大师)是 Android 系统上的 Vmvare,完整的且自带 Root 系统能够让你实现无限可能,不论是 Xposed 还是游戏辅助,后台挂机都能完美适配。

9、爬虫 必备 库

xpath 便捷易用的HTML解析库
fake_useragent User-Agent动态生成,池化技术,可有效避免检测UA的反爬虫策略 ​
Linux cURL 利用URL语法在命令行下工作的文件传输工具
openssl ssl类命令行工具,逆向中常用于Android7.0以上证书文件生成hashcode,证书用hashcode重命名后安装到系统目录里面。 openssl x509 -subject_hash_old -in

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/377028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Spring源码】Spring AOP的核心概念

废话版什么是AOP关于什么是AOP,这里还是要简单介绍下AOP,Aspect Oriented Programming,面向切面编程,通过预编译和运行期间提供动态代理的方式实现程序功能的统一维护,使用AOP可以降低各个部分的耦合度,提高…

openfeign负载均衡策略 | Spring Cloud 5

一、Spring Cloud LoadBalancer介绍 Spring Cloud LoadBalancer是Spring Cloud官网提供的一个客户端负载均衡器,功能类似于Ribbon。在Spring Cloud Nacos 2021移除了中Ribbon组件,Spring Cloud在Spring Cloud Commons项目中,添加了Spring Cl…

华为OD机试题,用 Java 解【N 进制减法】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

Linux | 分布式版本控制工具Git【版本管理 + 远程仓库克隆】

文章目录一、前言二、有关git的相关历史介绍三、Git版本管理1、感性理解 —— 大学生实验报告2、程序员与产品经理3、张三的CEO之路 —— 版本管理工具的诞生四、如何在Linux上使用Git1、创建仓库2、将仓库克隆到本地3、git三板斧① git add② git commit③ git push4、有关git…

yarn run serve报错Error: Cannot find module ‘@vue/cli-plugin-babel‘ 的解决办法

问题概述 关于这个问题,是在构建前端工程的时候遇到的,项目构建完成后,“yarn run serve”启动项目时,出现的问题:“ Error: Cannot find module ‘vue/cli-plugin-babel‘ ” 如下图: 具体信息如下&…

(24秋招笔试准备)回溯专题--代码随想录刷题记录

回溯算法理论基础回溯三部曲:编辑切换为居中添加图片注释,不超过 140 字(可选)组合问题https://mp.weixin.qq.com/s/OnBjbLzuipWz_u4QfmgcqQ组合总和https://mp.weixin.qq.com/s/HX7WW6ixbFZJASkRnCTC3whttps://mp.weixin.qq.com/…

Linux系统认知——驱动认知

文章目录一、驱动相关概念1.什么是驱动2.被驱动设备分类3.设备文件的主设备号和次设备号4.设备驱动整体调用过程二、基于框架编写驱动代码1.驱动代码框架2.驱动代码的编译和测试三、树莓派I/O口驱动的编写1.微机的总线地址、物理地址、虚拟地址介绍2.通过树莓派芯片手册确定需要…

zabbix部署

文章目录前言一、zabbix简介二、zabbix下载与部署三、部署完成、访问前端测试前言 一、zabbix简介 Zabbix 是一个企业级分布式开源监控解决方案。Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置…

数据结构与算法——4时间复杂度分析(常见的大O阶)

这篇文章是时间复杂度分析的第二篇。在前一篇文章中,我们从0推导出了为什么要用时间复杂度,时间复杂度如何分析以及时间复杂度的表示三部分内容。这篇文章,是对一些常用的时间复杂度进行一个总结,相当于是一个小结论 1.常见的大O…

【LeetCode】剑指 Offer(11)

目录 题目:剑指 Offer 29. 顺时针打印矩阵 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 29. 顺时针…

西电计算机通信与网络(计网)简答题计算题核心考点汇总(期末真题+核心考点)

文章目录前言一、简答计算题真题概览二、网桥,交换机和路由器三、ARQ协议四、曼彻斯特编码和差分曼彻斯特编码五、CRC六、ARP协议七、LAN相关协议计算前言 主要针对西安电子科技大学《计算机通信与网络》的核心考点进行汇总,包含总共26章的核心简答。 【…

华为OD机试模拟题 用 C++ 实现 - 自动曝光(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明自动曝光题目输入输出描述示例一输入输出说明示例二输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出࿰

Ubuntu搭建maven私服

1.安装JDK8 已经是JDK8的需要配置环境变量,如果是更高版本的JDK则需要修改nexus配置文件 2.下载nexus安装包 百度网盘下载:链接:https://pan.baidu.com/s/1DfKqql8tZNQXEBxAEH7UyA 提取码:hx4p安装到有磁盘的目录如下所示&…

大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——Join多种应用

3.7.1Reduce Join 1、工作原理 Map端的主要工作:为来自不同表或文件的key/value对,打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出。 Reduce端的主要工作:在Reduc…

C++杂谈(一)

前言 本系列也是慢更系列,主要收纳一些还不够单独成系列的C的杂项问题,或是一些与C有关,但不属于核心知识的一些旁系问题。 关于C与C的关系 「学C要先学C吗?」 「C和C是不是完全不同的两个语言?」 「这个语法是C的还…

Nginx网站服务——Nginx虚拟主机(基于域名、IP、端口)附带超详细实验步骤

文章目录一、基于域名的nginx虚拟主机1、基于域名的nginx虚拟主机的操作步骤2、实例操作:基于域名的nginx虚拟主机二、基于IP的nginx虚拟主机1、基于IP的nginx虚拟主机的操作步骤2、实例操作:基于IP的nginx虚拟主机三、基于端口的nginx虚拟主机1、基于端…

EasyRecovery16支持恢复文档表格图片音视频等各种不同的数据

误删重要文件这样的事想必大家都不陌生,有时粗心起来可能经常会出现这样的事情。现代人的生活和工作基本离不开电脑等多媒体设备,每天需要处理的文件量和数据量也是呈指数增长,所以一款能够实现误删数据修复的软件可以说是当代人的电脑必装了…

TOSCA自动化测试工具

TOSCA由德国公司Tricentis研发,提供英文和德语两种版本。 目前他们的网上培训课程大约是2000一套,从初级到高级,从工程师到BA,有技术,也有测试管理。 TOSCA的思想是,不用会编程的测试人员可以直接上手自动…

RK3568平台开发系列讲解(驱动基础篇)SMP(Symmetrical Multi-Processing)

🚀返回专栏总目录 文章目录 一、linux SMP 和 AMP二、linux SMP的启动流程三、CPU的描述:cpumask四、CPU之间的关系沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 SMP(Symmetrical Multi-Processing)。 一、linux SMP 和 AMP 目前支持多核处理器的实时操…

RabbitMQ延迟队列

目录 一、概念 二、使用场景 三、RabbitMQ 中的 TTL (一)队列设置 TTL (二)消息设置 TTL (三)两者的区别 四、整合SpringBoot实现延迟队列 (一)创建项目 (二&am…