4.10 玄奥八字

作者:飞龙

声明:本人极度厌恶玄学,选取此软件是为了研究逆向技术,并不代表本人赞成其内容。

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

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

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

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

<string name="Id_StartInfo">"注意事项
1:软件未注册只能使用1999年的,注册后可使用所有功能。
2:注册方法请看软件菜单“帮助->软件帮助”。
3:注册时需提供软件系列号,软件系列号--点击菜单“帮助->注册”可看到。
...
</string>

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

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

:cond_b
# 玄奥八字7.2未注册!
const-string v7, "\u7384\u5965\u516b\u5b577.2\u672a\u6ce8\u518c\uff01"invoke-virtual {p0, v7}, LMy/XuanAo/BaZiYi/main;->setTitle(Ljava/lang/CharSequence;)V.line 199
invoke-virtual {p0}, LMy/XuanAo/BaZiYi/main;->getResources()Landroid/content/res/Resources;move-result-object v7const v8, 0x7f060003invoke-virtual {v7, v8}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;# 刚才的字符串
move-result-object v7invoke-static {p0, v7, v10}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;move-result-object v7invoke-virtual {v7}, Landroid/widget/Toast;->show()Vgoto :goto_4 # return-void

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

sget-object v7, LMy/XuanAo/BaZiYi/main;->m_chkSoft:LMy/XuanAo/BaZiYi/CSoftReg;invoke-virtual {v7}, LMy/XuanAo/BaZiYi/CSoftReg;->ChkNumA()Zmove-result v7if-eqz v7, :cond_bsget-object v7, LMy/XuanAo/BaZiYi/main;->m_chkSoft:LMy/XuanAo/BaZiYi/CSoftReg;invoke-virtual {v7}, LMy/XuanAo/BaZiYi/CSoftReg;->ChkNumB()Zmove-result v7if-eqz v7, :cond_bsget-object v7, LMy/XuanAo/BaZiYi/main;->m_chkSoft:LMy/XuanAo/BaZiYi/CSoftReg;invoke-virtual {v7}, LMy/XuanAo/BaZiYi/CSoftReg;->ChkNumC()Zmove-result v7if-eqz v7, :cond_b # 关键跳# 成功分支.line 195
const-string v7, "\u7384\u5965\u516b\u5b577.2"invoke-virtual {p0, v7}, LMy/XuanAo/BaZiYi/main;->setTitle(Ljava/lang/CharSequence;)V.line 196
# const/4 v10, 0x1
sput-boolean v10, LMy/XuanAo/BaZiYi/main;->m_regFlag:Z

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

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

.line 193
:cond_1
goto :goto_100
sget-object v7, LMy/XuanAo/BaZiYi/main;->m_chkSoft:LMy/XuanAo/BaZiYi/CSoftReg;# ...if-eqz v7, :cond_b
:goto_100

重新打包、安装软件后,打开软件,我们发现不再弹出注册提示了。访问菜单->更多->注册之后,在注册界面中我们可以看到“已注册”。

