精装友好联络算法实现借壳和RI
精装友好联络会
注册算法分析:
1. 许可证由三部分组成。
2. 的登记号的第一部分是顺序编号0x6d模
3. 登记代码的第二部分:
- 先将订单号与0XB25F1异或,将异或后的结果转换成十进制字符串后,在些字符串后面连接上两个字符。
而这两个字符分别由字符串的第0位。第1位和第2位,第3位计算而来。记为szTemp.算法例如以下
DWORD dwTemp2 = dwNum ^ 0xB25F1;
TCHAR szTemp[20] = {0};
_sntprintf(szTemp, 20, "%d", dwTemp2);
DWORD dwKey2Len = strlen(szTemp);
TCHAR szTemp1[20] = {0};
TCHAR szTemp2[20] = {0};
_snprintf(szTemp1, 20, "%c", (szTemp[0] + szTemp[1]) % 5 + 0x34);
_snprintf(szTemp2, 20, "%c", (szTemp[2] + szTemp[3]) % 5 + 0x33);
strcat(szTemp, szTemp1);
strcat(szTemp, szTemp2);
- 将上面的结果szTemp转换成十进制数字后,与0xDDFB7687进行异或。作为此步结果的一部分。然后依据异或后的结果算出4个不同的字符。然后将这四个字符插入到异或后的字符串中。结果记为szKey2.算法代码例如以下。
DWORD dwTemp3 = 0;
dwTemp3 = atoi(szTemp);
TCHAR szKey2[20] = {0};
_snprintf(szKey2, 20, "%u", dwTemp3 ^ 0xDDFB7687);
TCHAR sz1[2] = {0};
TCHAR sz2[2] = {0};
TCHAR sz3[2] = {0};
TCHAR sz4[2] = {0};
_snprintf(sz1, 2, "%c", (szKey2[0] + szKey2[1]) % 5 + 0x66);
_snprintf(sz2, 2, "%c", (szKey2[2] + szKey2[3]) % 5 + 0x75);
_snprintf(sz3, 2, "%c", (szKey2[4] + szKey2[5]) % 5 + 0x7a);
_snprintf(sz4, 2, "%c", (szKey2[6] + szKey2[7] + szKey2[8]) % 5 + 0x69);
strinsert(szKey2, sz1[0], 7);
strinsert(szKey2, sz4[0], 3);
strinsert(szKey2, sz2[0], 5);
strinsert(szKey2, sz3[0], 9);
4. //生成注冊码。注冊码= 注冊码第一部分 + 注冊码第二部分 + “!”
TCHAR szResult[30] = {0};
memcpy(szResult, szKey1, strlen(szKey1));
strcat(szResult, szKey2);
strcat(szResult, _T("!"));
逆向过程 :逆向的过程中使用的定单号是123456
注冊机代码与分析过程与udd文件下载地址:http://download.csdn.net/detail/xiaocaiju/7522099
版权声明:本文博客原创文章,博客,未经同意,不得转载。
精装友好联络算法实现借壳和RI的更多相关文章
- 图论基础之Dijkstra算法的初探
图论,顾名思义就是有图有论. 图:由点"Vertex"和边"Edge "组成,且图分为有向图和无向图(本文讨论有向图),之前做毕业设计的 ...
- LARS 最小角回归算法简介
最近开始看Elements of Statistical Learning, 今天的内容是线性模型(第三章..这本书东西非常多,不知道何年何月才能读完了),主要是在看变量选择.感觉变量选择这一块领域非 ...
- [Oracle] 关系型数据库排序算法和数据结构以及关联查询
关系型数据库排序算法和数据结构以及关联查询 1. Merge sort 理解merge sort算法将有助于更好地理解数据库join操作 - merge join 算法逻辑 将2个有序的大小为N/2的 ...
- JAVA程序员成长历程(一)
程序员的20个常见瓶颈 在扩展性的艺术一书中,Russell给出了20个有意思的估计:大约有20个经典瓶颈. Russell说,如果在他年轻时他就知道这些瓶颈该有多好!这些论断包括: * Databa ...
- 诗人般的机器学习,ML工作原理大揭秘
诗人般的机器学习,ML工作原理大揭秘 https://mp.weixin.qq.com/s/7N96aPAM_M6t0rV0yMLKbg 选自arXiv 作者:Cassie Kozyrkov 机器之心 ...
- Project Tungsten:让Spark将硬件性能压榨到极限(转载)
在之前的博文中,我们回顾和总结了2014年Spark在性能提升上所做的努力.本篇博文中,我们将为你介绍性能提升的下一阶段——Tungsten.在2014年,我们目睹了Spark缔造大规模排序的新世界纪 ...
- Spark内存管理之钨丝计划
Spark内存管理之钨丝计划 1. 钨丝计划的产生的原因 2. 钨丝计划内幕详解 一:“钨丝计划”产生的本质原因 1, Spark作为一个一体化多元化的(大)数据处理通用平台,性能一直是其根本性的追 ...
- 列举一些常见的系统系能瓶颈 Common Bottlenecks
http://www.nowamagic.net/librarys/veda/detail/2408在 Zen And The Art Of Scaling - A Koan And Epigram ...
- 自动驾驶轻松开发?华为云ModelArts赋能智慧出行
作为战略新兴产业,人工智能已经开始广泛应用于多个领域.近几年,科技公司.互联网公司等各领域的企业纷纷布局自动驾驶.那么,自动驾驶技术究竟发展得如何了?日前,华为云携手上海交通大学创新中心举办的华为云人 ...
随机推荐
- GitHub项目协作基本步骤 分类: C_OHTERS 2013-09-23 21:31 690人阅读 评论(0) 收藏
1.查找某个项目,然后Fork 2.打开GitHub For Windows,发现刚才Fork的项目 3.对着项目点击Clone,将之复制至本地 4.使用Eclipse等进行开发,如新增一个文件 5. ...
- css3-6 表格如何设置样式和定位样式是什么
css3-6 表格如何设置样式和定位样式是什么 一.总结 一句话总结:css可以解决所有属性设置的样式. 1.表格如何设置样式? css样式可以解决一切问题,没必要在表格上面加属性来设置样式. 7 t ...
- VS2008的C++TR1库已经支持正则表达式
作者:朱金灿 来源:http://blog.csdn.net/clever101 发现VS2008的C++ TR1库已经支持正则表达式了(注意装了VS 2008sp1采用TR1库的).下面简单做个测试 ...
- 【机器学习实战】第3章 决策树(Decision Tree)
第3章 决策树 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/ ...
- 浅谈python字符串存储形式
http://blog.csdn.net/zhonghuan1992 钟桓 2014年8月31日 浅谈python字符串存储形式 记录一下自己今的天发现疑问而且给出自己现有知识有的回答. 长话短说,用 ...
- Linux网络编程——原始套接字实例:MAC 头部报文分析
通过<Linux网络编程——原始套接字编程>得知,我们可以通过原始套接字以及 recvfrom( ) 可以获取链路层的数据包,那我们接收的链路层数据包到底长什么样的呢? 链路层封包格式 M ...
- 【t062】最厉害的机器人
Time Limit: 1 second Memory Limit: 128 MB [问题描述] [背景] Wind设计了很多机器人.但是它们都认为自己是最强的,于是,一场比赛开始了~ [问题描述] ...
- asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)
原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...
- 【BZOJ 1005】[HNOI2008]明明的烦恼(化简的另一种方法)
[题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1005 [题意] [题解] 题目和题解在上一篇; 这里 对 [(m^(n-2-tot)) ...
- KeePass v1.30
Changes from 1.29 to 1.30: New Features:Refined application icons (thanks to Victor Andreyenkov).Add ...