安卓逆向
划水的小白白
永远热爱,永远热泪盈眶
展开
-
安卓逆向018之Arm汇编基础
文章目录1、跳转指令 B(全称:Branch分支的意思)2、存储器、寄存器:存储数据的(小的数据:寄存器;大的数据:栈)3、LDR、STR4、LDM、STM5、PUSH、POP6、MOV7、数据算数运算指令8、 数据逻辑运算指令9、比较指令Idea的位数的选择 与电脑系统的位数没关系 与反编译so文件的位数有关学习技巧:学习汇编与学习Linux系统指令一样,不要直接找到arm所有指令然后背这是什么意思,掌握了常见的指令,剩下的不常见的,什么时候用到什么时候在去找手册,1原创 2021-09-13 21:48:14 · 194 阅读 · 0 评论 -
安卓逆向017之NDK开发(残缺版)
文章目录1、jni:java native interface2、静态注册3.动态注册总结:静态注册和动态注册比较NDK开发总结这章节本想写很多内容,但是总是有各种bug,索性写一写总结吧。1、jni:java native interface 作用:用于java代码和C++、c代码的交互(代码混编); 分类使用:Jni静态注册、jni动态注册2、静态注册1).绑定java方法和C/C++方法的方式之一;2).java层操作和c层操作以及整体编译 1-定义被na原创 2021-09-13 21:40:24 · 100 阅读 · 0 评论 -
安卓逆向016之AS+smalidea插件动态调试(1)(注册机)
文章目录前言使用AK导出完整的反编译包新版本(AS 4.1以上)导入smalidea0.6导入反编译包到AS老版本导入smalidea0.05到AS之中导入AS完整的反编译包配置AS使用AS分析反编译包第一种方法:第二种方法:前言本篇文章主要内容为:通过导入反编译出的完整smali代码,设置好调试所需的条件、设置断点。然后连接模拟器,运行代调试的APK程序使用AK导出完整的反编译包将要分析的程序拖入AK,选择“AndroidManifest.xml”,先看看是否有这个标签,在看看这个d原创 2021-09-05 23:00:15 · 2153 阅读 · 3 评论 -
安卓逆向014之插桩和栈跟踪和方法抛析(小说软件)
文章目录小说插桩(代码注入法)栈跟踪和方法抛析栈跟踪方法抛析小说插桩(代码注入法)小tips:当打开一个APK时,入口点比入口界面执行加载的早用AK打开案例软件,按照箭头指示找到“onCreate”方法,此处是入口界面。203行,表示此方法调用了10个局部变量寄存器。204行,参数206行,代码开始执行的地方。右击,插入代码—Log信息输出。点击之后是这样的,随便输入点字,208行,是定义一个V0,210行,V0去调用LogStr函数原创 2021-08-31 22:55:34 · 364 阅读 · 0 评论 -
安卓逆向013之DDMS去广告(车来了)
文章目录简介使用后续简介DDMS全称(Android Device Monitor)是一个独立的工具,可以对Android应用进行调试和分析,本篇文章就写一下他的简单使用方法来获取一些程序信息,从而更好的帮助逆向人员分析程序。使用打开CMD窗口,输入“ddms”即可打开ddms, 不行的同学去看前面安装环境章节。直接打开模拟器即可捕获到,为什么显示2个模拟器,雷电模拟器的bug就是多。简单看看这几个就是包名、进程等信息。下边第一处箭头处,是过滤器等等。我们原创 2021-08-26 23:08:51 · 736 阅读 · 0 评论 -
安卓逆向012之逆向文件管理器(去广告)
文章目录需求动态Activity去广告思路需求安装完毕后,正常打开貌似没什么广告资源要去除的需要,界面也比较简单,貌似很完美,但是等我们退出的时候,就会弹出下面的广告界面,如何去广告就是本章的内容。按照之前的逻辑,我们现在应该获取顶层的activity。直接在CMD输入“ adb shell dumpsys activity top ”。动态ActivityActivity分为静态的和动态的区分,静态的就是很多配置都直接写死到标签内的,而动态的是可以被继承的。原创 2021-08-26 22:24:10 · 363 阅读 · 0 评论 -
安卓逆向011之实战获取VIP(影视软件与起名软件)
实战影视软件VIP获取的关键点是直接搜索关键字如“VIP”,过程使用jadx打开软件,但是直接搜索VIP的话,结果特别多。这个时候可以换个关键词搜索试试,如“isvip”、”getvip”。如这里,搜索“ Getvip ”,结果就少了一部分。这个“ UserVip ”又是一个关键点了,点进去跟进一下,右击鼠标右键,选择“ 跳到声明 ”,分析程序逻辑看到这里我们就有了思路,因为所有用到VIP的地方,都会调用此类来看看此用户是否为VIP,只要我们保证原创 2021-08-25 22:31:30 · 3900 阅读 · 0 评论 -
安卓逆向015之JEB静态分析与动态调试(注册机)
1、基础信息静态分析是指:逆向从业者利用工具将二进制可执行文件翻译为汇编代码,通过汇编代码来看这个逻辑从而达到分析程序的需求。动态调试是指:使用调试器跟踪软件的运行,查看其父节点、子节点等寻找突破的关键点。2、JEB的使用下载直接百度或者谷歌“ JEB 逆向下载 ”即可。解压打开jeb,双击打开即可 //需要有java的环境弹出的CMD窗口会爆一个错误,版本兼容问题,直接无视即可。JEB主要就是一个安全反汇编的软件打开一个案例,即注册机,这个界面是原创 2021-08-23 23:16:45 · 1255 阅读 · 0 评论 -
安卓逆向010之实战破解内购(斗地主)
文章目录快速定位关键代码实例分析~Jadx分析~AndroidKiller分析关键点分析附带常见方法名:快速定位关键代码1、 分析流程 搜索特征字符串 搜索关键api 通过方法名来判断方法的功能2、 快速定位关键代码反编译APK程序 Android Manifest.xml => 报名/系统版本/组件 程序的主activity(程序入口界面) 每个Android程序有且仅有一个主activity 分析程序的执行流程 需重点关注的application(原创 2021-08-08 16:30:09 · 2322 阅读 · 0 评论 -
安卓逆向009实战分析smali代码破解小游戏(贪吃蛇)
文章目录一些小知识小游戏实践一些小知识反编译一个APK,找到他的源码所在地,即smali(原本是dex文件)温馨提示,一个dex就反编译一个smali文件,当dex内的方法超过65535个, 就会出现2个dex文件夹,即反编译会出现2个smali文件夹这里一般“ com ”文件夹是作者自己写的代码,其他的是系统代码。小游戏实践随便打开一个smali文件,第一行是“包名”+“类名”其中的“Lcom”中的“L”是指“java”的意思。第十行的“<init>原创 2021-08-08 14:40:24 · 1845 阅读 · 0 评论 -
安卓逆向007之安卓系统架构
文章目录Java闲谈Android系统架构安卓开发的第一个程序安卓的四大组件dalvik字节码本篇文章主要记录一些概念性的东西Java闲谈继续深入学习安卓逆向,建议先去学一下java的基础。Java的图标为什么是 一杯热咖啡 ?Java的创世团队中的一员,想起自己曾经在爪洼岛喝过的一种美味的咖啡,于是名称就这么诞生了,即Java,logo也自然成为了一倍冒气的热咖啡。软件的分类:系统软件(计算机使用的最基本的功能)应用软件(一种为了某种特定用途而开发的软件)什么是软件?为了原创 2021-08-08 14:29:31 · 204 阅读 · 0 评论 -
安卓逆向006之修改APK资源去广告
文章目录前言分析完善思路:前言打开,APP总是有开屏广告,比如下边:好不容易进来,发现刚刚只是冰山一角等等,后边不做演示了。这里有一点,要说一下,我们每隔一段时间打开游戏,广告内容都是不同的。且紧跟时代的“ 潮流 ”,这里就可以说明问题了,这是软件联网自动获取的。既然这样,我们就直接从软件的“ 网络 ”开刀。分析反编译APK,打开AndroidManifest.xml查看权限,发现下边都是网络的关键词。如internet、network、wifi等等。这里一原创 2021-07-26 19:25:26 · 2925 阅读 · 1 评论 -
安卓逆向005之实现APK分身
文章目录前言分析友情提示前言一个APP正常情况下是不能同时安装多个在手机上,比如,先安装一个APP,再次点击安装包安装,直接将原来的就替换了。这是为什么呢,一定是有一个“ 特殊 ”的属性被检验,导致不能安装多次。此时我们只要找到这个特殊的“属性”,并将其修改即可以做到同时安装多个的场景。这个特殊的属性就是包名,即AndroidManifest.xml中的“ package ”。分析但是APP安装的时候仅仅检查这一个属性吗,显然不是。还需要改AndroidManifest原创 2021-07-26 19:16:26 · 1067 阅读 · 0 评论 -
安卓逆向004之修改APK的图标与名称
文章目录APK的基本信息APK的名字APK的图标APK的基本信息直接把APK拖进来,反编译APK之后,一般都是先看“ AndroidManifest.xml “文件。关注点:包名 ckage应用权限 uses-permission入门点 application发布者签名 providerAPK的名字我们想要修改应用的名字,直接修改这个地方就可以,记得“CTRL+S”保存一下。将名字修改完毕之后,把APK回编译回去。编译选择“AndroidKille原创 2021-07-23 10:12:15 · 2912 阅读 · 1 评论 -
安卓逆向003之虚拟机与AndroidKiller的配置
文章目录虚拟机AndroidKiller的配置第一第二第三虚拟机小知识: Java --> jvm --> 汇编 //jvm保证了java的一次编译到处运行的优势 C --> 汇编区分jit机制与aot机制:存在/system/bin/dexopt 就是jit存在/system/bin/dex2oat 就是aotAndroidKiller的配置上边我们把比较枯燥的知识走完了,下边就要开始搞事情了。配置java环境,配置apktool,下原创 2021-07-23 10:02:15 · 294 阅读 · 1 评论 -
安卓逆向002之APK的信息
文章目录APK文件结构APK打包流程APK安装流程APK文件结构先用一些压缩软件打开任意一个apk,如图:Assets中的文件资源是不会变的静态文件,如图片资源文件、JSON配置文件等等。Res也是存放资源的文件夹,但是res中的资源都是程序运行所需要的一些文件,与代码以及程序运行相关。即assets中,我们可以随意创建文件夹、文件等等,但是res文件夹的内容尽量不要动Lib文件夹代表的是当前app所用的到的so文件,so文件就是利用底层c,c++代码实现的一些逻辑(依赖库)。即原创 2021-07-23 09:53:07 · 462 阅读 · 0 评论 -
安卓逆向001之环境的搭建
文章目录安装javaJdk与jre的异同环境变量的系统变量与用户变量的区别安装配置Sdk安装配置NDK安装java下载地址: https://www.oracle.com/java/technologies/javase-jdk16-downlxoads.html下载完成后一键傻瓜式安装,完事后,cmd运行java与javac看到以下场景即安装完毕。Jdk与jre的异同Jdk是开发环境,jre是允许环境。Jdk包含jre。环境变量的系统变量与用户变量的区别用户变量就是仅仅对当原创 2021-07-23 09:44:10 · 275 阅读 · 0 评论