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 相关文章推荐
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
Dec 26 Javascript
javascript的alert box在java中如何显示多行
May 18 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
Sep 06 Javascript
每天一篇javascript学习小结(Date对象)
Nov 13 Javascript
jQuery实现移动端手机商城购物车功能
Sep 24 Javascript
微信小程序使用第三方库Underscore.js步骤详解
Sep 27 Javascript
Vue 监听列表item渲染事件方法
Sep 06 Javascript
vue移动端下拉刷新和上拉加载的实现代码
Sep 08 Javascript
JS数组reduce()方法原理及使用技巧解析
Jul 14 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
Aug 15 Javascript
JavaScript async/await原理及实例解析
Dec 02 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采集利器 Snoopy 试用心得
2011/07/03 PHP
php页面防重复提交方法总结
2013/11/25 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
Python运算符重载用法实例分析
2015/06/01 Python
关于Django外键赋值问题详解
2017/08/13 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
python如何提升爬虫效率
2020/09/27 Python
VICHY薇姿俄罗斯官方网上商店:法国护肤品牌,火山温泉水
2019/11/22 全球购物
What is view? why do we have view?
2012/06/22 面试题
2014年秋季开学演讲稿
2014/05/24 职场文书
机关保密承诺书
2014/06/03 职场文书
年终工作总结范文2014
2014/11/27 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
主题班会开场白
2015/06/01 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android