x奥周易系列软件逆向思路\更新了视频演示
本帖最后由 YMXuan 于 2020-6-3 15:48 编辑更新记录
2020-06-03更新了:南X周易系列逆向思路-就改一行代码
改完我自己都惊呆了,,竟然这么简单
发帖之后,很多人说看不懂,然后就录制了一个视频发出来,先看帖子,不会操作再看视频,因为看视频就是抄作业了,比较机械,没有自己想的过程。
能有此视频多亏潇洒浪子 ,家里添丁起名可以找他啊。
视频地址:https://send.firefox.com/download/578bb6558c744b3d/#mGTV5EqSfMLirVL081jb5g
用的是firefox send服务,链接有效期7天,过期不补。
Firefox send翻车了,半天链接就挂了
链接:https://pan.baidu.com/s/1w0Kum15-incqBlKKhLj5cw
提取码:u8zo
复制这段内容后打开百度网盘手机App,操作更方便哦
## 软件介绍
x奥软件工作室致力于开发易学应用软件 ,为广大命理研究者、爱好者提供辅助工具。现已开发出八字、紫微、六爻、奇门、天星等一系列软件,此系列软件不但具有专业排盘功能,还有一定的自动分析功能。
## 软件列表
1. x奥八字7.3安卓版
2. x奥大六壬1.3安卓版
3. x奥八字合婚2.0安卓版
4. x奥河洛理数2.0安卓版
5. x奥金口诀1.5安卓版
6. x奥六爻3.7安卓版
7. x奥面相手相1.0安卓版
8. x奥民俗预测2.3安卓版
9. x奥姓名专家3.2安卓版
10. x奥奇门遁甲2.6安卓版
11. x奥三世相法1.0安卓版
12. x奥太乙神数1.0安卓版
13. x奥七政星命3.3安卓版
14. x奥天文占星3.6安卓版
15. x奥周易选号3.2安卓版
16. x奥择吉黄历3.8安卓版
17. x奥阳宅风水3.1安卓版
18. x奥玄空择日2.1安卓版
19. x奥紫微推命3.7安卓版
## 支持系统
**Android 6.0、7.0、7.1、8.0、8.1、9.0、10.0或更高的简体中文版,屏幕分辨率推荐(1080x1920)或更高的。**
## 逆向工具
MT管理器
## 逆向过程
使用MT管理器查看原版apk文件
使用MT管理器内的Dex编辑器++打开classes.dex文件
搜索关键词“注册”
在搜索结果中看到一条`const-string v0,"已注册”`,二话不说点进去
点击菜单转成Java代码(可读性要高一些)
然后看到
```java
this.m_bFlag = getIntent().getBooleanExtra("reg", false);
.....
.....
if (this.m_bFlag) {
this.EdtSer.setText("已注册");
this.EdtReg.setText("已注册");
} else {
this.EdtSer.setText(main.m_chkSoft.Fsoftsn);
this.EdtReg.setText("");
}
```
再顺着往下看
```java
String trim = this.EdtReg.getText().toString().trim();
if (trim.length() == 15) {
for (int i = 0; i < 15; i++) {
if (trim.charAt(i) < '0' || trim.charAt(i) > '9') {
Toast.makeText(this, "请输入数字。", 1).show();
return;
}
}
main.m_chkSoft.Fregcode = trim;
if (main.m_chkSoft.ChkNumA() && main.m_chkSoft.ChkNumB() && main.m_chkSoft.ChkNumC()) {
main.m_chkSoft.WriteRegCode(trim);
this.m_bFlag = true;
}
Intent intent = getIntent();
intent.putExtra("reg", this.m_bFlag);
setResult(104, intent);
finish();
return
```
其中
```java
main.m_chkSoft.ChkNumA() && main.m_chkSoft.ChkNumB() && main.m_chkSoft.ChkNumC()
```
这句是重点,就是当ChkNumA()、ChkNumB()、ChkNumC()三个函数的值均为真的时候,才会返回“已注册”
然后我们就去找这三个ChkNum就行了。
受(https://www.52pojie.cn/home.php?mod=space&uid=445477)大佬的(https://www.52pojie.cn/thread-726503-1-1.html)启发,我们知道这三个判断都在CSoftReg这个类中
我们浏览这个类,在里面搜索ChkNum,然后会看到如下代码:
```smali
# virtual methods
.method public ChkNumA()Z
.......
return v2
:cond_86
add-int/lit8 v3, v3, 0x1
goto :goto_76
:cond_89
return v1
:cond_8a
:goto_8a
return v2
.end method
.method public ChkNumB()Z
......
return v3
:cond_8a
add-int/lit8 v0, v0, 0x1
goto :goto_77
:cond_8d
return v2
:cond_8e
:goto_8e
return v3
.end method
.method public ChkNumC()Z
......
return v3
:cond_a0
add-int/lit8 v2, v2, 0x1
goto :goto_8f
:cond_a3
return v11
:cond_a4
:goto_a4
return v3
.end method
```
非关键代码我做了省略。可以看到,每个函数后面都跟了3个返回值,就是return v某数字这些。因此只要让返回的值都为真,就能欺骗软件达到注册的目的,因此,我们在每条返回语句的前面,为v开头的变量重新赋值,让其结果为真,这样,无论前面的代码如何判断、检验,最后要返回时始终返回我们重设的“真”值。
赋值语句也很简单
```
const/4 v某,0x1
```
[这篇文章](https://www.jianshu.com/p/bc8df1230c3f)是这么解释的:
> ### 整数赋值
>
> 1. **const/4 vx,lit4 : 将 4 位的常量赋值给 vx**。也就是说 vx 的最大值是 15。
> 2. **const/16 vx,lit16:将 16 位的常量赋值给 vx**。
> - **const-wide/16 vx, lit16** 表示将一个 16 位的常量存储到 vx 与 vx+1 两个寄存器中 —— 即一个 long 类型的数据。
> 3. **const vx, lit32:将 32 位的常量赋值给 vx**。
> - **const-wide/32 vx, lit32** 表示将一个 32 位的常量存储到 vx 与 vx+1 两个寄存器中 —— 即一个 long 类型的数据。
> 4. **const-wide vx, lit64 : 将一个 64 位的数据存储到 vx 与 vx+1 两个寄存器中**
> 5. / 后的数值表示数值本身是多少位,由 const 与 const-wide 区分变量占多少位。
>
>
>
> 作者:一江碎月
> 链接:https://www.jianshu.com/p/bc8df1230c3f
> 来源:简书
> 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最后就是将每个返回变量前面加上这句赋值语句,类似于这样:
```
const/4 v11,0x1
return v11
```
注意!返回那个变量,就位那个变量赋值,否则返回的仍有可能是假值,导致欺骗失败。
**仅仅是交流学习经验,遵从版规就不放成品了,放一个样本吧,有老哥想做注册机https://obiu.lanzouj.com/id4odkj**
潇洒浪子 发表于 2020-5-31 15:56
现在的版本用楼主的这个方法找不到那三个跳转的地方以前的版本我能找到。请楼主指教,谢谢!
你好,我看了一下官网,还没更新版本呢。
用我的方法找v1 v2 v3这种返回值是能找到的。
小夜大佬的那些找v11 v14的那种已经找不到了。
你如果实在找不到可以开个贴艾特一下我 雨中带甜 发表于 2020-5-31 20:16
奥面相手相 奥阳宅风水谢谢大佬,我有时间一点一点学习一下,按大佬教程试试
阳宅风水https://obiu.lanzouj.com/id64c9e
面相手相https://obiu.lanzouj.com/id64bsh
蓝奏爱抽风,进不去换个网络 学习了,谢谢分享 还是要支持国产语言的正向发展呀 成品发下呀,楼主 血情 发表于 2020-5-29 16:29
成品发下呀,楼主
根据思路自己破吧,成品违规,成品帖也被管理大哥删除了{:1_893:} YMXuan 发表于 2020-5-29 16:40
根据思路自己破吧,成品违规,成品帖也被管理大哥删除了
{:1_937:}小白操作能力差 血情 发表于 2020-5-29 16:41
小白操作能力差
你要用哪个软件,我单发 YMXuan 发表于 2020-5-29 16:41
你要用哪个软件,我单发
八字那个,老大,如果有全部的,就更好了{:1_893:},谢谢您 YMXuan 发表于 2020-5-29 16:41
你要用哪个软件,我单发
大佬,在哪有成品呢 谢谢分享