1.安卓逆向-说明

news2024/9/21 17:56:59

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:图灵Python学院

正常来爬一个app的数据,在没有加密的情况下,就不需要去逆向,app没有加密也就可以正常爬数据不需要解密,遇到加密的情况下就需要一些逆向的技术去跟它进行对抗,只有对抗成功才能拿到想要的(得到解密的方式),然后有些app有签名有加固,但是不管app怎么处理,它的加密或加固的操作全部都是在前端做的(app里做的),也就是说在app里(或者说是客户端里)肯定能找到它们的一些信息,所以才对逆向来说有迹可循,假设这些东西都在服务器这逆向就没法做了,在服务器的东西需要搞渗透

app逆向的流程

首先对于逆向来说要先去下载app,以安卓为例,app的安装包是.apk后缀,可以去各个网站下载,比如豌豆荚,下图是豌豆荚的官网,豌豆荚就可以下载很多app

比如想下载大麦app,在下图红框就搜索大麦

然后会搜索很多app,然后点查看

点了查看之后,然后一个app它会有很多版本,然后再点下图红框位置可以下载app的历史版本

然后点下图红框

然后会出来很多历史版本,如果有些app强制更新可以逆向找它更新的地方给hook掉

然后为什么要说历史版本这件事呢?如果逆向搞不定,可以去搞它历史的版本,比较低的版本,app会向下兼容,搞不定高版本可以搞低版本,到这就是怎么下载app,下载完之后它是一个.apk文件,这种.apk文件可以直接装到安卓手机里面,前端(客户端)的代码也都在apk文件里面,下图是一个apk文件,它就可以直接放到安卓手机里进行安装

然后如果豌豆荚里没有想要的app咋办?百度搜索 app名字 + app下载,比如淘宝app下载这样的关键字,去搜索,如下图红框是通过搜索的是淘宝app下载 ,会搜出很多下载地址,然后这种的搜索可能下载到有病毒的app,app是可以重新打包的,所以要专门准备一个手机或者模拟器,不要用再用的手机,这样如果下载到病毒直接初始化手机就完了

以上是怎么下载app文件,然后接下来是查看apk有没有壳,如果有壳的话要把壳砸开才能看源码,有砸壳的工具后面会给,砸了壳之后就可以看到源码了,源码一般是用java语言写的,然后假设没有壳的话就可以用jadx-Gui对apk进行反编译,发编译之后就可以看到源代码了

然后假设把源码分析完了,如果有签名加密的东西就给它们hook掉获取到明文,然后就可以写爬虫了,这是app逆向的一个流程

下图是通过jadx反编译apk之后的源码,是java代码

前言:

然后安卓逆向电脑需要16G内存以上,要不然有些apk因为太大在加载的时候会打不开或者内存就满了

然后app反编译之后的源码是java语言,所以后面会写java基础,java基础只写到可以应付逆向位置并不会把java基础写全

java基础搞完会写安卓开发基础,如果不会正向(安卓开发)逆向也没法逆,因为完全不知道app是怎么个写法逆向的时候也就不知道怎么下手

然后安卓基础完了之后再写java爬虫

java爬虫完了之后会是frida hook,使用jadx反编译之后它的数据和走向使用jadx没法关联起来就不好分析,这个时候frida的作用就来了,frida可以把参数(代码)hook掉这样就能看到参数的值是什么了,然后有些app会检测frida所以还会写绕过frida的检测,公司里上班也会用frida这个技术

然后Xposed hook,它是跑在安卓手机里的,它会采用LSPosed框架

整完这些安卓逆向就差不多了

然后设备:

一加 ace2 安卓13,也可以使用模拟器 雷电、雷神都可以模拟器使用安卓9,然后如果买不起一加 ace2,可以在淘宝买个pixel4它是安卓10系统(要找商家确认好安卓10系统),大约500元左右,买的时候记得让商家给root和解锁一下

安卓7往后它就不信任用户证书了,这就需要把抓包证书放到系统下面,手机需要root,然后模拟器它是可以直接开启root权限的,开启完之后就可以直接把证书放到系统下了

然后有个scrcpy软件可以把手机屏幕投到电脑上

以上是安卓逆向的说明


img

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

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

相关文章

SprinBoot+Vue高校就业管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

RickdiculouslyEasy--CTF-综合靶场

废话不多说,一个靶机,好几个flag,开整!!! 使用命令如下,来进行主机发现。 netdiscover -r 172.16.1.10 找到目标靶机 扫描端口 nmap 172.16.1.7 -p 1-65535 依次访问 第一个flag 9090端口 第…

使用CUBE_MX实现STM32 DMA 功能(存储器到存储器)

目录 一、使用DMA实现从存储器1发送数据到存储器2中 1.CUBE_MX配置 2.KEIL5配置 一、使用DMA实现从存储器1发送数据到存储器2中 1.CUBE_MX配置 1.在DMA选项中添加MEMORY TO MEMORY 选择数据宽度,并确保地址递增功能打开。 2.系统时钟72MHz 3.生成代码 2.KEIL5配…

创建Django 项目

