Skip to content

Instantly share code, notes, and snippets.

@dnet
dnet / ssh-yubisign.py
Created Mar 13, 2021
Quick and dirty OpenSSH agent to OpenPGPpy bridge
View ssh-yubisign.py
#!/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 Aug 31, 2016
Extracting main icon from 64-bit PE (Windows EXE) files in Python 2.x using 7z (p7zip)
View extract.py
#!/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 Feb 1, 2016
ARM64 CFString decoder script for Hopper
View Decode ARM64 CFString.py
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 Nov 27, 2015
Partial implementation of the interface provided by zipfile.ZipFile using the unzip command
View unzipwrapper.py
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 Mar 12, 2014
Erlang workshop code from 2013-11-21 see http://hsbp.org/erlang#Workshop
View gist:9505053
-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 Jan 22, 2014
Test module created on an Erlang workshop for HSBXL https://hackerspace.be/Erlang-workshop
View gist:8568440
-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 Oct 23, 2013
Searx module for dnet's fork of jimm-erlang-bot
View searx.erl
-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 Sep 22, 2013
Ticket number reporter for dnet's fork of jimm-erlang-bot
View tickets.erl
-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 Aug 9, 2013
PGP keysigning e-mail address verification generator
View mails.sh
#!/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 <vsza@vsza.hu>
# source code is licensed under MIT, textual content under CC-BY-SA
@dnet
dnet / tweet.erl
Last active Dec 19, 2015
Twitter module for Erlang IRC bot
View tweet.erl
% 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, "...").