Skip to content

Instantly share code, notes, and snippets.

View zcutlip's full-sized avatar

Zachary Cutlip zcutlip

View GitHub Profile
@zcutlip
zcutlip / deletebranch.sh
Last active October 28, 2019 00:09
(Relatively) safely delete a git branch from local and remote
#!/bin/sh
# File: deletebranch.sh
# Author: Zachary Cutlip <uid000@gmail.com>
# Purpose: (Relatively) safely delete specified branch from local and origin in one pass
quit(){
if [ $# -gt 1 ];
then
echo $1
@zcutlip
zcutlip / adding-a-vmware-static-dhcp.md
Created November 8, 2019 23:58
Automatically adding a static DHCP reservation to VMWare's dhcpd.conf and to /etc/hosts
(0) $ python3 -m vmware_static_dhcp.vmware_static_dhcp --help
usage: vmware_static_dhcp.py [-h] --hw-addr HW_ADDR --ip-addr IP_ADDR
                             --hostname HOSTNAME
                             updated_hosts_path updated_dhcpd_conf_path

positional arguments:
  updated_hosts_path    Path to updated hosts file
  updated_dhcpd_conf_path
                        Path to update dhcpd.conf file.
@zcutlip
zcutlip / example.md
Created February 4, 2020 00:34
Using py-object-file to Parse a Mach-O

Using py-object-file to Parse a Mach-O

First, instantiate a Mach object, passing it the path to a mach-o binary:

m = Mach("/usr/lib/libobjc.A.dylib")

The Mach class treats all mach-o binaries as if they're fat binaries with at least once slice. So to work with your mach-o you first have to get its slice, even if it's not a fat binary. You can either to this by architecture name or slice index:

@zcutlip
zcutlip / function_bb.py
Created February 12, 2020 22:12
Ghidra Script to List all Basic Block Addresses for a Function
import os
from ghidra.program.model.block import BasicBlockModel
from ghidra.util.task import ConsoleTaskMonitor
"""
Ghidra script to identify the addresses of all basic blocks within a function
Prompts for name of a function, and name of an output file. Locates all basic block addreses
and writes them to the output file.
"""
@zcutlip
zcutlip / fahmonitor.lua
Created June 14, 2020 17:00
Hammerspoon module to pause/unpause Folding@Home
screenSleep = false
screenSaver = false
screenLock = false
--[[
A module to pause/unpause Folding@Home depending on screensaver, screen lock, and
screen sleep state.
Folding@Home's "only when idle" mode does not pause/unpause the client at obvious times
or for obvious reasons. Instead, This module uses screen state as in indicator that the
user is/isn't interacting with the system.
@zcutlip
zcutlip / lldb-hand-rolled-headers.md
Last active January 25, 2021 13:38
Importing Hand-Rolled C Header Files in LLDB

Importing Hand-Rolled C Header Files in LLDB

Scenario

  • We're debugging a dylib, libhello.dylib
  • The dylib is linked from hello
  • The exported function is helloworld()
  • We do not have source, but have reversed a struct from the library and created a hand-crafted header file

Header File

Date/time: 2021-03-02T18:47:39.428075-08:00
Information source: https://en.wikipedia.org/wiki/List_of_Star_Wars_planets_and_moons
Planets added:
Aleen
Endor (Sanctuary)
Esseles
Jestefad
Sissubo
@zcutlip
zcutlip / ascii_radio.txt
Created June 4, 2021 19:31 — forked from nick3499/ascii_radio.txt
Python 3: Radio Streams VLC: csv.reader(), subprocess.run()
:::::::.. :::. :::::::-. ::: ...
;;;;``;;;; ;;`;; ;;, `';,;;; .;;;;;;;.
[[[,/[[[' ,[[ '[[, `[[ [[[[[,[[ \[[,
$$$$$$c c$$$cc$$$c $$, $$$$$$$$, $$$
888b "88bo,888 888,888_,o8P'888"888,_ _,88P
MMMM "W" YMM ""` MMMMP"` MMM "YMMMMMP"
@zcutlip
zcutlip / swp.json
Last active July 2, 2021 01:01
Star Wars Planets
{
"meta": {
"date": "2021-07-02T01:01:52+00:00",
"url": "https://en.wikipedia.org/wiki/List_of_Star_Wars_planets_and_moons"
},
"planets": {
"Abafar": {
"appearances": [
{
"title": "Star Wars: The Clone Wars",
@zcutlip
zcutlip / CommerceKit.h
Created December 9, 2021 00:35
Working progress on CommerceKit class dumping
/*
./classdump.py ../build/Release/formatType ./CommerceKit.json
*/
@interface CKDialogController : CKServiceInterface
{
}