安卓逆向系列教程 4.10 玄奥八字

这次要破解的软件是这个: http://www.xazhouyi.com/android/soft/bazi.html

首先分析其行为,打开软件:

按照以往的经验,程序有个字段用于维护注册状态,我们可以通过字符串快速定位到它。我们将其载入 AK:

搜索“软件未注册”,在 string.xml 中找到:

然后在 public.xml 中找到,字符串的 ID 是 0x7f060003 。之后搜索这个数字。

我们在 main ,也就是入口的 MyInit 函数中找到了这个数值:

我们猜想 :cond_b 是失败分支,我们往上找:

我们可以得出 ChkNumA/B/C 是三个关键判断。下面的 if-eqz 是关键跳。成功各分支将 m_regFlag 设为 1,说明它是保存注册状态的字段。

我们可以将这三个 if-eqz 都给注释掉,但是我们可以采取另一种方式,在最后一个 if 的下面添加 :goto_100 标签,然后在第一个 if 上面添加 goto :goto_100 。

重新打包、安装软件后,打开软件,我们发现不再弹出注册提示了。访问菜单->更多->注册之后,在注册界面中我们可以看到“已注册”。
mcxyi 阅读 0 次 更新于 2024-12-26 03:29:20 我来答关注问题0

返回顶部