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 相关文章推荐
js获取提交的字符串的字节数
Feb 09 Javascript
JavaScript Date对象详解
Mar 01 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
Oct 14 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
JS操作input标签属性checkbox全选的实现代码
Mar 02 Javascript
微信小程序 setData使用方法及常用错误解决办法
May 11 Javascript
JavaScript运动框架 多值运动(四)
May 18 Javascript
angularjs定时任务的设置与清除示例
Jun 02 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
Jan 02 Javascript
js实现各浏览器全屏代码实例
Jul 03 Javascript
解决layui数据表格Date日期格式的回显Object的问题
Sep 19 Javascript
JS实现京东商品分类侧边栏
Dec 11 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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
php 短链接算法收集与分析
2011/12/30 PHP
php 多关键字 高亮显示实现代码
2012/04/23 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
python海龟绘图实例教程
2014/07/24 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
外语学院毕业生的自我鉴定
2013/11/28 职场文书
党课学习思想汇报
2014/01/02 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
四年级小学生评语
2014/12/26 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL
python 学习GCN图卷积神经网络
2022/05/11 Python