首页 > 玩机美化 > 【教程】安卓逆向,零基础入门详细小白教程

【教程】安卓逆向,零基础入门详细小白教程

楼主:资源分享 [官方] · 2019-8-26 ·  浏览1334 · 玩机美化 · ID:

这次给大家带来了一个福利-mali

安卓逆向的话,smali是必学的,因为java源码编译成smali代码这个过程是不可逆的。

所需的工具:Mt管理器2代

下载地址:https://alissl.ucdl.pp.uc.cn/fs08/2018/10/30/3/106_d34d13a42c96a3dfdb3ce099c73fb600.apk?yingid=web_space&packageid=300470884&did=280dc0429ff6a7d913dcdcfc753e91ed

先来了解一下一个apk的基本结构

•Assets里存放的是apk的资源文件,比如声音,视频

•META-INF是签名信息,apk必须签名才能用,除非你有核心破解

•Res文件夹存放的是apk的布局文件,图标,按钮样式等

•Androidmanifest.xml用来配置程序的入口,活动,服务,权限等

•classes.dex则是程序的逻辑主体,代码就保存在这里面

•resources.arsc则是res的索引,res内的文件都有一个十六进制id,dex通过这个id调用它们

用mt管理器打开dex文件

可以看到这样的结构

类就相当于txt文件,里面保存着代码

打开一个类

点击那个指南针图标

方法里保存的就是程序的逻辑

下面开始讲Smali的基本语法(只讲常见语法)

.source 表示这个类对应的 Java 文件的文件名,看这个可以大概知道这个类的作用,如果代码被混淆了,.source 可能会没有值。

v+数字是寄存器,用来存贮一些数据

const const/4 const/16都是用来存储数值的

const-string则是用来存储字符串的

比如const v0, "0x1"就是将1赋值给v0

const-string v0, "Hello World!"则是将Hello World这串字符串保存到v0

if则是用来作跳转的

if-eq vA, vB, :cond_** 表示如果vA等于vB则跳转到:cond_**

if-ne vA, vB, :cond_** 表示如果vA不等于vB则跳转到:cond_**

if-lt vA, vB, :cond_** 表示如果vA小于vB则跳转到:cond_**

if-ge vA, vB, :cond_** 表示如果vA大于等于vB则跳转到:cond_**

if-gt vA, vB, :cond_** 表示如果vA大于vB则跳转到:cond_**

if-le vA, vB, :cond_** 表示如果vA小于等于vB则跳转到:cond_**

if-eqz vA, :cond_** 表示如果vA等于0则跳转到:cond_**

if-nez vA, :cond_** 表示如果vA不等于0则跳转到:cond_**

if-ltz vA, :cond_** 表示如果vA小于0则跳转到:cond_**

if-gez vA, :cond_** 表示如果vA大于等于0则跳转到:cond_**

if-gtz vA, :cond_** 表示如果vA大于0则跳转到:cond_**

if-lez vA, :cond_** 表示如果vA小于等于0则跳转到:cond_**

gloto :cond_**则表示无条件跳转到:cond_**

cond_**就是一小段指令的合集

iget指令则是用来取得数值的

iget-boolean 是用于读取布尔值的,boolean只存在两种状态,0和1,即是和否

iput则相反

是用来写入的,和const的区别就是iput写入是对别的方法,类的寄存器进行的

move-result用于把前面运行的结果赋值

return则用于返回结果

.line无意义,用于表示该代码位于原java代码第几行

大概就这些,如果有需要补充的我会在评论区补充。

19c881b6c22377f793915f128beed978.jpgc84c0df431c9907d62f9e782665bf6bf.jpg0a51a31cf2128ba3a7ab81e1ac55b8a5.jpg43675b30a56b8e48169f76505e158dff.jpg41ebe24e5c6e4b8635c7cf3a5efa2fb5.jpgfd9ba905436ab73b8531a5b347951d40.jpg9629e75985c192c9e54969d56fb980f5.jpg06d50afdf5f82ee459e4226bc99d627d.jpg

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者资源分享流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/13255.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
0条回复 |  最后回复于2019-8-26
登录注册 后才可进行评论
签到
50人签到
已签0天
  • 46173帖子
  • 1930858热点量
  • 182725火热值