CrackMe_01 Andorid 新手练习

分类:Android   2025年4月1日   57 次浏览   0 条评论  

准备

下载地址 https://github.com/num1r0/android_crackmes/blob/master/crackme_0x01/app.apk

检查是否加密

20250330-193436

点击“查看进”入apk包

AndoridManifest.xml #Activity的定义
classes.dex #程序逻辑,可以反编译为jmail
resources.arsc #资源文件,常用来寻找字符串,后再classes.dex中寻找相关程序位置

点击“Arsc编辑器”搜索资源值,没有搜到字符串资源。
Wrong password
20250330-194122

查看 androidmainfest.xml

默认启动com.entebra.crackme0x01.MainActivity直接运行。没有 其他可以启动的activity、
20250330-194609

查看 MainActivity

定义description和name变量通过constructor函数对变量进行初始化赋值,
20250330-200324

经过constructor函数后,进入android入口函数onCreate,
20250330-201724

初始化flaguard对象后,处理显示内容,通过getText()和toString()获取Editable等内容后。
调用flagGuard对象的getFlag函数:
获取Data的getdata内容,判断该内容是否相等,确定返回
20250330-205051

Crack it

把FlagGuard的判断条件,默认是要相等就会弹出p1的值为0,直接修改成“不相等则进行下一步”。
也就是把 if-eqz 改为 if-nez 即可。

if-nez p1, :cond_14
#...
:cond_14
    const/4 p1, 0x0
    return-object p1
.end method
打 赏如果您觉得这篇文章有用处,请打赏我O(∩_∩)O哈!鼓励我写出更好更多的文章!

发表评论

邮箱地址不会被公开。 必填项已用*标注