1. 案例来源

https://github.com/OWASP/mastg/tree/master/Crackmes/Android

2. 分析过程

先安装apk后运行看一眼,看起来是要输入正确的内容然后验证。
alt text

先随便输入一个看一看。
alt text

用jadx-gui反编译看一下,定位到关键逻辑。
alt text

看一下this.m.a函数,转到了native函数bar。
alt text

解压APK后,从lib文件夹拿到libfoo.dll(记得要拿ARM版本的,x86版本会存在变量类型等相关问题),用IDA打开,从导出表中定位到bar函数。
alt text

JNI函数的参数列表和类型是固定的,修正一下参数类型。可以看到逻辑就是检查字符串长度是否为23,并于Thanks for all the fish相比较。
alt text

成功。
alt text