Skip to content

Instantly share code, notes, and snippets.

View playday3008's full-sized avatar
🦄

PlayDay playday3008

🦄
View GitHub Profile
@playday3008
playday3008 / README.md
Last active June 30, 2021 13:36
rEFInd best configuration for dualboot Ubuntu 20.04 (kernel/GRUB) and Windows 10

You need to replace volume token with your PARTUUID

  • Use this command to find PARTUUID blkid -s PARTUUID -o value /dev/sdXY Where sdXX is your partition where located efi/kernel file

  • Replace here, here, and here

You need to replace "options" token with your options located in /boot/grub/grub.cfg

@playday3008
playday3008 / PRNG-Speedtest.cpp
Last active June 5, 2021 16:04
Speedtest all (I hope) PRNG (Pseudorandom number generator) on C++
#include <algorithm>
#include <chrono>
#include <iostream>
#include <random>
#include <sstream>
auto rand_st(unsigned long long length)
{
std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now();
while (length != 0) {
@playday3008
playday3008 / defer.hpp
Last active December 1, 2024 23:57
Defer in C++ (Requires C++20)
#pragma once
#include <type_traits>
template <typename Func>
requires std::is_nothrow_invocable_v<Func>
struct DeferAction {
explicit DeferAction(Func a) : act{a} {}
~DeferAction() { act(); }
// Disallow copy and move
@playday3008
playday3008 / enum_dll_export_ce.lua
Last active May 13, 2024 19:37
Enumerate exports for specified dll using CheatEngine
---@diagnostic disable: undefined-global
resetLuaState()
-- Get the address of a module in the process memory
local base_addr = getAddressSafe("[DLL-NAME-HERE].dll")
if base_addr == nil or process == nil then
print("Module not found")
return
end
@playday3008
playday3008 / ProfileOptions.pat
Created July 27, 2024 17:07
ProfileOptions file pattern using ImHex (FBCHUNKS)
#include <type/magic.pat>
#include <std/io.pat>
#include <std/hash.pat>
#include <std/sys.pat>
#include <std/mem.pat>
#pragma loop_limit 131072
#define CRC32POLY_ZIP 0xEDB88320
@playday3008
playday3008 / _README.md
Last active March 9, 2026 02:46
PBP-files pattern for ImHex, supports: EBOOT, PBOOT, PARAM, and maybe more

PlayStation Boot Package (PBP) in ImHex

image

Any suggestions on improvement are welcome

# Create label and assign type from address array
# @author PlayDay (@playday3008)
# @category Analysis
# @runtime PyGhidra
from ghidra.program.model.symbol import SourceType
from ghidra.program.model.data import DataTypeManager, Undefined
from ghidra.util.data import DataTypeParser
from ghidra.util.data.DataTypeParser import AllowedDataTypes
from ghidra.app.services import DataTypeManagerService
#!/usr/bin/env python3
"""
QCDT (Qualcomm Device Tree) Patcher
Decompresses LZ4 QCDT files, patches header structure, and saves modified data.
Basically:
1. Read LZ4 compressed QCDT
2. Decompress
3. Parse header
4. Check if extended
@playday3008
playday3008 / lutris_api_fetch_all.py
Last active July 24, 2025 23:37
Lutris API Stuff
from __future__ import annotations
from datetime import datetime
from typing import Optional, Any, cast
from enum import Enum
import sys
import requests
import math
import time
from concurrent.futures import ThreadPoolExecutor, as_completed
@playday3008
playday3008 / google_photos.py
Last active August 25, 2025 14:10
Google Takeout postprocess
from dataclasses import dataclass
from typing import Optional, Any
from datetime import datetime
from pathlib import Path
from glob import glob
import os
import json
import re
from pydantic import BaseModel