teety 发表于 2019-6-30 17:04

MacroRecorder 逆向,跳过注册码验证!

本帖最后由 teety 于 2021-12-23 00:56 编辑

汉化版软件原贴地址: https://www.52pojie.cn/thread-979534-1-1.html
dnspy打开主程序,找到这个函数,把返回值都改成VerifyResult.OK; 对应的 IL 值为 ldc.i4.1
下面是改好的:
      // Token: 0x0600003C RID: 60 RVA: 0x00002D28 File Offset: 0x00000F28
      public static VerifyResult VerifyKey(string username, string serial, string publicKeyXml)
      {
            bool flag;
            DateTime t;
            if (!SerialGenerator.VerifyKey(username, serial, publicKeyXml, out flag, out t))
            {
                return VerifyResult.OK;
            }
            if ((flag ? SerialGenerator.RetrieveLinkerTimestamp() : DateTime.Now) > t)
            {
                return VerifyResult.OK;
            }
            return VerifyResult.OK;
      }
下面是对应的IL代码:
0 0000 ldarg.0
1 0001 ldarg.1
2 0002 ldarg.2
3 0003 ldloca.s V_0 (0)
4 0005 ldloca.s V_1 (1)
5 0007 call bool KeyGen.SerialGenerator::VerifyKey(string, string, string, bool&, valuetype System.DateTime&)
6 000C brtrue.s 9 (0010) ldloc.0
7 000E ldc.i4.1修改此处
8 000F ret
9 0010 ldloc.0
10 0011 brtrue.s 13 (001A) call valuetype System.DateTime KeyGen.SerialGenerator::RetrieveLinkerTimestamp()
11 0013 call valuetype System.DateTime System.DateTime::get_Now()
12 0018 br.s 14 (001F) ldloc.1
13 001A call valuetype System.DateTime KeyGen.SerialGenerator::RetrieveLinkerTimestamp()
14 001F ldloc.1
15 0020 call bool System.DateTime::op_GreaterThan(valuetype System.DateTime, valuetype System.DateTime)
16 0025 brfalse.s 19 (0029) ldc.i4.1
17 0027 ldc.i4.1 修改此处
18 0028 ret
19 0029 ldc.i4.1
20 002A ret


以上为5.8版本的。现在新的5.8.1.0 版本 类似 需要改以下方法:public class SerialGenerator
{
      // Token: 0x0600002E RID: 46 RVA: 0x00002880 File Offset: 0x00000A80
      public static bool VerifyKey(string username, string serial, string publicKeyXml, out bool releaseLimited, out DateTime expirationDate)
      {
                releaseLimited = true;
                expirationDate = new DateTime(2100, 1, 1);//过期时间
                return true; //直接返回 true 就可以了
      }
}
保存后 需要改exe文件属性 兼容性 以管理员权限运行



xihua 发表于 2019-7-1 09:19

轻轻闪过 发表于 2019-6-30 17:47
www.automacrorecorder.com有没有思路,支持变量,功能更强大
0day 的 Auto Macro Recorder 4.5.7.8
https://pan.baidu.com/s/1iGpatY5cgn_Q6CN75rquiA

轻轻闪过 发表于 2019-6-30 17:47

++

本帖最后由 轻轻闪过 于 2019-6-30 19:43 编辑

www.automacrorecorder.com有没有思路,支持变量,功能更强大

teety 发表于 2019-6-30 17:37

简单粗暴的改法 就是直接返回OK
ldc.i4.1
ret

gzsklsskszngc 发表于 2019-6-30 22:31

支持,点个赞!

落叶@枫林 发表于 2019-7-1 06:54

轻轻闪过 发表于 2019-6-30 17:47
www.automacrorecorder.com有没有思路,支持变量,功能更强大

super.single430 发表于 2019-7-1 09:12

支持,点个赞!

Ouyang520 发表于 2019-7-1 09:29

支持楼主

血色天空 发表于 2019-7-1 10:27

++学习了,谢谢楼主分享

学习了,谢谢分享

spray 发表于 2019-7-1 11:00

落叶@枫林 发表于 2019-7-1 06:54


最新版本吗?
页: [1] 2 3 4
查看完整版本: MacroRecorder 逆向,跳过注册码验证!