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 相关文章推荐
Javascript跨域请求的4种解决方式
Mar 17 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
Feb 12 Javascript
js函数在frame中的相互调用详解
Mar 03 Javascript
jQuery html()方法使用不了无法显示内容的问题
Aug 06 Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
Jul 18 Javascript
实现React单页应用的方法详解
Aug 02 Javascript
vue实现点击关注后及时更新列表功能
Jun 26 Javascript
Vue表单控件绑定图文详解
Feb 11 Javascript
使用koa2创建web项目的方法步骤
Mar 12 Javascript
Vue2.0实现简单分页及跳转效果
Jul 29 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 curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
PHP is_array() 检测变量是否是数组的实现方法
2016/06/13 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
下载糗事百科的内容_python版
2008/12/07 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Django自定义manage命令实例代码
2018/02/11 Python
python字符串与url编码的转换实例
2018/05/10 Python
python实现音乐下载的统计
2018/06/20 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
python中如何设置代码自动提示
2020/07/15 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
恒华伟业笔试面试题
2015/02/26 面试题
软件研发工程师岗位职责
2014/09/30 职场文书
2015年药房工作总结
2015/04/25 职场文书
运动会200米广播稿
2015/08/19 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA