x奥周易系列软件逆向思路\更新了视频演示

查看 136|回复 11
作者:YMXuan   
更新记录
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奥软件工作室致力于开发易学应用软件 ,为广大命理研究者、爱好者提供辅助工具。现已开发出八字、紫微、六爻、奇门、天星等一系列软件,此系列软件不但具有专业排盘功能,还有一定的自动分析功能。
软件列表
[ol]
  • x奥八字7.3安卓版  
  • x奥大六壬1.3安卓版 
  • x奥八字合婚2.0安卓版
  • x奥河洛理数2.0安卓版
  • x奥金口诀1.5安卓版 
  • x奥六爻3.7安卓版  
  • x奥面相手相1.0安卓版
  • x奥民俗预测2.3安卓版
  • x奥姓名专家3.2安卓版
  • x奥奇门遁甲2.6安卓版
  • x奥三世相法1.0安卓版
  • x奥太乙神数1.0安卓版
  • x奥七政星命3.3安卓版
  • x奥天文占星3.6安卓版
  • x奥周易选号3.2安卓版
  • x奥择吉黄历3.8安卓版
  • x奥阳宅风水3.1安卓版
  • x奥玄空择日2.1安卓版
  • x奥紫微推命3.7安卓版
    支持系统
    [/ol]
    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代码(可读性要高一些)
    然后看到
                    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("");
            }
    再顺着往下看
            String trim = this.EdtReg.getText().toString().trim();
            if (trim.length() == 15) {
                for (int i = 0; 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
    其中
    main.m_chkSoft.ChkNumA() && main.m_chkSoft.ChkNumB() && main.m_chkSoft.ChkNumC()
    这句是重点,就是当ChkNumA()、ChkNumB()、ChkNumC()三个函数的值均为真的时候,才会返回“已注册”
    然后我们就去找这三个ChkNum就行了。
    受by、小夜大佬的MT管理器2修改破解玄奥八字7.2过程启发,我们知道这三个判断都在CSoftReg这个类中
    我们浏览这个类,在里面搜索ChkNum,然后会看到如下代码:
    # 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
    这篇文章是这么解释的:

    整数赋值
    [ol]
  • const/4 vx,lit4 : 将 4 位的常量赋值给 vx。也就是说 vx 的最大值是 15。
  • const/16 vx,lit16:将 16 位的常量赋值给 vx
  • const-wide/16 vx, lit16 表示将一个 16 位的常量存储到 vx 与 vx+1 两个寄存器中 —— 即一个 long 类型的数据。
  • const vx, lit32:将 32 位的常量赋值给 vx
  • const-wide/32 vx, lit32 表示将一个 32 位的常量存储到 vx 与 vx+1 两个寄存器中 —— 即一个 long 类型的数据。
  • const-wide vx, lit64 : 将一个 64 位的数据存储到 vx 与 vx+1 两个寄存器中
  • / 后的数值表示数值本身是多少位,由 const 与 const-wide 区分变量占多少位。
    [/ol]
    作者:一江碎月
    链接:https://www.jianshu.com/p/bc8df1230c3f
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    最后就是将每个返回变量前面加上这句赋值语句,类似于这样:
    const/4 v11,0x1
    return v11
    注意!返回那个变量,就位那个变量赋值,否则返回的仍有可能是假值,导致欺骗失败。
    仅仅是交流学习经验,遵从版规就不放成品了,放一个样本吧,有老哥想做注册机https://obiu.lanzouj.com/id4odkj

    赋值, 周易

  • YMXuan
    OP
      


    潇洒浪子 发表于 2020-5-31 15:56
    现在的版本用楼主的这个方法找不到那三个跳转的地方  以前的版本我能找到。请楼主指教,谢谢!

    你好,我看了一下官网,还没更新版本呢。
    用我的方法找v1 v2 v3这种返回值是能找到的。
    小夜大佬的那些找v11 v14的那种已经找不到了。
    你如果实在找不到可以开个贴艾特一下我
    YMXuan
    OP
      


    雨中带甜 发表于 2020-5-31 20:16
    奥面相手相    奥阳宅风水谢谢大佬,我有时间一点一点学习一下,按大佬教程试试

    阳宅风水https://obiu.lanzouj.com/id64c9e
    面相手相https://obiu.lanzouj.com/id64bsh
    蓝奏爱抽风,进不去换个网络
    键盘上的舞者   

    学习了,谢谢分享
    Dex.Wen   

    还是要支持国产语言的正向发展呀
    血情   

    成品发下呀,楼主
    YMXuan
    OP
      


    血情 发表于 2020-5-29 16:29
    成品发下呀,楼主

    根据思路自己破吧,成品违规,成品帖也被管理大哥删除了
    血情   


    YMXuan 发表于 2020-5-29 16:40
    根据思路自己破吧,成品违规,成品帖也被管理大哥删除了

    小白操作能力差
    YMXuan
    OP
      


    血情 发表于 2020-5-29 16:41
    小白操作能力差

    你要用哪个软件,我单发
    血情   


    YMXuan 发表于 2020-5-29 16:41
    你要用哪个软件,我单发

    八字那个,老大,如果有全部的,就更好了,谢谢您
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部