Skip to content

Instantly share code, notes, and snippets.

import idaapi
import ida_hexrays
import ida_lines
class MyChoose(idaapi.Choose):
def __init__(self, items, title, cols, icon=-1):
idaapi.Choose.__init__(self, title, cols, flags=idaapi.Choose.CH_MODAL, icon=icon)
self.items = items
def OnClose(self):
@clayne
clayne / github_get_all_forks.sh
Created March 19, 2022 17:45 — forked from joeytwiddle/github_get_all_forks.sh
Add all forks of the current repo as remotes
#!/usr/bin/env bash
set -e
# See also: https://github.com/frost-nzcr4/find_forks (same thing but in python)
origin_url="$(git remote show origin | grep 'Fetch URL:' | sed 's+.*: ++')"
full_repo_name="$(echo "$origin_url" | sed 's+.*github.com/++ ; s+\.git$++')"
forks_url="https://api.github.com/repos/${full_repo_name}/forks"
@joeytwiddle
joeytwiddle / github_get_all_forks.sh
Last active October 13, 2023 20:50
Add all forks of the current repo as remotes
#!/usr/bin/env bash
set -e
# See also: https://github.com/frost-nzcr4/find_forks (same thing but in python)
origin_url="$(git remote show origin | grep 'Fetch URL:' | sed 's+.*: ++')"
full_repo_name="$(echo "$origin_url" | sed 's+.*github.com/++ ; s+\.git$++')"
forks_url="https://api.github.com/repos/${full_repo_name}/forks"
@icecr4ck
icecr4ck / idapython_cheatsheet.md
Last active April 23, 2024 18:45
Cheatsheet for IDAPython
@Ryan-rsm-McKenzie
Ryan-rsm-McKenzie / MyClass.psc
Last active January 15, 2022 02:16
Native SKSE64 Papyrus Interface Implementation
ScriptName MyClass
String Function HelloWorld() Global Native
Int Function Sum(Int a_num1, Int a_num2) Global Native
@aers
aers / count_loaded_refs_in_load_order.pas
Created January 15, 2019 04:40
xedit count loaded refrs in load order
Unit CountLoadedRefs;
Var
giTemporaryCount: Integer;
giPersistentCount: Integer;
giPluginTemporaryCount: Integer;
giPluginPersistentCount: Integer;
Const
gtPersistent = 8;
@keebus
keebus / local_opaque_object.c
Last active March 25, 2022 21:33
Local opaque object in C
// library.h -------------------------------------------------------------------
#define opaque(Type) Type; int $sizeof_##Type(void);
#define opaque_impl(Type) int $sizeof_##Type(void) { return sizeof(Type); }
#define local(Type) ((Type *)alloca($sizeof_##Type()))
// foo.h -----------------------------------------------------------------------
@arnauldvm
arnauldvm / .gitconfig
Last active January 27, 2024 10:00
Git sync all local tracking branches with remotes
[alias]
tracking = "!f() { git for-each-ref --format '%(refname:short):%(upstream:short)' 'refs/heads' | egrep -v ':$'; }; f"
is-clean-workdir = "!f() { git diff --stat --exit-code || { echo \"Workdir dirty\"; exit 1; }; }; f"
is-clean-index = "!f() { git diff --stat --cached --exit-code || { echo \"Index dirty\"; exit 2; }; }; f"
is-clean = "!f() { git is-clean-workdir && git is-clean-index; }; f"
co-merge = "!f() { local=\"$1\"; remote=\"$2\"; git checkout \"$local\"; git merge --ff-only \"$remote\"; }; f"
current-branch = rev-parse --abbrev-ref HEAD
sync = "!f() { git is-clean || { echo Aborting sync.; exit 1; }; current=$(git current-branch); git fetch --all; git tracking | while IFS=: read local remote; do echo \"Merging $local with $remote\"; git co-merge \"$local\" \"$remote\"; done 3>&1 1>&2 2>&3 | egrep -i --color 'fatal|$' 3>&1 1>&2 2>&3; git checkout \"$current\"; }; f"
@reg2k
reg2k / Fallout 4 All Console Commands.txt
Created March 4, 2018 16:29
Dump of all Fallout 4 console commands (with description)
-----------------------------------------------------------------------------------------
ID Full Name Short Name Description
-----------------------------------------------------------------------------------------
256: Show TST Show global scripts and variables.
257: ShowVars SV Show variables on object. You can optionally specified a papyrus variable or script to filter with [player->sv]
258: ShowGlobalVars SGLV Show all global variables.
259: ShowQuestVars SQV Show quest variables. You can optionally specified a papyrus variable or script to filter with [svq QuestID]
260: ShowQuests SQ List quests.
261: ShowQuestAliases Show quest aliases. [ShowQuestAliases QuestID]
262:
@keebus
keebus / cexceptions.md
Last active March 25, 2022 21:32
Exception-like code in C (gcc/clang)

Lightweight exceptions in C (with gcc/clang)

For fun I implemented a lightweight exception mechanism for C that allows writing transactional code. This is what it looks like:

int device_create(device_t **odevice)
{
	throwbase(-1); // makes this function "throwing" with a default return value of -1.

	device_t *device = malloc(sizeof *device);
	check(device);