Skip to content

Instantly share code, notes, and snippets.

@jikamens
jikamens / lastpass_brute_force.c
Last active August 29, 2015 13:58
Proof of concept of brute-forcing LastPass passwords
#include <assert.h>
#include <openssl/evp.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
/* Proof of concept for brute-forcing LastPass passwords from the
user's login key (sent at login from client to server) or from the
@jikamens
jikamens / phonepower-usage-cron.sh
Last active August 29, 2015 14:00
Scripts for using Selenium to check your Phone Power international minutes automatically
#!/bin/bash -e
# Cron wrapper script for phonepower-usage.pl.
#
# Copyright (c) 2014 Jonathan Kamens <jik@kamens.us>. You can do
# whatever you want with this script, as long as you give me credit
# and don't make any money from it.
#
# The home page of this script is http://blog.kamens.us/2014/04/20/using-selenium-to-monitor-phone-power-international-call-usage/.
#
Verifying I am +jik on my passcard. https://onename.com/jik
#!/usr/bin/perl
# CGI script for generating an RSS feed of the comment on a Hacker
# News posting.
#
# Copyright (c) 2013 Jonathan Kamens <jik@kamens.us>.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
import gc
import gevent
import greenlet
import multiprocessing
import os
"""
Gevent doesn't cope well with forking. The child process after the
fork ends up with all the same greenlets running as the parent
process, which is almost certainly not what you wanted.
@jikamens
jikamens / encryption.py
Last active August 11, 2017 03:49
Python code for Schematics field encryption / decryption that is compatible with Ruby's mongoid-encrypted-fields + gibberish. The Encryptor object in this gist does encryption / decryption that is compatible with "openssl enc -k *password* -salt -aes-256-cbc". If you want it also to be compatible with mongoid-encrypted-fields, then you need to s…
import binascii
from Crypto.Cipher import AES
from Crypto.Random.random import getrandbits
from hashlib import md5
from schematics.types import StringType
import struct
class DecryptionException(Exception):
pass

Keybase proof

I hereby claim:

  • I am jikamens on github.
  • I am jik (https://keybase.io/jik) on keybase.
  • I have a public key ASD44yzUyutb2s-C6BGHSYGt0BAQ5mglTt9Si89y3HE4PQo

To claim this, I am signing this object:

@jikamens
jikamens / hirsute-510-kernel.sh
Created August 9, 2021 12:58
Script to force Ubuntu 21.04 to use kernel version 5.10
#!/bin/bash -e
# You will probably need to adjust this script if you aren't using
# the generic kernel.
to_install=
to_hold=
pd=/tmp/packages.$$
mkdir $pd