Skip to content

Instantly share code, notes, and snippets.

@mu-mu-mu
mu-mu-mu / rop_gen.py
Last active August 27, 2021 05:56
BoF -> Stack Pivot -> execve(0xb, "/bin/sh", {"/bin/sh",NULL}) をROPで実現するAEGを作りたかった...
import argparse
import angr #angr8
from angr import sim_options as so
import claripy
import logging
from struct import pack
from pwn import *
import angrop
bin_path = ''
@mu-mu-mu
mu-mu-mu / gist:3df4a55871d849631ef41504527d0add
Created February 21, 2021 16:16
Linux __attribute__ ranking
# Rough Count
# grep --include='*.c' --include='*.h' -r -oP '__attribute__\s*\(\(.+\)\)' ./linux | awk -F'__attribute__\\s*' '{print $2}' | sed 's/^((//' | sed 's/))$//' | sort | uniq -c | sort -nr > res.txt
1817 packed
362 __packed__
199 unused
137 packed, aligned(4)
97 aligned(8)
73 always_inline
71 aligned(32)
@mu-mu-mu
mu-mu-mu / C
Created April 9, 2021 05:34
Demand Paging
#include <iostream>
#include <chrono>
#include <sys/mman.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
using namespace std;
@mu-mu-mu
mu-mu-mu / check.py
Last active August 21, 2021 11:30
[GSoC 2021] Examining the Coccinelle’s Handleability of All Function Headers Found in the Linux Kernel
import glob,pathlib,os,sys,subprocess
files = glob.glob("check/**/*.cocci", recursive=True)
fnum = len(files)
failed = 0
import random
random.shuffle(files)
for f in files:
print(f)
fname_in_linux = f[len("check/"):-len("occi")]
@mu-mu-mu
mu-mu-mu / krpn.c
Created July 18, 2023 18:35 — forked from furandon-pig/krpn.c
逆ポーランド計算機カーネルモジュール(仮)のサンプルコードです。
/*
* krpn.c - 逆ポーランド計算機カーネルモジュール(仮)
*
* ビルド方法:
* * /usr/src/samples/krpn にソースコードを置いてください。
* * 同じディレクトリにKbuildファイルを作成し、以下を記載します。
*
* obj-m := krpn.o
*
* * 以下の手順でビルドします。
@mu-mu-mu
mu-mu-mu / framac_sample.c
Created October 26, 2023 12:13
framac sample
#include <stdio.h>
/*@
requires \forall int i; 0<=i<=9 ==> x[i] == 0 || x[i] == 1;
requires 0 <= offset <= n;
assigns \nothing;
ensures 0 <= offset <= \result <=n;
ensures \result < n ==>