吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 6241|回复: 21

[安卓逆向视频] 3、安卓逆向 - smali语法

  [复制链接]
sumith 发表于 2016-5-12 17:17 | 显示全部楼层 |阅读模式

大家好,我是玉少,欢迎大家来到吾爱汇编论坛来学习,论坛用户名sumith,今天给大家带来的是安卓逆向基础篇,本节课教大家smail语法
1、首先我们制作一个APK,然后反编译
大家先做出这个涉及界面,两个标签,两个编辑框,一个按钮,在对他们进行属性设置
双击进入按钮被单击事件,编写代码
如果 编辑框1.内容="123" 且 编辑框2.内容="456" 则
                信息框("提示","登陆成功","确定")
                否则
                信息框("提示","登陆失败","确定")
        结束 如果
语法相信知道易语言的对于这并不陌生,就用了如果这个判断
接下来点击编译,点击后生成apk,把这个apk拖进夜神模拟器,点击打开,
随便输入用户名或者密码,会提示登陆失败,
我们正确的用户名是123,456,
我们用正确的用户名试试,登陆成功了,
下面我们开始爆破,对边用户名就可以登陆。。。。
打开android killer,把apk拖进去,
刚才提示的是登陆失败,我们搜索关键字登陆失败,没搜到,还字符串,搜到了,双击进入
我们来分析这smail语句
这里就是按钮被单击事件
.method public 按钮1$被单击()V
    .locals 3

    .prologue
    .line 4    第四行,这个为了便于记代码行数
    iget-object v0, p0, Lcom/newapp/主窗口;->编辑框1:Lcom/e4a/runtime/components/impl/android/n2/编辑框;

    invoke-interface {v0}, Lcom/e4a/runtime/components/impl/android/n2/编辑框;->内容()Ljava/lang/String;

    move-result-object v0   这三行就是编辑框的具体操作,我们不用管

    const-string v1, "123"   定义v1=“123”.字符串型

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0   这个判断等于不等于

    if-eqz v0, :cond_0   if 如果  eqz等于  如果等于则跳转cond_0

    iget-object v0, p0, Lcom/newapp/主窗口;->编辑框2:Lcom/e4a/runtime/components/impl/android/n2/编辑框;

    invoke-interface {v0}, Lcom/e4a/runtime/components/impl/android/n2/编辑框;->内容()Ljava/lang/String;

    move-result-object v0

    const-string v1, "456"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_0   这个和上面的语句一样,若果相等就跳转。否则继续往下执行  

    .line 5
    const-string v0, "\u63d0\u793a"

    const-string v1, "\u767b\u9646\u6210\u529f"   登陆失败

    const-string v2, "\u786e\u5b9a"

    invoke-static {v0, v1, v2}, Lcom/e4a/runtime/对话框类;->信息框(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I   调用对话框类

    .line 7
    :goto_0
    return-void   返回

    :cond_0
    const-string v0, "\u63d0\u793a"

    const-string v1, "\u767b\u9646\u5931\u8d25"   成功登陆

    const-string v2, "\u786e\u5b9a"

    invoke-static {v0, v1, v2}, Lcom/e4a/runtime/对话框类;->信息框(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0   goto相当于jmp 无条件跳转
.end method
这是一个方法的开始与结束

大致的内容就是这样,讲的可能不对,但意思和这车不多,线面来分析思路
既然上面说是等于跳转,我们改成不等于跳转试试
eqz是等于,nez是不等于,我们改一下试试,改后,记得保存,然后编译
出现了一个问题,就是用户名和密码不能有一个正确,有一个正确则不跳,大家再想象怎么改,下节课给大家解说,谢谢观看。


不好意思,忘记加北京音乐了,大家谅解,自己加上吧。
链接:http://pan.baidu.com/s/1cr41gq 密码:rmaw

评分

参与人数 22威望 +1 HB +35 THX +14 收起 理由
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
lies + 1
WolfKing + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
别管我了行 + 2
消逝的过去 + 1
xgbnapsua + 2
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
九一刘先生 + 1
larf + 1
boot + 1
allenzjb + 1 + 1
noblesport + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
心随情走 + 1 + 1 链接挂了,可以补链吗?
yzy0000 + 1 [快捷评语] - 2017,让我们17学破解!
yangshao + 1 [快捷评语] - 分享精神,是最值得尊敬的!
好命小书生 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
焚香不见仙 + 1 分享精神,是最值得尊敬的!
守护神艾丽莎 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
victor520 + 5 + 1 软件带有“学破解论坛网址”,置顶高亮7天7夜!
青霄 + 1 + 1 软件带有“学破解论坛网址”,置顶高亮7天7夜!
skywolf + 2 + 1 分享精神,是最值得尊敬的!
Shark恒 + 1 + 10 + 1 分享精神,是最值得尊敬的!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
520Kelly 发表于 2016-5-12 17:30 | 显示全部楼层

条件跳转分支:
"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_**

顺贴某blog smali条件判断语法

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
叶良辰和赵总 发表于 2016-5-12 19:25 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
520Kelly 发表于 2016-5-12 20:39 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
linbo4049 发表于 2016-6-29 11:13 | 显示全部楼层

520Kelly 发表于 2016-5-12 17:30
条件跳转分支:"if-eq vA, vB, :cond_**"   如果vA等于vB则跳转到:cond_**"if-ne vA, vB, :cond_**"   如果 ...

非常详细,值得学习
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
阿超丶 发表于 2016-8-12 16:44 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
阿超丶 发表于 2016-8-18 17:59 | 显示全部楼层

  不是很全面啊
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
13318033871 发表于 2016-8-20 00:31 | 显示全部楼层

谢谢分享谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
nicoley 发表于 2016-8-21 17:54 | 显示全部楼层

今天学了几课,不知道能不能坚持 。唉~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
WLS123 发表于 2017-3-12 21:00 | 显示全部楼层


这个6,学习下。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表