吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4324|回复: 18
收起左侧

[Android 分享] Android逆向入门级CrackMe学习

[复制链接]
jammny 发表于 2020-12-13 18:34
本帖最后由 jammny 于 2020-12-15 14:09 编辑

前言
工具准备:apkIDE

CrackMe下载地址:

https://pan.baidu.com/s/18aP6zCAWcqJd7JnSTwEpZw
提取码:gtw1 图片.png
这几天开始在学习APP逆向相关知识,顺便记录一下自己的学习过程。公众号文章是自己就懒得码子了。

Crackme02
软件运行截图:
图片1.png
可以看到当输入的口令不正确的时候,会有字符串“无效用户名或注册码”提示。我们将此字符串当做切入点,到代码中看看程序的处理逻辑是怎么样的。利用apkIDE对目标进行反编译处理:
图片.png
找到存储程序字符串的文件:strings.xml,获取字符串“无效用户名或注册码”对应的属性名字为unsuccessed。
图片.png
定位关键字unsuccessed进行搜索,可以看到unsuccesse的id为0x7f05000c
图片.png
这里以关键字为"0x7f05000c"进行搜索。可以看到在MainActivity$1.smali处,显示const v1, 0x7f05000c。
图片.png
双击跳转到对应代码处进行简单分析,move-result v0表示将运行结果放到v0中;if-nez v0, :cond_0表示判断v0值是否为0,如果为0就接着运行下面的const v1, 0x7f05000c,如果不为0就跳转到nez v0处。
图片.png

在smail语法的条件跳转分支中:
"if-eqz vA, :cond_**"   如果vA等于0则跳转到:cond_**
"if-nez vA, :cond_**"   如果vA不等于0则跳转到:cond_**
那也就是说当输入的口令正确时会跳转到nez v0处。然而处理是否正确的依据是if-nez,那么通过修改其为if-eqz就可以绕过。
图片.png

保存并编译成新的apk,放到模拟器重新安装,随便输入用户口令即可注册成功。
图片.png



Crackme03
软件运行截图:
图片.png

可以看到当输入的口令不正确的时候,会有字符串“Bad boy”提示。我们将此字符串当做切入点,到代码中看看程序的处理逻辑是怎么样的。利用apkIDE对目标进行反编译处理,去寻找string.xml文件:
图片.png

发现并没有关键字“Bad boy”,那么直接搜索它出现的位置,然后定位到存在字符串error的位置HelloAndroid$2.smali:
图片.png
发现并没有什么有用的信息,利用apkIDE自带的工具打开源码:
图片.png
发现如下关键逻辑代码,在“Bad boy”前面存在是否为“God boy”的逻辑判断,如果符合条件判断那么就会break出去,弹出“Bad boy”,如果不符合条件判断那么就会弹出“God boy”:
图片.png
也就说想办法不让它break,即可弹出“God boy”。那么关键字搜索“God boy”,发现“God boy”的位置在“Bad boy”上面:
图片.png
可以看到有存在一处条件判断为if-eqz v22, :cond_2,意思是如果v22等于0则跳转到:cond_2。
图片.png
那么修改eqznez,让它不跳转到cond_2去执行下面的“God boy”。保存编译后,重新运行:


EX05_01
软件运行截图:
图片.png

随便输入几个字符,可以看到会有字符串“error”提示。我们将此字符串当做切入点,到代码中看看程序的处理逻辑。利用apkIDE对目标进行反编译处理后,去寻找string.xml文件:
图片.png

发现并没有关键字“error”,那么直接搜索它出现的位置,然后定位到存在字符串error的位置EX05_01$1.smali:
图片.png
利用apkIDE自带的工具打开源码:
图片.png
这个条件的判断就是说,如果gogo为11那么就会成功出现“right++”。那么回到apkIDE搜索“right++”:
图片.png
修改eqz为nez,让其条件变成不等于,不然它跳转到cond_0。保存编译运行:
图片.png

LisenceCheck
软件运行截图:

可以看到当输入的口令不正确的时候,会有字符串“Lisence Uncorrect!”提示。我们将此字符串当做切入点,到代码中看看程序的处理逻辑是怎么样的。直接通过搜索“Lisence Uncorrect”,找到对应代码:
图片.png
利用apkIDE自带的工具打开源码:
图片.png

找到关键代码如下,看的出来和上面的例子是类似,那么就不浪费时间了。
图片.png
通过Lisence Correct跳转到关键位置,其中if-ne表示如果v2不等于v3则跳转到:cond_4,if-eq表示如果v2等于v3则跳转到:cond_4。
图片.png
那么修改if-ne为if-eq后,保存编译运行: 图片.png
图片.png

免费评分

参与人数 8吾爱币 +12 热心值 +7 收起 理由
L.7_129 + 1 + 1 谢谢@Thanks!
红烧排骨 + 1 热心回复!
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
mubaia + 1 谢谢@Thanks!
AccFun + 1 我很赞同!
我真的很狂哦 + 1 + 1 谢谢@Thanks!
陈先生20030701 + 1 + 1 谢谢@Thanks!
TSEdicky + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

涛之雨 发表于 2020-12-13 22:26
盗链了,请下载图片后上传到本站

此外注意一下排版。
qw905234 发表于 2020-12-14 07:24
lyj5022 发表于 2020-12-14 08:53
少年以老 发表于 2020-12-14 09:00
有点东西
eliteos 发表于 2020-12-14 09:01
可惜图挂了,能否补上呢?多谢多谢
无敌小车 发表于 2020-12-14 09:06
本帖最后由 无敌小车 于 2020-12-14 10:00 编辑

图片没了,建议在链接前加上
https://images.weserv.nl/?url=
sw425 发表于 2020-12-14 09:46
大湿兄,你的照掉了。
lowellddh 发表于 2020-12-14 09:50
感谢转载,但是是否转载前请处理下转载内容。
wswgy315 发表于 2020-12-14 09:57

图片挂了,学习了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-21 20:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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