Skip to content

Instantly share code, notes, and snippets.

View jgru's full-sized avatar

Jan jgru

View GitHub Profile
#!/usr/bin/python3
import sys
import re
import argparse
from http import HTTPStatus
req_pattern = r'\"(GET|POST|PUT|DELETE)\s(.*)\"\s(\d{3})'
ts_pattern = r'\[(.*)\s[-+]\d{4}\]'
<#
.SYNOPSIS
This script creates a .xml-file containing the installed choco packages
with their corresponding version numers
.DESCRIPTION
This script creates a .xml-file containing the installed choco packages,
which can be used to automate the install of these packages in the exact same
version on a different system. (Right now you can get this only by using the
choco GUI-tool)
@jgru
jgru / repnocc.py
Created April 12, 2021 08:13
A tool for manipulation of text files. It replaces the last n occurences of a given character in each line and prints the result on stdout
#!/bin/python3
import sys
import argparse
def repl_stream(inp, n, inchar, outchar):
"""
Replaces n last inchars in io wrapper with outchars
and prints to stdout.
<#
.SYNOPSIS
This script converts multimedia files in a nested directory structure with the help of ffmpeg
.DESCRIPTION
This script converts multimedia files in a nested directory structure with the help of ffmpeg. Note that, ffmpeg has to be inserted in your $PATH.
.PARAMETER InParentDir
Path to the folder containing all files
.PARAMETER OutParentDir
Path to the folder, where the converted files should be stored.
.PARAMETER Suffix
@jgru
jgru / mousejiggler.ino
Last active May 23, 2021 13:26
Mouse jiggler code for a Digispark USB board development board. Tested on an ATtiny85, upload it by using Arduino IDE
// Inspired by: https://blog.jeronimus.net/2019/08/attiny85-mouse.html
#include <DigiMouse.h>
void setup() {
DigiMouse.begin(); //start or reenumerate USB
}
// Moves mouse pointer left and right by 2 px and blinks the LED
@jgru
jgru / mouselogger.c
Last active May 23, 2021 13:52
A simple program to continuously retrieve mouse coordinates with the help of Win32-API and send those via TCP to a specified host.
#include <windows.h>
#include <winuser.h>
#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
/*
* This program records the current cursor position in a given interval and sends
* the retrieved coordinates in a TCP stream to the specified host and port.
* The program utilizes the Win32-API to collect query the cursor position.
@jgru
jgru / cli_template.py
Last active June 5, 2021 14:24
A minimal template for building a CLI, which reads from a positional file-parameter, if such an argument is existent and from stdin otherwise.
#!/usr/bin/python3
import argparse
import sys
"""
This is a minimal template for building a CLI, which reads from a positional file-parameter, if such a argument is
existent and from stdin otherwise.
Usage:
@jgru
jgru / respawn_wnd.c
Last active July 15, 2021 15:12
A helper program based on Win32-API, which respawns a window on each click to test the automatic injection of mouse clicks in a sandbox guest
/*
* The purpose of this Win32 API-program is to test the reconstruction
* of a GUI via virtual machine introspection and to test the
* injection of mouse clicks.
*
* To do this, the program creates a randomly sized window and displays
* it at a random screen location. If the button containing one of the
* specified button labels is clicked, it will immediately respawn
* another randomized instance. This goes onward forever until the
* "Quit"-button is clicked.
@jgru
jgru / Dockerfile
Created August 14, 2021 11:09
Autopsy 4.19.0 in a Docker
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y testdisk wget gnupg
RUN wget -q -O - https://download.bell-sw.com/pki/GPG-KEY-bellsoft | apt-key add -
RUN echo "deb [arch=amd64] https://apt.bell-sw.com/ stable main" > /etc/apt/sources.list.d/bellsoft.list
RUN apt-get update
@jgru
jgru / ida-keybindings-for-ghidra.kbxml
Created October 15, 2021 06:23
IDA Pro Keybindings for Ghidra
<?xml version="1.0" encoding="UTF-8"?>
<CATEGORY NAME="Key Bindings">
<WRAPPED_OPTION NAME="Source Code Lookup (SourceCodeLookupPlugin)" CLASS="ghidra.framework.options.WrappedKeyStroke">
<CLEARED_VALUE />
</WRAPPED_OPTION>
<WRAPPED_OPTION NAME="Remove Stack Depth Change (FunctionPlugin)" CLASS="ghidra.framework.options.WrappedKeyStroke">
<STATE NAME="KeyCode" TYPE="int" VALUE="127" />
<STATE NAME="Modifiers" TYPE="int" VALUE="0" />
</WRAPPED_OPTION>
<WRAPPED_OPTION NAME="Export Program (ExporterPlugin)" CLASS="ghidra.framework.options.WrappedKeyStroke">