Skip to content

Instantly share code, notes, and snippets.

@dnet
dnet / ssh-yubisign.py
Created March 13, 2021 22:46
Quick and dirty OpenSSH agent to OpenPGPpy bridge
#!/usr/bin/env python3
import base64
import getpass
import os
import socket
import struct
import sys
import OpenPGPpy # requires https://github.com/dnet/OpenPGPpy/commit/d97a2184a1c1e40599ad1db30b06d33bb7178e59
@dnet
dnet / extract.py
Created August 31, 2016 09:23
Extracting main icon from 64-bit PE (Windows EXE) files in Python 2.x using 7z (p7zip)
#!/usr/bin/env python
import subprocess, tempfile, struct, shutil, os
HDR_FMT = '<hhh'
HDR_LEN = struct.calcsize(HDR_FMT)
def extract_64bit_ico(exefn, icofn):
d = tempfile.mkdtemp()
gis = os.path.join(d, '.rsrc', 'GROUP_ICON')
@dnet
dnet / Decode ARM64 CFString.py
Created February 1, 2016 21:30
ARM64 CFString decoder script for Hopper
import struct, re
doc = Document.getCurrentDocument()
sg = doc.getCurrentSegment()
addr = doc.getCurrentAddress()
i1 = sg.getInstructionAtAddress(addr)
if i1.getInstructionString() == 'adrp':
@dnet
dnet / unzipwrapper.py
Created November 27, 2015 11:52
Partial implementation of the interface provided by zipfile.ZipFile using the unzip command
from subprocess import Popen, PIPE
from tempfile import TemporaryFile
from os import devnull
class ZipFile(object):
def __init__(self, filename):
self.filename = filename
open(filename).close()
def __enter__(self):
@dnet
dnet / gist:9505053
Created March 12, 2014 11:26
Erlang workshop code from 2013-11-21 see http://hsbp.org/erlang#Workshop
-module(teszt).
-export([init/1, handle_call/3, q/1, init/0]).
-behaviour(gen_server).
init() ->
gen_server:start_link(?MODULE, [], []).
q(Pid) -> gen_server:call(Pid, q).
init([]) -> {ok, 0}.
handle_call(q, _, N) -> {reply, N, N + 1}.
@dnet
dnet / gist:8568440
Created January 22, 2014 22:10
Test module created on an Erlang workshop for HSBXL https://hackerspace.be/Erlang-workshop
-module(test).
-export([foo/1, proc/0, price/1]).
-export([init_queue/0, queue_server/1, srv_enqueue/2, srv_dequeue/1]).
%% A function that returns a function, demonstrating that functions are
%% first-class citizens in the Erlang world.
%%
%% Example:
%% > SixMultiplier = test:foo(6).
%% #Fun<test.0.23908741>
@dnet
dnet / searx.erl
Created October 23, 2013 17:14
Searx module for dnet's fork of jimm-erlang-bot
-module(searx).
-export([ircmain/1, ircproc/1, reload/2]).
ircmain(Contact) ->
Pid = spawn(?MODULE, ircproc, [Contact]),
Contact ! {subscribe, Pid},
ssl:start(),
Pid.
reload(Contact, Pid) ->
@dnet
dnet / tickets.erl
Created September 22, 2013 14:11
Ticket number reporter for dnet's fork of jimm-erlang-bot
-module(tickets).
-export([ircmain/1, ircproc/1, reload/2]).
-define(TICKETS_DIR, "path/to/campzer0").
tickets() ->
NumTickets = filelib:fold_files(?TICKETS_DIR,
"\\.json$", false, fun (_, A) -> A + 1 end, 0),
integer_to_list(NumTickets).
@dnet
dnet / mails.sh
Created August 9, 2013 13:18
PGP keysigning e-mail address verification generator
#!/bin/sh
# reads e-mail addresses (one per row) from `mails.txt` and writes
# e-mail bodies into files inside the `mails` directory, putting the
# e-mail address in the filename, with a `.txt` extension -- these
# can be changed below
# author: András Veres-Szentkirályi <[email protected]>
# source code is licensed under MIT, textual content under CC-BY-SA
@dnet
dnet / tweet.erl
Last active December 19, 2015 18:49
Twitter module for Erlang IRC bot
% depends: https://github.com/dnet/erlang-oauth
% depends: https://github.com/talentdeficit/jsx
-module(tweet).
-export([ircmain/1, ircproc/1, reload/2]).
-define(CONSUMER_KEY, "...").
-define(CONSUMER_SECRET, "...").
-define(ACCESS_TOKEN, "...").
-define(TOKEN_SECRET, "...").