• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-16:00

    客服QQ

    2938366614

    电子邮件

    pcs2938366614@163.com
  • 友智园

    随时随地学习编程

  • 扫描二维码

    关注微信公众号

Lv.7 版主
649号会员,456活跃度,2020/03/21 加入学习
  • 16发帖
  • 11主题
  • 2关注
  • 1粉丝
  • 满级大神

    用户达到16级即可
  • 老兵专属

    老用户专属勋章
  • 达人守护

    友智园守护达人
推荐课程更多
优秀讲师更多
课堂交流更多

浅谈Android逆向入门-smali

[复制链接]
北辰官方认证 实名认证 发布认证 发表于 2021-6-17 23:27:28 来自手机 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本帖最后由 北辰 于 2021-6-17 23:30 编辑

安卓逆向的话,smali是必学的,因为java源码编译成smali代码这个过程是不可逆的。
所需的工具:Mt管理器2代
先来了解一下一个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代码第几行
大概就这些,如果有需要补充的我会在评论区补充。
1623943258293.jpg
1623943259597.jpg
1623943260785.jpg
1623943262845.jpg
1623943264301.jpg
1623943265552.jpg
1623943269381.jpg
1623943270401.jpg
该用户还没有理想!

精彩评论1

凡尘实名认证 发布认证 发表于 2022-2-9 13:34:42 来自手机 | 显示全部楼层
顶一下楼主!
该用户还没有理想!
懒得打字嘛,点击右侧快捷回复 【友智园专属】
您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则

关于我们
  • 关注官方微信

  • QQ在线客服

    在线联系
  • 友智园
  • 山东省菏泽市


Copyright © 2019- PCS Rights Reserved