Skip to content

Instantly share code, notes, and snippets.

View nneonneo's full-sized avatar
🔥
hacking at maximum warp

Robert Xiao nneonneo

🔥
hacking at maximum warp
View GitHub Profile
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
select {
margin-right: 15px;
}
</style>
<script>
// blueimp-md5.js from https://cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.18.0/js/md5.min.js
@nneonneo
nneonneo / youtube-dl.py
Last active April 2, 2024 04:57
YouTube-DL for Pythonista - download YouTube videos on your iPhone/iPad!
#!python3
'''
Directions:
- install yt-dlp via Pip (e.g. using (StaSh)[https://github.com/ywangd/stash] - `pip install yt-dlp`)
- add this script as a Share extension through Settings -> Share Extension Shortcuts
- while watching a video in the YouTube site or app, just share the video to Pythonista and select this script
- the video will download, and when it's done you can share the video file itself with any app (e.g. VLC)
Advanced usage:
@nneonneo
nneonneo / disas.txt
Created September 24, 2019 20:24
CPU Adventure - In-progress disassembly
0: call 38v
4: call 7i
8: call k
c: call a7
g: q vgf
k: call 3gj
o: print 83k # 'SELECT AN OPTION\x0e:\r\n\r\n\x0f\x00'
15: call 1v
19: call 4k
@nneonneo
nneonneo / 01_game.bin
Last active March 8, 2022 23:34
CPU Adventure files
1100111111010000001111001100100011100000110011010000000000001100100111010100000011010011111000011111110011001110000000110111100000101000111100001000110111100010010001100100101011110001111001111110000100000110011010000100000001100110111001100000001111000001110001111000011110001111000100010011001001010111100011110110100101100000010000111010010100110100000011110000011100011110000101101011110001000110110010010101111000110100101100000100000111010010100110100000011110000000101011110000101111011110001000110110010010101111000110100101100001000000111010010100110100000011110000001000011110000101101011110001000110110010010101111000110100101100010000000111010010100110100000011110000010001011110000101110011110001000110110010010101111000111101100001011000000000000110100101011010000010010101100000100000011010011001010100000011110000000001011110000111000011110001000111110010010101111000111100100011100000001111001111000111100011001010110000001000001101001010101010000001111000000001001111000011011101111000100011111001001010111
@nneonneo
nneonneo / socks-proxy-simple.py
Created July 17, 2019 19:41 — forked from WangYihang/socks-proxy-simple.py
A simple socks server via python - updated for Pythonista (iOS)
#!python2
# -*- coding: utf-8 -*-
# 一个简单的 Socks5 代理服务器 , 只有 server 端 , 而且代码比较乱
# 不是很稳定 , 而且使用多线程并不是 select 模型
# Author : WangYihang <wangyihanger@gmail.com>
import socket
import threading
import sys
@nneonneo
nneonneo / decode.py
Created September 3, 2018 01:15
TokyoWesterns CTF 2018 - MatrixLED decoder script
import reedsolo
reedsolo.init_tables(0x11d)
colors = 'ROYGCBVW'
def decode_im(im):
print im
out = bytearray([0] * 24)
for i in range(0, 24, 3):
res = 0
for j in range(8):
@nneonneo
nneonneo / strcpy_test.c
Last active June 6, 2018 21:06
strncpy speed test
#include <stdint.h>
#include <sys/time.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
typedef uint64_t microclock_t;
static inline microclock_t microclock() {
@nneonneo
nneonneo / scoremunge.py
Created July 31, 2017 23:37
Munge scores for DEF CON 25 CTF
import csv
import json
with open('scores.csv') as f:
rows = [(int(row['id']), json.loads(row['payload'])) for row in csv.DictReader(f)]
rows.sort()
with open('scores_clean.csv', 'w') as outf:
csvf = csv.writer(outf)
team_names = [s['display_name'].encode('utf8') for s in sorted(rows[0][1], key=lambda s: s['id'])]
@nneonneo
nneonneo / GAME_MASTER_v0_1.protobuf
Last active April 17, 2024 17:18 — forked from anonymous/GAME_MASTER_v0_1.protobuf
Pokemon Go decoded GAME_MASTER protobuf file v0.1
Result: 1
Items {
TemplateId: "BADGE_BATTLE_ATTACK_WON"
Badge {
BadgeType: BADGE_BATTLE_ATTACK_WON
BadgeRanks: 4
Targets: [10, 100, 1000]
}
}
Items {
if (typeof window.localStorage == 'undefined' || typeof window.sessionStorage == 'undefined') (function () {
var Storage = function (type) {
function createCookie(name, value, days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires="+date.toGMTString();