姬长信 发表于 2019-7-29 11:17

软件修改后值为何不变

文件下载:https://www.lanzouj.com/i57m0ji 密码:dusv

这个500我在
修改后



重新打开软件还是500,这个什么原因呢

跌宕起伏 发表于 2019-7-29 11:37

如果这样破解的话,那软件也太简单了吧

姬长信 发表于 2019-7-29 11:57

跌宕起伏 发表于 2019-7-29 11:37
如果这样破解的话,那软件也太简单了吧

我只是改下试试,改了没变化,,新手轻点

aa6636023 发表于 2019-7-29 12:19

你好,请问你分享的五合一收款码,扫码会跳转到你站点,在哪里可以修改跳转我的站点

无阻 发表于 2019-7-29 12:26

肯定后面有一个取配置项的代码把你的默认50000换成了500

wu0o0pj 发表于 2019-7-29 16:01

你改的只是 窗体设计模式时设置的值,在运行时还有设置的地方

比如: 在 Setting 类的构造函数中


而 Eb.Nk 是简单解密后的字符串"3|500"


所以 显示的就是 500 啦

fenglts 发表于 2019-7-29 18:41

新手来学习的,虽然现在什么都不会。

姬长信 发表于 2019-7-30 10:43

aa6636023 发表于 2019-7-29 12:19
你好,请问你分享的五合一收款码,扫码会跳转到你站点,在哪里可以修改跳转我的站点

代码里有注释,如果没找到可以发邮件,我给你录制视频

姬长信 发表于 2019-7-30 10:45

wu0o0pj 发表于 2019-7-29 16:01
你改的只是 窗体设计模式时设置的值,在运行时还有设置的地方

比如: 在 Setting 类的构造函数中


感谢解惑,和预想一致,请问这种加密是什么😳我再百度百度,直接搜代码没有相关

wu0o0pj 发表于 2019-7-30 13:26

姬长信 发表于 2019-7-30 10:45
感谢解惑,和预想一致,请问这种加密是什么😳我再百度百度,直接搜代码没有相关

加密方式? 图上已经贴出来了

                internal static string Nk
                {
                        get
                        {
                                if (Eb._Nk == null)
                                {
                                        Eb._Nk = string.Join<char>("", from p in new Ru().Gj()
                                        select (char)((p - 11) / 2));
                                }
                                return Eb._Nk;
                        }
                }

而 Gj 是 定义好的 int[] 数组
                internal int[] Gj()
                {
                        return new int[]
                        {
                                113,
                                259,
                                117,
                                107,
                                107
                        };
                }


重点在于 这句 Linq 表达式:Eb._Nk = string.Join<char>("", from p in new Ru().Gj() select (char)((p - 11) / 2));

意思就是将 Gj 数组的每个元素 按照 (x - 11) / 2,得到的值转成 char 型成员,从而得到新的 char[] 数组
然后将char[] 数组 每个成员 通过 "" 连接,得到字符串

int[] Gj = {113, 259, 117, 107, 107} ;
根据公式计算得到的新的数组 {51, 124, 53, 48, 48},转成16进制 就是 {33, 7C, 35, 30, 30};
对应的 char[] 数组 就是 {'3', '|', '5', '0', '0'};

用""连接起来就是 "3|500"

软件中有很多这种加密方式,比如路径啊,配置文件什么的


页: [1] 2
查看完整版本: 软件修改后值为何不变