一款虚拟串口工具的破解过程

查看 182|回复 11
作者:阳光好青年   
最近做单片机用到串口收发数据,单片机发送的数据到MOXA的串口模块,再到达应用层是TCP协议的,小公司的应用层根本不给你开发什么接口,只能用一些网上的串口工具,那又太死板不灵活,所以我就借助开源的串口工具源码、配合TCP转串口的软件写了个调测工具,但结果发现“TCP转串口的软件”只有3天的试用时间啊,刚好前天下午上班划了划水整出来无期限试用版本,今天就划水给大家分享下。
emmm、整个过程是这样子的:
1、首先这款工具是网上搜到的,一看也是小公司想的就应该不会太难,实际也是花了下午时间从学习破解软件使用到搞完破解:


image.png (47.61 KB, 下载次数: 1)
下载附件
2020-11-30 16:02 上传

2、首先查壳,果不其然...和我预料的一样.....就单纯是.net平台编写的软件
3、就搜了下.NET的破解 用到的工具是Reflector、和插件Reflexil.Reflector.AIO,论坛里都有的,这里大家看一下我学习的教程 https://www.52pojie.cn/thread-271347-1-1.html,不得不说很详细啊 我只用到了一个功能。
4、然后用Reflector打开看了下源码都有,想到的第一个关键词就是 Register,运气很好,直接看到有个类,里面还有个方法 isOverdue,明显就是试用期判断的方法,直接重写强制返回false,就无期限试用了:


image.png (42.75 KB, 下载次数: 0)
下载附件
2020-11-30 16:13 上传

5、这里放下软件下载地址,大家自己可以搞搞,成功了也能提高自己的兴趣,http://www.meixuannet.cn/
6、提前给大家拜个早年!isAuth 函数应该就是直接正式版的接口了

串口, 工具

vipcrack   

可以KEYGEN


000.png (13.74 KB, 下载次数: 4)
下载附件
2020-11-30 20:25 上传



001.png (42.46 KB, 下载次数: 0)
下载附件
2020-11-30 20:28 上传

[C#] 纯文本查看 复制代码using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;
namespace MX_keygen
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private static double log10(ulong x)
        {
            return Math.Log(x) / Math.Log(10.0);
        }
        public static string Encoder(ulong str)
        {
            string text = "";
            for (int i = (int)Math.Floor(log10(str) / log10(62UL)); i >= 0; i--)
            {
                int num = (int)Math.Floor(str / Math.Pow(62.0, (double)i));
                text +=keyaaa[num].ToString();
                str -= (ulong)((double)num * Math.Pow(62.0, (double)i));
            }
            return text;
        }
        public static ulong Decoder(string str)
        {
            ulong num = 0UL;
            int num2 = str.Length - 1;
            for (int i = 0; i  keyaaa = new List
        {
            'v',
            'P',
            'h',
            '7',
            'z',
            'Z',
            'w',
            'A',
            '2',
            'L',
            'y',
            'U',
            '4',
            'b',
            'G',
            'q',
            '5',
            't',
            'c',
            'V',
            'f',
            'I',
            'M',
            'x',
            'J',
            'i',
            '6',
            'X',
            'a',
            'S',
            'o',
            'K',
            '9',
            'C',
            'N',
            'p',
            '0',
            'O',
            'W',
            'l',
            'j',
            'Y',
            'T',
            'H',
            'Q',
            '8',
            'R',
            'E',
            'n',
            'm',
            'u',
            '3',
            '1',
            'B',
            'r',
            'd',
            'g',
            'e',
            'D',
            'k',
            'F',
            's'
        };
        public static string MD5Encrypt32(string password)
        {
            string text = "";
            byte[] array = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(password));
            for (int i = 0; i  0; num2--)
                {
                    num = (((num & 1) != 1) ? (num >> 1) : ((num >> 1) ^ 0xEDB88320u));
                }
                Crc32Table = num;
            }
        }
        public ulong GetCRC32Str(string sInputString)
        {
            GetCRC32Table();
            byte[] bytes = Encoding.ASCII.GetBytes(sInputString);
            ulong num = 4294967295uL;
            int num2 = bytes.Length;
            for (int i = 0; i > 8) ^ Crc32Table[(num & 0xFF) ^ bytes];
            }
            return num ^ 0xFFFFFFFFu;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string sInputString = MD5Encrypt32(textBox1.Text.Substring(6,32));
            ulong num = GetCRC32Str(sInputString);
            if (num
Wapj_Wolf   

楼主弄得我这个伸手党都不好意思伸手了,难道真的要自己来……
vipcrack   


ZCShou 发表于 2020-12-1 15:44
Keygen 代码是 vipcrack 的!不过貌似是有点问题的。好像是时间不对!


MX_keygen.rar
(4.86 KB, 下载次数: 650)
2020-12-1 16:52 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB

试试这个
小灰灰520   

这款软件感觉挺不错
梦古无疆   

楼主不应该发一个破解版的软件吗
旋转的大地   

最近给串口玩死了,谢谢楼主分享
djzhaooo   

啊这。。。就拜年了??
国际豆哥   

感谢楼主分享!
cj4862   

学习了,感谢分享
您需要登录后才可以回帖 登录 | 立即注册