EditPlus注册码生成器(js代码实现)


Posted in Javascript onMarch 25, 2013

今天同事惊奇的告诉我,说找到个在线的EditPlus注册码生成器,我赶紧去看了看,还真是,在这里。
exe的注册机病毒太多,纯js的在线注册机可就放心了。

作者是从别人的注册机反汇编然后找出算法的,更令我惊奇的是,这作者Demon竟然是搞法律的,才刚拿到法律职业资格证书,佩服。
EditPlus注册码生成器(js代码实现)

主要的一个js函数是这样的:

function generate_editplus_regcode(username){ 
var list = [0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8000,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16000,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32000,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448]; 
var hexchars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']; 
var regcode = new Array(29); 
var i = 0, j = 0, k = 0; 
var len, temp, sum, result; 
username = usernamereplace(/^\s+|\s+$/g, ""); 
for(i = 0;i < 5;i++,k++) 
{ 
for(j = 0;j < 5;j++,k++) 
{ 
regcode[k] = hexchars[parseInt(Mathrandom() * 16)]; 
} 
if(k == 29) break; 
regcode[k] = '-'; 
} 
len = usernamelength; 
sum = 1; 
for(i = 0;i < len;i++){ 
sum += usernamecharCodeAt(i); 
} 
temp = (parseInt( (sum + 23) / 6 ) + 3) * 7 % 16; 
regcode[6] = hexchars[temp & 0xF]; 
sum = 1; 
for(i = 0;i < len;i++){ 
sum += usernamecharCodeAt(i); 
} 
temp = parseInt( (3 * sum + 39) / 8 ) % 16; 
regcode[9] = hexchars[temp & 0xF]; 
sum = 1; 
for(i = 0;i < len;i++){ 
sum += usernamecharCodeAt(i); 
} 
temp = parseInt( (3 * sum + 19) / 9 ) % 16; 
regcode[7] = hexchars[temp & 0xF]; 
sum = 1; 
for(i = 0;i < len;i++){ 
sum += usernamecharCodeAt(i); 
} 
temp = parseInt( (sum + 10) / 3 ) * 8 % 16; 
regcode[10] = hexchars[temp & 0xF]; 
sum = 1; 
for(i = 0;i < len;i++){ 
sum += usernamecharCodeAt(i); 
} 
temp = (parseInt( (9 * sum + 10) / 3 ) + 36) % 16; 
regcode[4] = hexchars[temp & 0xF]; 
sum = 1; 
for(i = 0;i < len;i++){ 
sum += usernamecharCodeAt(i); 
} 
temp = parseInt( (5 * sum + 11) / 5 ) % 16; 
regcode[8] = hexchars[temp & 0xF]; 
result = 0; 
for(i = 0;i < len;i++){ 
result = ((result >> 8) & 0xFF) ^ list[usernamecharCodeAt(i) ^ (result & 0xFF)]; 
} 
result = resulttoString(16)toUpperCase(); 
regcode[2] = resultcharAt(0); 
regcode[3] = resultcharAt(1); 
len = regcodelength; 
result = 0; 
for(i = 2;i < len;i++){ 
result = ((result >> 8) & 0xFF) ^ list[regcode[i]toString()charCodeAt(0) ^ (result & 0xFF)]; 
} 
result = resulttoString(16)toUpperCase(); 
regcode[0] = resultcharAt(0); 
regcode[1] = resultcharAt(1); 
return regcodejoin(""); 
}
Javascript 相关文章推荐
iframe异步加载实现点击左边菜单加载右边内容实例讲解
Mar 04 Javascript
JS异常处理的一个想法(sofish)
Mar 14 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
Aug 13 Javascript
js防止表单重复提交的两种方法
Sep 30 Javascript
Javascript Web Slider 焦点图示例源码
Oct 10 Javascript
基于JavaScript代码实现pc与手机之间的跳转
Dec 23 Javascript
AngularJS 实现JavaScript 动画效果详解
Sep 08 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
Dec 01 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
Mar 29 Javascript
简单实现js进度条加载效果
Mar 25 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
Nov 30 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 #Javascript
JS上传前预览图片实例
Mar 25 #Javascript
js实现杯子倒水问题自动求解程序
Mar 25 #Javascript
js实现上传图片之上传前预览图片
Mar 25 #Javascript
使用jQuery validate 验证注册表单实例演示
Mar 25 #Javascript
多个表单中如何获得这个文件上传的网址实现js代码
Mar 25 #Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 #Javascript
You might like
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
初识laravel5
2015/03/02 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
js实现全选和全不选
2020/07/28 Javascript
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python猜数字算法题详解
2020/03/01 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
Python Django路径配置实现过程解析
2020/11/05 Python
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
Linux开机引导的步骤是什么
2015/10/19 面试题
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
物流毕业生个人的自我评价
2014/02/13 职场文书
生物技术专业求职信
2014/06/10 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
python实现简单聊天功能
2021/07/07 Python