eval(function(p,a,c,k,e,r)解密程序

以eval(function(p,a,c,k,e,r){e=function(c)开头的js文件是经过加密的

使用下面方法可以对js文件进行加密、解密

步骤:1.新建html页面,内容如下列代码

2.把加密的代码粘进【原脚本】文本域,点击【解密】按钮;

3.把需要加密的原代码粘进【原脚本】文本域,点击【加密】按钮;

HTML代码如下:

<script>
a=62;
function encode() {
 var code = document.getElementById(‘code‘).value;
 code = code.replace(/[\r\n]+/g, ‘‘);
 code = code.replace(/‘/g, "\\‘");
 var tmp = code.match(/\b(\w+)\b/g);
 tmp.sort();
 var dict = [];
 var i, t = ‘‘;
 for(var i=0; i<tmp.length; i++) {
   if(tmp[i] != t) dict.push(t = tmp[i]);
 }
 var len = dict.length;
 var ch;
 for(i=0; i<len; i++) {
   ch = num(i);
   code = code.replace(new RegExp(‘\\b‘+dict[i]+‘\\b‘,‘g‘), ch);
   if(ch == dict[i]) dict[i] = ‘‘;
 }
 document.getElementById(‘new_code‘).value = "eval(function(p,a,c,k,e,d){e=function(c){return(c<a?‘‘:e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!‘‘.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return‘\\\\w+‘};c=1};while(c--)if(k[c])p=p.replace(new RegExp(‘\\\\b‘+e(c)+‘\\\\b‘,‘g‘),k[c]);return p}("
   + "‘"+code+"‘,"+a+","+len+",‘"+ dict.join(‘|‘)+"‘.split(‘|‘),0,{}))";
} 

function num(c) {
 return(c<a?‘‘:num(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36));
} 

function run() {
 eval(document.getElementById(‘code‘).value);
} 

function decode() {
 var code = document.getElementById(‘code‘).value;
 code = code.replace(/^eval/, ‘‘);
 document.getElementById(‘new_code‘).value = eval(code);
}
</script> 

<div>JS文件加密解密</div>
<div>原脚本</div>
<textarea id="code" cols=80 rows=10>
</textarea>
<div>加密/解密后脚本</div>
<textarea id="new_code" cols=80 rows=10> 

</textarea>
 <div>
<input type=button onclick=encode() value=编码>
<input type=button onclick=run() value=执行>
<input type=button onclick=decode() value=解码>
</div>

界面如图

eval(function(p,a,c,k,e,r)解密程序,布布扣,bubuko.com

时间: 2024-10-21 06:06:54

eval(function(p,a,c,k,e,r)解密程序的相关文章

JavaScript 之 解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码

这里以解码百度访问统计代码构造函数为示例: 以下为要统计JavaScript源码:红色加粗部分将是要修改的地方. eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e

密码学笔记——eval(function(p,a,c,k,e,d) 加密破解

密码学笔记--eval(function(p,a,c,k,e,d) 的加密破解 例题: 小明某天在看js的时候,突然看到了这么一段代码,发现怎么也理不出代码逻辑,你能帮帮他吗? 格式:SimCTF{} eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.rep

提升R语言程序性能

1.       性能测评 时间测定方法 R中提供的测量时间最简单的方法是system.time函数. system.time(expr, gcFirst=TRUE) 这个函数会在不降低程序运行性能的情况下,执行表达式expr,gcFrist则是指定程序运行前是否先执行垃圾回收. do.stuff <- function(){ a <- 1:100000 for(i in 1:100000){ a[i] <- a[i]^2 } a } system.time(do.stuff()) 监控

JavaScript eval() Function

Evaluate/Execute JavaScript code/expressions: Example var x = 10;var y = 20;var a = eval("x * y") + "<br>";var b = eval("2 + 2") + "<br>";var c = eval("x + 17") + "<br>"; var re

黑马程序员——java——Date类的常见方法演示

Date 中的常用方法演示 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateDemos { public static void main(String[] args) throws Exception { // 获取系统当前的时间的毫秒值 long l = System.

jspacker压缩及解压缩研究(js eval)

起因: 在研究爬虫的时候发现很多网站都出现了同一种方式的js混淆,并且名字都是pde.js,怀疑是使用了同一款混淆工具,所以研究一下. 这款工具叫JS Packer,并不是专门的混淆工具,而是一款js压缩工具,其官网地址为: http://dean.edwards.name/packer/ 支持两种压缩方式,一种是Shrink variables比较常规的压缩方式,就是去掉一些空白符注释之类的,另一种是Base62 encode,是一种比较适合用来压缩内容单词重复率高的压缩方式. 压缩示例 所有

原生JS写的ajax函数

参照JQuery中的ajax功能,用原生JS写了一个ajax,功能相对JQuery要少很多,不过基本功能都有,包括JSONP. 调用的方式分为两种: 1. ajax(url, {}); 2. ajax({}); 调用的方法参照JQuery的ajax,只是 不需要写$.ajax ,只需要写 ajax 就可以了. 代码如下: !function () { var jsonp_idx = 1; return ajax = function (url, options) { if (typeof url

快商通触发js代码

/** * 该JS函数的作用是若快商通的代码加载完成,则调用快商通自带的打开聊天窗口的函数 * 否则直接打开链接地址,并用网站自己获取到的来源的对话网址参数传递给聊天窗口 * 注: 会直接打开链接地址的情况是,客户在没有生成快商通的图标前就点击了页面上的咨询链接时触发的 * 用法举例: * 1. 普通进入对话(PC手机都有效): <a href="javascript:void(0)" onClick="onKST();return false;">在线

前端源码安全

今天思考下前端源码安全的东西(不是前端安全,只是针对于源码部分).在我看来,源码安全有两点,一是防止抄袭,二是防止被攻破.实际上讲,前端的代码大多是没有什么可抄袭性,安全更是形同虚设的(任何前端输入都是不能相信的).但如果还是想防止源码被查看,HTML.CSS并不能做什么,最终都会用露出来(最简单用Chrome开发者工具就可以看到),所以只能针对JS做文件的压缩合并和混淆. 关于抄袭 其实就前端来讲,代码没有什么好抄袭的,大多人都是抄UI设计(这个是躲不了),还有一些富前端的控件和算法,重要之处