Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- /// global-eval.js
- /// alias goeval.js
- /// dependency run-at.fn
- function globalEval(
- code = '',
- state= 'interactive'
- ) {
- if (code === '') { return; }
- console.log('test');
- const injectCode =()=>{
- try {
- const script = document.createElement('script');
- script.textContent = code;
- document.body.appendChild(script);
- script.onload = function() {
- document.body.removeChild(script);
- };
- if (!script.src) {
- document.body.removeChild(script);
- }
- } catch(e) {console.log('goeval: ',e)}
- };
- runAt(()=>{ injectCode(); }, state);
- }
- /// set-json.js
- /// alias gson.js
- (function() {
- let jsonprop = '{{1}}';
- let cValue = '{{2}}';
- let needle = '{{3}}';
- console.log(jsonprop, "-", cValue, "-", needle)
- var overrideObject = function(obj, propertyName, overrideValue) {
- var overriden = false;
- for (var key in obj)
- if (obj.hasOwnProperty(key) && key === propertyName) {
- obj[key] = overrideValue;
- overriden = true
- } else if (obj.hasOwnProperty(key) && typeof obj[key] === "object")
- if (overrideObject(obj[key], propertyName, overrideValue)) overriden = true;
- return overriden
- };
- var smartJSONParseOverride = function(propertyName, overrideValue, reStack = ".*") {
- reStack = new RegExp(reStack, "g");
- console.log(propertyName, "-", overrideValue, "-", reStack)
- var realParse = JSON.parse;
- JSON.parse = function(text, reviver) {
- var obj = realParse(text, reviver);
- if (!obj) return obj;
- var stackTrace = (new Error).stack;
- if (reStack.test(stackTrace))
- if (overrideObject(obj, propertyName, overrideValue));
- return obj
- }
- };
- if (cValue === 'undefined') {
- cValue = undefined;
- } else if (cValue === 'false') {
- cValue = false;
- } else if (cValue === 'true') {
- cValue = true;
- } else if (cValue === 'null') {
- cValue = null;
- } else if (cValue === "''" || cValue === '') {
- cValue = '';
- } else if (cValue === '[]') {
- cValue = [];
- } else if (cValue === '{}') {
- cValue = {};
- } else {
- Cvalue = Cvalue;
- }
- window.smartJSONParseOverride = smartJSONParseOverride;
- if(needle=== "''" || needle === '' || needle === '' || needle === null || needle === undefined){
- smartJSONParseOverride(jsonprop, cValue);
- }else{
- smartJSONParseOverride(jsonprop, cValue,needle );
- }
- })();
- /// abort-function-constructor-if.js
- /// alias afcif.js
- (function() {
- let needle = '{{1}}';
- if (needle === '' || needle === '{{1}}') {
- needle = '.?';
- } else if (needle.slice(0, 1) === '/' && needle.slice(-1) === '/') {
- needle = needle.slice(1, -1);
- } else {
- needle = needle.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
- }
- needle = new RegExp(needle);
- // console.log("needle regx "+needle+"");
- window.Function.prototype.constructor = new Proxy(window.Function.prototype.constructor, {
- apply: function(target, thisArg, args) {
- const a = args[0];
- if (needle.test(a.toString()) === false) {
- return target.apply(thisArg, args);
- }
- // console.log("afc-if.js "+args[0]+"");
- args[0] = '';
- return target.apply(thisArg, args);
- }
- });
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement