Android
文章平均质量分 84
Hacker_by_V
逆向小子
展开
-
安卓逆向基础分享
安卓逆向基础入门分享前言在学习时候要记得时刻的做笔记,都说好记性不如烂笔头是吧,样养成记笔记的好习惯,这样你学习起来就不会乱。## 本次学习的目的1.对安卓开发的进行简单的复习(安卓开发的部分这里就不细讲了)。2.对最简单的安卓App进行开发。3.对smali代码进行进一步的学习。4.对dex文件的分析5.简单的动态调试6.静态分析7.Davlik虚拟机8.简单的APK文件分析工具使用1.Android studio 基本操作2.apktool3.APKIDE4.Androi转载 2021-03-10 22:57:13 · 656 阅读 · 0 评论 -
安卓逆向之虚拟机的相关内容
小生今天要和大家一起去学习安卓逆向当中重中之重的虚拟机的相关内容,咱们只有了解虚拟机咱们才能去实战,到时候才能放开手脚,话不多说,咱们一起来看看吧。什么是虚拟机?我们安卓逆向用到的虚拟机,可能会和大家接触过的虚拟机不太一样,咱们说的虚拟机,是一个运行环境,我们可以在上面去执行相应的文件(比如:class文件、odex文件、oat文件等)我们了解了虚拟的基本概念,咱们去看一下这三种虚拟机的区别。Java虚拟机Java虚拟机运行的是java字节码,java程序经过编译,生成java虚拟机通过解码cla原创 2020-12-04 14:45:52 · 250 阅读 · 0 评论 -
JEB工具的介绍及使用
这几天很多同学都来问我,jeb工具是啥啊?咋用?是比不可是的吗?在这里小生还是疏忽了,应该早点给我们大家介绍JEB这些基础工具的,好让大家能够快速的去学习上手安卓逆向技术,那么今天小生就来给大家介绍介绍JEB工具还有它的使用方法。JEB是一个功能强大为安全专业人士设计的安卓应用程序反编译工具,用于逆向工程或者审计apk文件,可以提高效率减少许多工程师的分析时间。那我们去看一下如何去使用这款工具吧。当然如果没有安装包的同学们可以找我来领取哦。工具包和我的一致更加方便跟着小生进行操作,没有下载的朋友们原创 2020-12-03 15:49:37 · 27538 阅读 · 5 评论 -
安卓逆向——Log插桩调试smali代码
分析APP程序的时候,怎么样快速地定位关键点打印log日志信息呢? “插桩”这个学术词语,第一次看见的时候小伙伴们会想到什么呢?插桩,是不是就是农民伯伯在地里插的木桩?“插桩”在农业中确实指的就是在田地里插木桩,但是在我们的安卓逆向技术范畴内,它有一个高端的定义——定位关键代码技巧。五种定位技巧1.信息反馈法通过搜索它的资源id字符串来进行定位2.特征函数法通过搜索一些会调用的关键的api函数3.顺序查看法通过用来分析程序的执行流程,比如UNclick点击事件,或者是activity.原创 2020-11-27 16:14:25 · 841 阅读 · 0 评论 -
小生浅谈Android开发之生命周期
我们Android逆向和Android开发会有很多的联系,今天小生就带大家一起去看看,Android开发Activity的生命周期。一、如何创建Activity(活动)1.Activity(活动):2.新建一个类继承自Activity(活动)二、Activity(活动)的声明周期从创建到销毁的过程所要执行的方法1.创建Activity(活动)所要执行的方法a.onCreate()这个方法你已经看到过很多次了,每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。你应该在这个方法原创 2020-11-23 16:57:48 · 179 阅读 · 0 评论 -
跟着小生学逆向之文件检测
今天小生分享一下刚get到的新技能,文件检测,让我们可以一起在逆向这条路越走越远!工资越来越高!1、CRC循环冗余校验的原理1)、文件检测和CRC的关系差错校验码:(特征)信息字段和校验字段的长度可以任意选定。2)、循环冗余校验(CRC)的基本原理根据(N.K)码,生成多项式G(x),进而生成K位信息的校验码。在k位信息码后在拼接R位的校验码,整个编码长度为N位,因此这种编码又叫(N,K)码,对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-R=K的多项式G(x)根据(G)x可以生成K位原创 2020-11-21 14:58:10 · 242 阅读 · 0 评论 -
小生浅谈Java层逆向,【Android逆向技术】
我们都知道安卓应用是可以用多种语言来进行开发的,而且根据不同的语言我们也有不同的逆向方式,今天小生就给大家介绍介绍在众多语言中相对简单一点的java,我们称之为java层逆向。Java层逆向的含义序员当时开发的代码,这样我们就能清楚的了解APP运行时候的代码逻辑是怎么样的。但在逆向板块,大多需要接助工具,通过反编译来查看到java代码,不过一般程序员在写好一个APP代码后都需要通过开发工具去编译成程序,这是正向编译的一个过程,让代码变成我们用户所使用的界面,逆向则是回溯当时程序员开发的代码,来分析.原创 2020-11-19 15:06:05 · 386 阅读 · 0 评论 -
小生浅谈xposed,带你全方面的了解xposed
我相信很多没有进入安卓逆向技术大门的同学们都会问到xposed是什么,有啥用?也是安卓逆向技术的知识点吗?等等,带着一堆疑问,小生今天就给大家细细道来,让我们全方面的去了解,xposed这个‘东西’。Xposed是什么?Xposed是安卓手机上的一种框架,是一个由xda开发的框架,安装之后,可以让很多软件在这个框架里面去运行。Xposed 框架只从开发出来以来,就收到广大安卓玩家们的青睐,隐隐约约有第一‘安卓神器’的名头。Xposed有什么用处?Xposed框架相当于一款很特殊的安卓app,原创 2020-11-17 15:38:40 · 1263 阅读 · 1 评论 -
5分钟教你自定义qq画图红包
提到红包这个词,我相信大家都不陌生,过年过生日,要要压岁钱红包,父母长辈都会通过qq或者是微信发给我们,而近几年来红包的玩法也越来越多,这其中玩法最多的当属于qq。 而我们今天呢就是要来带自己去自定义qq红包当中的画图红包,让大伙也能体验收红包的快感!相信我们很多同学都会遇到下面的这种问题这种看的见摸不着的红包,是不是让我们的心里直抓痒呢?空气及看不见又摸不着,这让我们怎么画出来呀。而这种难题是怎么弄出来的呢?可以自定义吗?当然不行,老马是不会允许的,但是技术是无罪的,今天我们就一起来看看,怎么原创 2020-11-12 14:51:46 · 1618 阅读 · 0 评论 -
跟着小生学逆向之AES加密算法
今天本来不想起床的,奈何阳光照射到小生的床上,让我想起又是美好的一天,果断出门,但是刚洗漱好弄了个发型,半只脚踏出门外才想起我没有女朋友出去干啥,然后果断的给朋友们来了一波图文教学AES加密算法。AES简介全称:AES(Advanced Encryption Standard)高级加密标准是一种最常见的对称加密算法,微信小程序加密传输就是用的这个加密算法的AES具体的加密流程介绍如上图:明文p是指没有经过加密的数据,密钥k是用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为.原创 2020-11-10 17:43:29 · 1498 阅读 · 2 评论 -
跟着小生学逆向之SHA系列算法
最近小生在研究微信支付接口,发现它们不仅支持MD5摘要验证还支持SHA-256,很多同学就会问了SHA是什么?其实SHA也是一种算法有很多版本,而今天小生也给大家来介绍介绍这个SHA算法,希望同学们可以学到更多想学的逆向知识!目录1、SHA算法简单概要2、SHA系列算法介绍3、在eclipse中分析SHA代码SHA算法简单概要SHA全称:(security Hash Algorithm),是美国的nist和nsa设计的一种标准的Hash算法,SHA用于数字签名和标准算法的DSS中,也是安全性很.原创 2020-11-09 17:15:04 · 2390 阅读 · 0 评论 -
跟着小生一起学习Android——IO框架
在绝大部分的时候我们后续写代码的执行是需要io的返回值的,这个时候我们就要用到回调。而今天小编就来带大家一起去认识认识IO框架,这样更方便咱们没有基础的朋友们来去更好的学习Android逆向技术!Java IO原理IO流用来处理设备之间的数据传输,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行的。Java.io包下提供了各种“流”类的接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。对于计算机来说,数据都是以二进制形式读出或写入。我们可以把文件想象为一个桶,通过管道将桶里的原创 2020-11-06 15:18:16 · 262 阅读 · 0 评论 -
CydiaSubstrate框架
安卓逆向越到后面就越难学习,但也不是那么难嘛,最重要是要有一颗学习的心,坚持不懈的学习,你就能成功,最近师弟们又找到我了,让我教他们也像crdiasubstrate框架,那么今天咱们就一起来看看吧!substrate的基本概念:Cydia Substrate是一个基于Hook的代码修改框架,其可以在Android、iOS平台使用,并实现修改系统默认代码substrate的API介绍:具体的运行是由我们的这个jar包所执行Substrate的代码编写实现系统文字颜色篡改:1、创建一个空的And原创 2020-10-26 16:55:26 · 1254 阅读 · 1 评论 -
安卓逆向——APK安装流程
很多学习安卓逆向的朋友大多都会卡在安卓apk上,今天小生就来给大家讲解一下,安装apk的流程,希望能帮助到大家。安装方式:⑴系统程序安装⑵通过Android市场安装⑶手机自带安装⑷使用ADB安装这里出现了一个新名词ADB,它是什么?有什么作用呢?我们一起来去了解一下。ADB的全称为Android Debug Bridge,字面意思就是安卓调试桥接,简单点说,它是Android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后可以在电脑上向手机发送一些指令,完成一些我们需原创 2020-10-22 16:01:34 · 463 阅读 · 0 评论 -
安卓逆向之Frida Native层HOOK
前几天很多同学问我,Frida Native层HOOK要怎么去弄,今天小编就带着大家一起去看看实例吧,让你们可以更加直观的看到。1、分析程序代码程序的包名具体要hook的so的名字具体函数的地址(是否需要+1操作)函数的参数列表以及类型2、分析hook代码:(1)填写hook的包名(2)遍历模块找基址(填写so的名字)(3)hook导出函数(填写so的名字)(4)通过模块名直接查找基址(填写so的名字、参数列表、参数类型、函数具体的地址有没有加1操作)这里需要填写地址:如果是a原创 2020-10-21 15:38:30 · 938 阅读 · 2 评论 -
self-debugging反调试——安卓逆向
self-debugging反调试的原理当前的进程就是父进程,也就是即将被调试的进程我们来看下图.然后通过父进程来fork一个子进程这个子进程实现了调试器的功能作为调试器的子进程附加父进程通过子进程调试父进程,进而阻止其他调试器来调试父进程两个关键点:创建子进程的fork函数,子进程通过附加调试父进程;一般的调试器,先要附加要调试程序的进程,获取相关进程的信息,才能进行相应的动态调试;如果由子进程来附加调试父进程,那么其他调试器就不能附加该进程,因为同一时刻,一个进程只能被一个原创 2020-10-15 13:53:20 · 372 阅读 · 0 评论