吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6863|回复: 39
收起左侧

[.NET逆向] 我也不知道成功没有的XX家庭理财软件破解笔记

[复制链接]
艾莉希雅 发表于 2018-11-21 16:54
本帖最后由 艾莉希雅 于 2019-6-23 22:15 编辑

今天在肝ff14……@青春丿易逝 貌似捡到了一个软柿子,我也捏一下玩玩这篇文章没有营养
主要就是看见把pubkey放在外面很新奇而已这东西半小时捏爆,及其舒适。但是因为过于诡异怀疑有可能有暗桩什么的,一句话就是作者不至于这么诡异吧?
首先打开软件
reg.jpg
直接搜索关键文本,“稍后注册”
稍后.jpg
可以很快的定位到软柿子的要害部位
[C#] 纯文本查看 复制代码
// Mayu.Tally.WinUI.Admin.FrmReg
// Token: 0x06000D85 RID: 3461 RVA: 0x0011C748 File Offset: 0x0011A948
private void btnReg_Click(object sender, EventArgs e)
{
        string text = this.txtRegFile.Text.Trim();
        if (!File.Exists(text))
        {
                MessageBoxMy.WinMsg(this, "注册文件不存在,请重新选择", MessageBoxIcon.Hand);
                this.btnFile.PerformClick();
                return;
        }
        if (!WinUIComm.ValidRegFile(text))
        {
                MessageBoxMy.WinMsg(this, "不是注册文件,请重新选择", MessageBoxIcon.Hand);
                this.btnFile.PerformClick();
                return;
        }
        File.Copy(text, WinUIComm.fnPath, true);
        WinUIConfig.MainForm.Chk();
        MessageBoxMy.WinMsg(this, "注册成功!\r\n \r\n如果注册用户以前使用了其他姓名记账,可以在‘管理/设置’-‘人员/机构’中,合并到注册用户。", MessageBoxIcon.Asterisk);
        base.Close();
}

可以看出这个框框还真的是放个文件而不是填写注册码的……(废话)
WinUIComm.ValidRegFile可以看出是校验文件是否合法的玩意
[C#] 纯文本查看 复制代码
// Token: 0x060007E6 RID: 2022 RVA: 0x0009E90C File Offset: 0x0009CB0C
                public static bool ValidRegFile(string path)
                {
                        bool result;
                        try
                        {
                                string[] array = File.ReadAllLines(path);
                                string a = Encryption.StringDecryptRij(array[0], "探针水滴'家庭财务8-0");//解密
                                if (a == "tryUser" || a == "freeUser")//对比字符串
                                {
                                        result = true;
                                }
                                else
                                {
                                        string text = File.ReadAllText(Application.StartupPath + "\\data\\fn.mdw");//获取pubkey
                                        if (Encryption.StringVerifySignaRSA(text, array[0], array[1]))//签名校验
                                        {
                                                result = true;
                                        }
                                        else
                                        {
                                                result = false;
                                        }
                                }
                        }
                        catch
                        {
                                result = false;
                        }
                        return result;
                }

在这里我们可以得出如果解密字符串结果是tryUser或者是freeUser就不用经过下面的签名校验
当然因为普及版用户有限制所以我们不考虑使用普及版


freeuser.jpg
3ETnFdP3HyidREOFN2PC+w==

这里比较灵性的一点就是那句string text = File.ReadAllText(Application.StartupPath + "\\data\\fn.mdw");
它获取公钥居然是读某一个文件……这个操作让RSA安全性荡然无存啊
看完这一段,大致的破解思路就有了,先把某段字符串加密成密文构造key的第一段,然后再对第一段签名构成第二段……
那么怎么加密怎么签名呢?善良的作者给我们准备好了一切……
我能说什么呢.jpg
我能说什么呢……直接拿来用就好了鸭XD
vs.jpg
拿来主义就是好对不对……
这里要说一下的就是公钥的替换,密钥生成这段网上一抓一大把就不用说了。
接下来就是构造key的愉快时间
替换掉fn.mdw的公钥
对原文(ID&任意)加密一下RRvW+R/ctA3Cw1LCCV1wWA==
然后再签个名5e/RBlm2+irZyyHNfTzFnQZW0qCU8+8RU9nfb/vFMn60JSkHaK1gV2/pKYXnuD44qlSFeTa9cNGLV718OQUWX+7LbdrTHEsCgwTLu79fvWrafwe+55f18pqS89HSma652oXNSZ/ezAgLml2IMHaMF1hYM9+HmYtnYVBI9nojwMg=
接下来就……
收工.jpg
不过把pubkey放在外面真的是一件危险的事情啊……没错这篇文章要说的就这个
接下来的楼放几个文件的文本内容,看看我抢不抢得到自己的二楼?
这个东西能不能用只有天才知道,反正我是不用的
o8s.png

免费评分

参与人数 12威望 +1 吾爱币 +23 热心值 +10 收起 理由
Anewbie + 1 + 1 用心讨论,共获提升!
wangwangyang + 1 谢谢@Thanks!
fangchang819 + 1 谢谢@Thanks!
CrazyNut + 3 + 1 膜拜大佬
坦克世界 + 1 + 1 膜拜大佬
Hmily + 1 + 8 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
空心烂木头 + 1 谢谢@Thanks!
liangfer + 1 + 1 谢谢@Thanks!
D小小贱 + 1 + 1 大佬大佬
洋洋吖 + 1 + 1 用心讨论,共获提升!
感冒的猪baby + 3 + 1 大佬牛逼。
青春丿易逝 + 2 + 1 日常膜拜大佬

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

云在天 发表于 2018-11-21 17:46
顺带一提

这个软件使用了ZipLib的库,把关键程序和dll都放到了资源里,运行时调用。

另一个比较暴力的方法

先把解压以后的资源导出来,然后修改后,用这个库内置的压缩函数压回去,然后做替换。

上一张修改了版权,并没有Crack的图

BAC06A37537BCCCCDD78DF9D79BA5AE4.jpg

点评

大神666  发表于 2018-11-23 16:41

免费评分

参与人数 3吾爱币 +6 热心值 +3 收起 理由
Sound + 2 + 1 大神666
Hmily + 3 + 1 大神666
青春丿易逝 + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| 艾莉希雅 发表于 2018-11-21 16:55
本帖最后由 艾莉希雅 于 2018-11-21 17:57 编辑

备用二楼
注册文件.fnk
RRvW+R/ctA3Cw1LCCV1wWA==
5e/RBlm2+irZyyHNfTzFnQZW0qCU8+8RU9nfb/vFMn60JSkHaK1gV2/pKYXnuD44qlSFeTa9cNGLV718OQUWX+7LbdrTHEsCgwTLu79fvWrafwe+55f18pqS89HSma652oXNSZ/ezAgLml2IMHaMF1hYM9+HmYtnYVBI9nojwMg=


替换的fn.mdw
<RSAKeyValue><Modulus>79txlllfrJPUQzIRQfYw5IkCudJkckNpXAsEa0m3wXsuB2/E/8CxP04jx16+mKy5ePVbFD82g761U5mZ3yUXtzqK4dhh/v8mc17AvN4XSUx6lASKuRIL4QpjcAUYwEkWICbMk4xweO7tMNXUPhdsiP0lYdWG6qJUh56c18wrOAk=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
能不能用天才知道
正中间 发表于 2018-11-21 17:15
内裤超人 发表于 2018-11-21 17:52
厉害了,大佬
guohaijian 发表于 2018-11-21 18:29
你们怎么这么牛
jlmeor 发表于 2018-11-21 19:12
学习下,看不明白呢
liangfer 发表于 2018-11-21 22:09
学习学习验证,谢谢分析
tydzjing 发表于 2018-11-21 23:17
记账软件用过几个,最后还是没管住自己乱花钱的毛病
sht9067155 发表于 2018-11-22 00:48
大神,看不懂的,谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表