创建一个新的 Django 项目: django-admin startproject myproject cd myproject 在 Django 项目中创建一个新的应用: python manage.py startapp myapp设置数据库 编辑 myproject/settings.py 文件中的数据库设置: DATABASES {default:…

研究: 用于训练大型语言模型的数据集往往缺乏透明度

研究人员开发了一种易于使用的工具,使人工智能从业人员能够找到适合其模型目的的数据,从而提高准确性并减少偏差。 这款名为 “数据出处资源管理器”(Data Provenance Explorer) 的新工具可以帮助从业人员在训练模型时对数据做出更明智的选择。 为了训练…

随机规划及其MATLAB实现

目录 引言 随机规划的基本模型 随机动态规划 随机动态规划建模实例​(随机动态规划): MATLAB中的随机规划实现 示例:两阶段随机规划 表格总结:随机规划求解方法与适用场景 结论 引言 随机规划(Stochastic Programming&…

SpringCloud之配置中心svn示例和refresh

SpringCloud之配置中心svn示例和refresh 上一篇配置中心git示例留了一个小问题,当重新修改配置文件提交后,客户端获取的仍然是修改前的信息,这个 问题我们先放下,待会再讲。国内很多公司都使用的svn来做代码的版本控制&#xff…

LabVIEW项目硬件设备选择

在LabVIEW开发项目中,硬件设备的选择至关重要,直接影响系统的性能、稳定性和开发效率。合适的硬件设备不仅能够有效支持项目目标的实现,还能提高整体测试和控制系统的灵活性。因此,从性能需求、兼容性、成本、扩展性等多个角度出发…

vue3 图片裁剪

最终效果 插件下载 pnpm install vue-cropper 配置 在main.js中配置: import VueCropper from vue-cropper; import vue-cropper/dist/index.css;app.use(VueCropper); 组件封装 components/Cropper/index.vue <temp

Linux基础---04vi编辑器指令常用集合及如何恢复意外断开未保存的文件

一.光标移动快键键集合 操作解释h,j,k,l左下上右i在光标位置编辑a在光标后一位编辑o换行编辑&#xff0c;另起一行ctrl f下翻一页ctrl b上翻一页ctrl d下翻半页ctrl u上翻半页数字0跳到行首&#xff0c;也就是跳到第0个字符^跳到行首的第一个字符shift 4跳到行尾shift g…

技术成神之路:设计模式(十三)访问者模式

介绍 访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许你在不改变对象结构的前提下&#xff0c;定义作用于这些对象的新操作。这种模式通过将操作逻辑从对象结构中抽离出来&#xff0c;使得新的操作可以无缝地添加到现有对象中。 1.定…

【漏洞复现】用友 NC pagesServlet Sql注入漏洞

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

安装docker-compose最新版本

github下载地址 在github上下载最新版本&#xff0c;这里是centos7的环境直接下载这个就好了。 这里下载好传到服务器即可&#xff0c;这里查看没有权限 需要给文件增加x的执行权限。 ~]# ls -lh 总用量 61M -rw-------. 1 root root 1.7K 7月 29 2022 anaconda-ks.cfg -rw-r…

【最新综述】基于深度学习的超声自动无损检测(下)

4.Levels of automation 5.Basic axioms for DL-based ultrasonic NDE 在回顾了最新技术和每个自动化级别的贡献之后&#xff0c;我们不难发现&#xff0c;目前的数字语言方法论在不同论文之间存在着很大的差异。例如&#xff0c;有些作者提出了同时处理不同步骤的模型[121]&…

【佳学基因检测】在EXCEL中,如何获取A列的第9-29个字符,将其填入另一列中

【佳学基因检测】在EXCEL中&#xff0c;如何获取A列的第9-29个字符&#xff0c;将其填入另一列中 在 Excel 中&#xff0c;如果你需要从 A 列的单元格中提取第 9 到第 29 个字符&#xff0c;你可以使用 MID 函数来实现。这是一个非常实用的函数&#xff0c;用于从文本字符串中…

Java设计模式之责任链模式详细讲解和案例示范

在本文中&#xff0c;我们将详细讲解Java设计模式中的责任链模式&#xff0c;探讨其基本概念、使用场景、常见问题和解决方式。同时&#xff0c;我们还会介绍责任链模式与策略模式的区别&#xff0c;并结合电商交易系统的示例进行说明。此外&#xff0c;我们还会探讨责任链模式…

新手c语言讲解及题目分享(十九)--数据类型专项练习

本文主要讲解c语言的基础部分&#xff0c;常见的c语言基础数据类型&#xff0c;这个也非常重要。 参考书目和推荐学习书目&#xff1a;通过网盘分享的文件&#xff1a;C语言程序设计电子教材 (1).pdf 链接: https://pan.baidu.com/s/1JFqSaCKZ0A2Lr944e72NUA?pwdp648 提取码: …

Golang协程泄漏定位和排查

1 场景&#xff1a;无缓冲channel写阻塞 package mainimport ("log""net/http"_ "net/http/pprof""time""github.com/gin-gonic/gin" )func main() {go func() {log.Println(http.ListenAndServe("localhost:6060&quo…

uni-app实现web-view和App之间的相互通信

双向实时 如果app端部署成网站&#xff0c;则web-view就是iframe&#xff0c;使用也可以双向通讯 https://uniapp.dcloud.net.cn/component/web-view.html APP端代码 index.vue: <template><web-viewid"m-webview":fullscreen"true":src"…

数据结构-二叉树-基础知识

数据结构-二叉树-基础知识 1.树1.1什么是树1.2基本概念子节点、父节点叶节点节点的度树的高度/深度节点的子孙、祖先 1.3树与非树1.4如何实现1.5实例 2.二叉树2.1什么是二叉树2.2特殊的二叉树满二叉树完全二叉树 2.3性质层数度节点 2.4存储结构 1.树 1.1什么是树 树型结构是一…