Skip to content

Instantly share code, notes, and snippets.

View nstarke's full-sized avatar

Nicholas Starke nstarke

View GitHub Profile
@nstarke
nstarke / JScrambler-Review.md
Last active April 5, 2024 18:46
JScrambler Review

I've recently been working on JavaScript Obfuscation. I've read as much as I can from the internet about options and capabilities. It is clear there is one winner out of all the offerings available.

JScrambler Review

JScrambler (https://jscrambler.com/) is a paid product featuring JavaScript Obfuscation capabilities. When it comes to obfuscating JavaScript, it is the gold standard.

This is what the internet proclaimed as I read it [1]. However, it was truly difficult to assess how accurate these claims are; essentially the only public obfuscation examples they provide are:

https://jscrambler.com/products/code-integrity/javascript-obfuscation

@nstarke
nstarke / egodeath-obfuscator-example2.js
Last active June 7, 2021 19:56
Egodeath Obfuscator Example 2
console.assert = function (){};
console.clear = function (){};
console.count = function (){};
console.error = function (){};
console.group = function (){};
console.groupCollapsed = function (){};
console.groupEnd = function (){};
console.info = function (){};
console.log = function (){};
console.table = function (){};
@nstarke
nstarke / slice.sh
Created February 24, 2019 01:13
Slice audio file into equal sized parts
#!/bin/sh
for LINE in *.wav
do
echo "$LINE"
mkdir -p -- "_$LINE/4"
mkdir -p -- "_$LINE/16"
mkdir -p -- "_$LINE/64"
LENGTH=$(soxi -D "$LINE")
INTERVAL=$(echo "$LENGTH/4" | bc -l)
@nstarke
nstarke / toy-obfuscator01.js
Created May 6, 2018 19:07
JavaScript: Toy Obfuscator 1
// Toy Obfuscator 1
// This is not meant to be a serious attempt at obfuscation, though it does work.
// run with CODE_FILE=source.js node toy-obfuscator01.js
var fs = require('fs');
var code = fs.readFileSync(process.env.CODE_FILE).toString();
var globalReserved = [];
var matrix = [];
var magicBlank = Math.floor(Math.random() * 127) + 127;
@nstarke
nstarke / dell-precision-7510-problem.md
Created May 3, 2018 11:52
Dell Precision 7510 System Failure after Monitor turns off in Ubuntu 16.04 / 17.10 / 18.04

Dell Precision 7510 System Failure after Monitor turns off in Ubuntu 16.04 / 17.10 / 18.04

I have been experiencing a problem with my Dell Precision 7510 laptop. When using Ubuntu, configured to turn the monitor off after n minutes, the computer would become unresponsive if I let it stay "asleep" for longer than a few minutes.
At this point, when I tried to wake the laptop up by pressing a key or moving the mouse, the computer wouldn't respond at all. The only option was to restart the computer using a hard stop (pressing the power key for 5 seconds).

After months of problems and troubleshooting, I isolated the problem to the system BIOS, and indeed, according to the Dell Bios Changelog (link here) some of the bug fixes mention problems with crashes related to the monitor shutting off. It is worth noting that I had this problem with BIOS revision 1.15.4 and 1.14.4. BIOS version 1.15.4 is the latest a

@nstarke
nstarke / snmp-fuzzer.js
Created April 16, 2018 22:05
Simple SNMP Fuzzer
// Simple SNMP Fuzzer
// Date: April 16, 2018
// Author: Nicholas Starke
// Run with: INTERVAL=500 REMOTE_PORT=161 REMOTE_HOST=127.0.0.1 node snmp-fuzzer.js
// requires bluebird
// npm install bluebird
if (!process.env.REMOTE_HOST) {
console.error('[*] Must set REMOTE_HOST environment variable');
@nstarke
nstarke / poc.js
Last active May 16, 2018 20:18
iOS 11.2.6 Memory Corruption Issue in CoreFoundation
// iOS Memory Corruption Issue in CoreFoundation
// Date: April 9th, 2018
// Author: Nick Starke
//
// This PoC was tested against iOS 11.2.6
// 11.3 does not seem to be vulnerable
// Causes an error in Safari, or an application crash if an app makes a HTTP request.
//
// Run this script using NodeJS:
// $ node poc.js
@nstarke
nstarke / xen-connect-two-vms-via-virtual-serial-port.md
Created January 5, 2018 23:46
Xen - Connect two VMs via Virtual Serial Port

Xen - Connect two VMs via Virtual Serial Port

I have recently been working on debugging The Windows kernel.

For the version of Windows I am using (7 professional / 32-bit), the easiest way to debug the kernel is via serial port.

In VirtualBox this is easy, as VirtualBox provides robust serial port options that allow the user to specify a unix socket to use as a virtual serial cable. If the unix socket doesn't exist before the VM is booted VirtualBox, when booting the server VM, will create the unix socket on the filesystem. The client VM can then connect to the unix socket by specifying the same path in the VirtualBox serial port settings.

However, for my purposes it became necessary to use Xen as the hypervisor. I started by installing and configuring Xen on an Ubuntu server, then spinning up two Windows HVM guest VMs.

@nstarke
nstarke / skip-long-boot.md
Last active January 1, 2018 00:56
Windows Kernel Debuggin In VirtualBox - Skip Long Boot

Windows Kernel Debugging In VirtualBox - Skip Long Boot

The following technique was tested on the following setup:

  • Ubuntu 17.10 Host
  • Windows 10 x64 Debugger VM
  • Windows 7 x86 Debuggee VM
  • VirtualBox 5.2.4
  • Debug interface is Serial COM1 via named pipe
@nstarke
nstarke / process-token-ops.md
Created December 31, 2017 20:36
Windows Process Token Bitwise AND To get real value