本帖最后由 理想的海洋 于 2022-3-31 17:19 编辑
1.有一款.net的收费软件 参考一个帖子的方法没有成功 参考链接如下
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1099138&highlight=dnspy
2.这个软件和以上帖子的很相似,搜索注册找到了关键代码
3.右键选择编辑方法 试了几个代码都提示编译错误
代码如下 有大佬能指点一下吗 原代码如下
[Asm] 纯文本查看 复制代码 using System;
using System.ComponentModel;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using DevComponents.DotNetBar.Controls;
using DevComponents.DotNetBar.Metro;
namespace IDCardReader.setting
{
// Token: 0x02000009 RID: 9
public partial class Setting : MetroForm
{
// Token: 0x06000113 RID: 275 RVA: 0x000113F4 File Offset: 0x0000F5F4
private void btn_active_Click(object sender, EventArgs e)
{
string text = this.tbl_license.Text.Trim();
if (!SecurityUtil.Verify(text))
{
MessageBox.Show("注册码错误了怎么办", "错误提示");
return;
}
MessageBox.Show("成功激活");
RegisterUtil.initRegistry();
RegisterUtil.SetValue("license", text);
if (MessageBox.Show("输入注册码后,重启后生效,是否立即重启", "是否重启", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
Application.Restart();
}
}
}
}
结合帖子里的大佬的回复方法,nop掉if判断 可以激活了 但是程序有验证,重启失效
谢谢各位大佬出谋划策 这个软件的pj方法应该是有很多种,我用了两种方法都可以实现重启验证的pj
第一种:24楼的方法 搜索注册码错误 在错误提示的上面点击 SecurityUtil.Verify跳转 然后按照他发的图片把result改成result2 具体修改的几处他都贴了图片 参照修改保存即可。
第二种:45楼的方法 在注册码错误提示上面有个if函数 直接删除掉 然后把 IDCardReader.finishTrial = true; 这一句改成IDCardReader.finishTrial =false 也可以的
还有其他大佬的多种方法由于自己初学看不懂不知道如何操作,不过最感兴趣的还是62楼大佬的方法,说是RSA加密 可以用公钥和私钥,直接模拟生成注册码 不知道是不是不用pj和分析主程序
直接能通过两个秘钥文件生成注册码,还在继续学习研究中。 |