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 相关文章推荐
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
Nov 30 Javascript
Jquery Mobile 自定义按钮图标
Nov 18 Javascript
js实现右键菜单功能
Nov 28 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
layui导航栏实现代码
May 19 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
ES6解构赋值实例详解
Oct 31 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
JS对日期操作封装代码实例
Nov 08 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 Javascript
js实现飞机大战游戏
Aug 26 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读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
二招解决php乱码问题
2012/03/25 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
Javascript中对象继承的实现小例
2014/05/12 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
Python中的lstrip()方法使用简介
2015/05/19 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
python 检测图片是否有马赛克
2020/12/01 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
优秀中专生推荐信
2013/11/17 职场文书
无犯罪记录证明
2014/09/19 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
2014年销售部工作总结
2014/12/01 职场文书
给医院的感谢信
2015/01/21 职场文书
行政撤诉申请书
2015/05/18 职场文书
2015国庆节感想
2015/08/04 职场文书
法院执行局工作总结
2015/08/11 职场文书