安卓逆向系列教程 4.10 玄奥八字相关推荐

  1. 安卓逆向系列教程(一)Dalvik 指令集

    安卓逆向系列教程(一)Dalvik 指令集 作者:飞龙 寄存器 Dalvik 指令集完全基于寄存器,也就是说,没有栈. 所有寄存器都是 32 位,无类型的.也就是说,虽然编译器会为每个局部变量分配一个 ...

  2. 安卓逆向系列教程 4.1 字符串资源

    安卓逆向系列教程 4.1 字符串资源 作者:飞龙 这篇教程是 APK 逆向实战的第一个例子,我会以一个非常简单的程序开始.主要内容就是修改字符串资源,除了破解所需之外,汉化也需要了解这个东西.我们的程 ...

  3. 安卓逆向系列教程(三)静态分析工具

    安卓逆向系列教程(三)静态分析工具 作者:飞龙 以下工具可能都需要先安装 JDK,安装方法就不说了,随便一搜就是. Android Killer 几年之前,我们要破解 APK,可能需要用到 apkto ...

  4. 安卓逆向系列教程(二)APK 和 DEX

    安卓逆向系列教程(二)APK 和 DEX 作者:飞龙 APK APK 是 Android 软件包的分发格式,它本身是个 Zip 压缩包.APK 根目录下可能出现的目录和文件有: 名称 用途 META- ...

  5. 安卓逆向系列教程 4.4 逆向云播 VIP

    4.4 逆向云播 VIP 作者:飞龙 这次的软件是刀哥云播,在这里下载:http://www.xuepojie.com/thread-23860-1-1.html 我们先分析一下行为: 打开之后的界面 ...

  6. 飞龙的安卓逆向系列教程

    作者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓库 更新历史 v1.0:2017.4.4 添加 Dalvik.APK.DEX 基础知识 添加静态分析.抓包工具教程 添加 12 个 ...

  7. 安卓逆向系列教程 4.5 糖果星星达人

    4.5 糖果星星达人 作者:飞龙 软件在这里下载:http://www.anzhi.com/soft_2539282.html 第一次进入游戏之后,会弹出来一个"新手礼包",关掉之 ...

  8. 安卓逆向系列教程 4.9 破解内购 II

    4.9 破解内购 II 作者:飞龙 这次要破解的游戏是这个:http://dl.pconline.com.cn/download/544623.html 打开游戏后,主界面有个 VIP,我们要破解的就 ...

  9. 安卓逆向系列教程 4.13 MagSearch 1.8 爆破

    4.13 MagSearch 1.8 爆破 作者:飞龙 软件下载:http://www.xuepojie.com/thread-26549-1-1.html 打开之后是登录界面,随便输入用户名和密码, ...

最新文章

  1. 重绘Winform窗体
  2. 【thymeleaf】th:with
  3. 【Linux】一步一步学Linux——hostname命令(73)
  4. 2012.12.26日学习笔记
  5. ubuntu下集群设置静态ip
  6. Ubuntu16使用theano出错
  7. cisco2811语音网关+callmanager拨打外线,外线拨入详解配置
  8. Windows11怎么配置Maven环境变量
  9. 实验题集4:函数R6-1 面积计算器(函数重载) (10 分)
  10. 银河麒麟(kylin)V10桌面版
  11. 蓝桥杯-三角形 已知三点求三角形周长、面积、外心、重心
  12. 【转载】CC控制服务的设计和侦测方法综述
  13. Android集成环信IM,实现为某一个好友设置消息免打扰
  14. Vue3前端项目加载使用腾讯地图
  15. 记录爬虫实战——有道翻译(反js加密)
  16. linux rm 提示无法删除“xxxxxxx“:不允许的操作
  17. vue3.0“ Uncaught TypeError: Cannot read property ‘use‘ of undefined”报错解决......
  18. 如何使用(免费软件)Microsoft ICE轻松扫描大图片
  19. SRS4.0源码分析-RTMP延迟
  20. iptables 窥探、扫盲

热门文章

  1. Basalt Paper Reading
  2. 一篇关于程序员和数学的文章 好文
  3. 【NISP一级】1.2 网络安全法律法规
  4. 【论文速递】IJCV2022 - CRCNet:基于交叉参考和区域-全局条件网络的小样本分割
  5. mysql 查找具体sql执行性能
  6. 图扑软件荣获第七届“创客中国”中小企业创新创业大赛优胜奖!
  7. Linux下查看icc安装目录,linux icc 安装
  8. 装机大师无法发现linux硬盘,华硕电脑进PE系统找不到硬盘的解决办法
  9. 西门子1200程序V15版本实例,设备已经运行生产,博图V15以上可打开 包含上位机通讯,modbus485
  10. 继SDS之后又迎来CDM,存储行业真要变天了?