songxian1987 发表于 2019-11-12 12:21

请问大神,这个时间函数如何编写,困扰了3天3夜了。

本帖最后由 songxian1987 于 2019-11-18 22:51 编辑

为了解决下边的问题,本人愿意支付200元用于感谢,希望能得到大佬的帮助。正在研究一款软件,为时间限制试用版,可以用15天。现在找到许可服务,获取系统时间。于是想锁死此时间,获取系统时间的代码如下:   C#
https://attach.52pojie.cn/forum/201911/12/091228ui80wfek148vswwa.png
https://attach.52pojie.cn/forum/201911/12/091353oktd2to84toy42xn.png 由于函数代码较少,想改写代码空间不够。若去壳后,用dnspy改写,保存后不能运行,不去壳用dnspy改写,保存也不能运行。只有用dotnet resolver改写才能用。请教各位大神,有没有其也办法,可以修改此函数。

songxian1987 发表于 2019-11-13 13:21

oepoep 发表于 2019-11-12 13:15
方法1: 建议修改GetMaintenanceDate()函数被调用的位置,肯定有15天的比较处理,可根据情况修改。

...

由于文件加壳且混淆了,找不到调用的,去壳去混淆就不能运行。返回值可以锁死,但是由于文件不能用dnspy修改,只能用dotnet resolver改IL代码,由于原文件代码段长度不够,写不下,而dotnet resolver不能扩充代码段长度,如何解决?是否还有其他工具?netrefletor也不行

songxian1987 发表于 2019-11-13 12:27

oepoep 发表于 2019-11-12 13:15
方法1: 建议修改GetMaintenanceDate()函数被调用的位置,肯定有15天的比较处理,可根据情况修改。

...

这是一款插件,不能用这个,而且,软件许可时间也是通过一个许可进程(服务)获取的,进启随系统启动

a952135763 发表于 2019-11-12 12:46

只要写死时间就行了???
DateTime.MaxValue
DateTime.MinValue
自带的字段不就行了么?

zhongxia888 发表于 2019-11-12 13:05

我也遇到过,求大神讲解

songxian1987 发表于 2019-11-12 13:12

a952135763 发表于 2019-11-12 12:46
只要写死时间就行了???
DateTime.MaxValue
DateTime.MinValue


非常感谢,我去试一试

oepoep 发表于 2019-11-12 13:15

方法1: 建议修改GetMaintenanceDate()函数被调用的位置,肯定有15天的比较处理,可根据情况修改。

方法2:GetMaintenanceDate()函数返回的是一个时间数组,能否找到程序中其他位置的时间信息? 返回其他预设时间信息? 。

songxian1987 发表于 2019-11-12 13:29

oepoep 发表于 2019-11-12 13:15
方法1: 建议修改GetMaintenanceDate()函数被调用的位置,肯定有15天的比较处理,可根据情况修改。

...

非常感谢,是否有类似其他软件的问题?可否把这些问题起个名称啊

coolcalf 发表于 2019-11-12 13:40

软件在哪下载呢

songxian1987 发表于 2019-11-12 13:56

coolcalf 发表于 2019-11-12 13:40
软件在哪下载呢

是一个arcgis的插件 EVS for entervol

wtujoxk 发表于 2019-11-12 14:46

RunAsDate这个软件可以试试!

songxian1987 发表于 2019-11-12 20:54

a952135763 发表于 2019-11-12 12:46
只要写死时间就行了???
DateTime.MaxValue
DateTime.MinValue


这个是个加壳的dll文件,只能用dotnet resolver改IL代码,别的软件改了都不能运行。那如何去改datetime.min?软件里其他代码解析不出来,也看不到
页: [1] 2
查看完整版本: 请问大神,这个时间函数如何编写,困扰了3天3夜了。