当前位置: 首页 > news >正文

逆向入门(25、26)程序逆向篇-KeygenMe,MexeliteCRK1

0x01 KeygenMe

这程序打开吓我一跳, 我还以为要过检测呢
在这里插入图片描述
放进dbg里面才发现算法其实还挺简单的
在这里插入图片描述
就是结果比较有点意思,这里的dword 403138它是读输入序列号的位置,也就是这个序列号最多也就4个字符,这个字符转换为ascii要和算法最后算出来的结果相同,这就导致了有很多用户名是算不出正确的序列号的,因为有些值转成ascii码以后成了不可输入的字符了。这里我自己试了好几次,发现用户名为8个时候,生成的值都是满足条件的,所以就根据上面的算法写出了注册机,其实原理非常简单,就是根据上面的算法算出一个十六进制数,然后将这个十六进制的数进行倒序进行ascii转换输出就可以了,注册机如下

#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>   // 用于std::setw和std::setfillint main() {std::string username;printf( "用户名: ");std::getline(std::cin, username);int userLen = username.length();if (userLen != 8 ) {printf("用户名长度必须为8位");return 1;}int esi = 0;for (int i = 0;i < userLen;i++) {int edx = username[i];int ebx = edx * edx;esi += ebx;ebx = edx >> 1;ebx += 3;ebx = ebx * edx;ebx -= edx;esi += ebx;esi *= 2;}// 将esi转换为固定长度的十六进制字符串(8位)std::stringstream ss;ss << std::hex << std::setw(8) << std::setfill('0') << esi;std::string hexKey = ss.str();printf("KeyNum: %s\nKey:", hexKey.c_str());for (int i = 6;i >= 0;i -= 2) {// 提取两个十六进制字符std::string byteStr = hexKey.substr(i, 2);// 将十六进制字符串转换为整数int byteValue;std::stringstream converter;converter << std::hex << byteStr;converter >> byteValue;// 直接输出转换后的ASCII字符putchar(static_cast<char>(byteValue));}return 0;
}

在这里插入图片描述
虽然最后生成的字符不知道是啥,但是不影响,直接放进程序里面注册就好了。
在这里插入图片描述

0x02 MexeliteCRK1

这个挺简单的,直接填入字符串就可以了
在这里插入图片描述
搞定了,真水啊
在这里插入图片描述

http://www.lryc.cn/news/579176.html

相关文章:

  • Linux基本命令篇 —— alias命令
  • MIT协议开源CRM系统:打造高效客户关系管理解决方案
  • 【Vue入门学习笔记】项目的创建与基础认识
  • 存储过程封装:复杂业务逻辑的性能优化
  • 基于 TOF 图像高频信息恢复 RGB 图像的原理、应用与实现
  • 监测检测一体化项目实践——整体功能规划
  • 物联网实战:多语言(Java、Go、Rust、C++、C#、Rust)设备接入与数据处理
  • macOS挂载iOS应用沙盒文件夹
  • TikTok电商广告重大调整:GMVmax全面取代传统广告模式
  • iOS 集成RN Installing glog (0.3.5)报错的解决方案
  • 【echarts】解决 ECharts 图表模糊问题的实践心得:单条数据时字体颜色灰蒙蒙的, 图例失真, 字体模糊问题解决
  • 闲庭信步使用SV搭建图像测试平台:第二十六课——图像的二值化
  • 2-RuoYi-UI管理平台的启动
  • 幸狐RV1106开发板从SD卡启动自己的busybox1.36.1根文件系统
  • 【WPF】外部引用样式
  • 基于Apache POI实现百度POI分类快速导入PostgreSQL数据库实战
  • vscode vim配置
  • 【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
  • 【Erdas实验教程】026:遥感图像辐射增强(去条带处理)
  • Qt 5.9 XML文件写入指南
  • JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘
  • 无人机一机多控技术的核心要点
  • 设计模式(八)
  • 【前端】1 小时实现 React 简历项目
  • 【Python】Python / PyCharm 虚拟环境详搭建与使用详解
  • MidJourney生成秦朝末年刘邦全身像提示词
  • RabbitMQ 高级特性之持久性
  • 二叉搜索树中第k小的元素
  • R Studio开发中记录
  • 【数据结构与算法】哈希表拾遗