luluijn 发表于 2021-3-21 18:26

.net带x509数字签名软件求教

先把软件放进exeinfo,看了一下无壳。

但是有x509数字签名。

我是小白完全不懂,搜了论坛没发现相关文章。
然后就不管了,拉进dnspy,看一下激活提示框,搜索关键字没有找到相关信息。




然后通过license字眼查到是a-f,A-F,0-9组成的32位密码



然后就不知道下一步如何处理,请问可以给点提示吗?


软件链接: https://pan.baidu.com/s/1NiAPl2jsKIKEOwT2muxOpw 提取码: 7yj5 复制这段内容后打开百度网盘手机App,操作更方便哦

wap6575 发表于 2021-3-21 21:27

下载下来找到64位的硬件id属性,改这里或许可以一直白嫖14天。但是exe有签名认证,改后程序无法打开

                // Token: 0x170004BF RID: 1215
                // (get) Token: 0x0600172C RID: 5932 RVA: 0x0003708B File Offset: 0x0003528B
                // (set) Token: 0x0600172D RID: 5933 RVA: 0x00037093 File Offset: 0x00035293
                public string HardWareID
                {
                        get
                        {
                                return this._hardwareid;
                        }
                        set
                        {
                                if (this._hardwareid == value)
                                {
                                        return;
                                }
                                this._hardwareid = value;
                                this.OnPropertyChanged("HD");
                        }
                }

tytyol 发表于 2021-3-21 19:09

感谢楼主分享

awjgwz 发表于 2021-3-21 21:51

软件干啥的

luluijn 发表于 2021-3-21 23:00

awjgwz 发表于 2021-3-21 21:51
软件干啥的

鼠标、键盘、手柄映射改键位死区那些

awjgwz 发表于 2021-3-22 19:54

luluijn 发表于 2021-3-23 22:37

wap6575 发表于 2021-3-21 21:27
下载下来找到64位的硬件id属性,改这里或许可以一直白嫖14天。但是exe有签名认证,改后程序无法打开


跟到这里然后怎么改?

                internal object GetValue(object item, int level)
                {
                        bool flag = this.IsExtendedTraceEnabled(TraceDataLevel.CreateExpression);
                        object obj = DependencyProperty.UnsetValue;
                        PropertyInfo propertyInfo;
                        PropertyDescriptor propertyDescriptor;
                        DependencyProperty dependencyProperty;
                        DynamicPropertyAccessor dynamicPropertyAccessor;
                        this.SetPropertyInfo(this._arySVS.info, out propertyInfo, out propertyDescriptor, out dependencyProperty, out dynamicPropertyAccessor);
                        switch (this.SVI.type)
                        {
                        case SourceValueType.Property:
                                if (propertyInfo != null)
                                {
                                        obj = propertyInfo.GetValue(item, null);
                                }
                                else if (propertyDescriptor != null)
                                {
                                        bool indexerIsNext = level + 1 < this.SVI.Length && this.SVI.type == SourceValueType.Indexer;
                                        obj = this.Engine.GetValue(item, propertyDescriptor, indexerIsNext);
                                }
                                else if (dependencyProperty != null)
                                {
                                        DependencyObject dependencyObject = (DependencyObject)item;
                                        if (level != this.Length - 1 || this._host == null || this._host.TransfersDefaultValue)
                                        {
                                                obj = dependencyObject.GetValue(dependencyProperty);
                                        }
                                        else if (!Helper.HasDefaultValue(dependencyObject, dependencyProperty))
                                        {
                                                obj = dependencyObject.GetValue(dependencyProperty);
                                        }
                                        else
                                        {
                                                obj = BindingExpression.IgnoreDefaultValue;
                                        }
                                }
                                else if (dynamicPropertyAccessor != null)
                                {
                                        obj = dynamicPropertyAccessor.GetValue(item);
                                }
                                break;
                        case SourceValueType.Indexer:
                                if (propertyInfo != null)
                                {
                                        object[] args = this._arySVS.args;
                                        PropertyPathWorker.IListIndexerArg listIndexerArg;
                                        if (args != null && args.Length == 1 && (listIndexerArg = (args as PropertyPathWorker.IListIndexerArg)) != null)
                                        {
                                                int value = listIndexerArg.Value;
                                                IList list = (IList)item;
                                                if (0 <= value && value < list.Count)
                                                {
                                                        obj = list;
                                                }
                                                else
                                                {
                                                        obj = PropertyPathWorker.IListIndexOutOfRange;
                                                }
                                        }
                                        else
                                        {
                                                obj = propertyInfo.GetValue(item, BindingFlags.GetProperty, null, args, CultureInfo.InvariantCulture);
                                        }
                                }
                                else
                                {
                                        DynamicIndexerAccessor dynamicIndexerAccessor;
                                        if ((dynamicIndexerAccessor = (this._arySVS.info as DynamicIndexerAccessor)) == null)
                                        {
                                                throw new NotSupportedException(SR.Get("IndexedPropDescNotImplemented"));
                                        }
                                        obj = dynamicIndexerAccessor.GetValue(item, this._arySVS.args);
                                }
                                break;
                        case SourceValueType.Direct:
                                obj = item;
                                break;
                        }
                        if (flag)
                        {
                                object obj2 = this._arySVS.info;
                                if (obj2 == DependencyProperty.UnsetValue)
                                {
                                        obj2 = null;
                                }
                                TraceData.Trace(TraceEventType.Warning, TraceData.GetValue(new object[]
                                {
                                        TraceData.Identify(this._host.ParentBindingExpression),
                                        level,
                                        TraceData.Identify(item),
                                        TraceData.IdentifyAccessor(obj2),
                                        TraceData.Identify(obj)
                                }));
                        }
                        return obj;
                }



还是我跟错了?

@wap6575
页: [1]
查看完整版本: .net带x509数字签名软件求教