Skip to content

Instantly share code, notes, and snippets.

View Andoryuuta's full-sized avatar
🛶
Canoeing across the atlantic

Andoryuuta

🛶
Canoeing across the atlantic
View GitHub Profile
// Launch WinAFL with current function as hook location
//@author richinseattle
//@category _NEW_
//@keybinding
//@menupath
//@toolbar
// Usage:
// Install DynamoRIO and WinAFL
// Add LaunchWinAFL to Ghidra scripts
@Andoryuuta
Andoryuuta / cwb_enum_ref.cpp
Created September 20, 2019 06:22
A dump of some Cube World Beta (0.9.1-0) std::map's.
std::map<uint32_t, std::string> EntityTypeID = {
{-100000, "Ghost"},
{-99999, "Knight"},
{-99998, "Druid"},
{-99997, "Demon"},
{-99996, "SteelEmpireForce"},
{-99995, "CultOfDoomAdherer"},
{-99994, "UnholyPactFollower"},
{-99993, "Bandit"},
{-99992, "Assassin"},
@Andoryuuta
Andoryuuta / cwb_taming.csv
Created September 20, 2019 07:01
A taming table for Cube World Beta (0.9.1-0)
ID Creature TamingItem
0 ElfMale Bait (0 AKA non-tameable)
1 ElfFemale Bait (1 AKA non-tameable)
2 HumanMale Bait (2 AKA non-tameable)
3 HumanFemale Bait (3 AKA non-tameable)
4 GoblinMale Bait (4 AKA non-tameable)
5 GoblinFemale Bait (5 AKA non-tameable)
6 Bullterrier Bait (6 AKA non-tameable)
7 LizardmanMale Bait (7 AKA non-tameable)
8 LizardmanFemale Bait (8 AKA non-tameable)
@Andoryuuta
Andoryuuta / gist:dd694b2e2c96a3e2e082f286f7ccf3f5
Created September 20, 2019 15:29
CWB (0.9.1-0) EntityID enum.
enum EntityID : __int64
{
EntityID_Ghost = 0xFFFE7960,
EntityID_Knight = 0xFFFE7961,
EntityID_Druid = 0xFFFE7962,
EntityID_Demon = 0xFFFE7963,
EntityID_SteelEmpireForce = 0xFFFE7964,
EntityID_CultOfDoomAdherer = 0xFFFE7965,
EntityID_UnholyPactFollower = 0xFFFE7966,
EntityID_Bandit_0xFFFE7967 = 0xFFFE7967,
Client Receive opcodes:
0x0 -- Invitation
uint32 opcode;
uint32 version; // 91005 for 0.9.1-5
0x2 -- Server is closing connection.
uint32 opcode;
<No data>
0x3 -- Creature Update:
@Andoryuuta
Andoryuuta / cwb_markers.py
Created September 27, 2019 00:45
cwb_markers.py v0.1.0
import idautils
import idc
import ida_bytes
from pprint import pprint, pformat
def demangle_name(name):
return idc.Demangle(name, idc.GetLongPrm(idc.INF_SHORT_DN)) or name
def get_primary_vtables():
@Andoryuuta
Andoryuuta / cwb_markers.py
Created September 27, 2019 02:21
cwb_markers.py v0.2.0
import idautils
import idc
import ida_bytes
from pprint import pprint, pformat
def demangle_name(name):
return idc.Demangle(name, idc.GetLongPrm(idc.INF_SHORT_DN)) or name
def get_primary_vtables():
@Andoryuuta
Andoryuuta / cwb_markers.py
Created September 27, 2019 07:19
cwb_markers.py v0.3.0
import idautils
import idc
import ida_bytes
from pprint import pprint, pformat
def demangle_name(name):
return idc.Demangle(name, idc.GetLongPrm(idc.INF_SHORT_DN)) or name
def get_primary_vtables():
struct ISteamNetworking005
{
__int64 SendP2PPacket;
__int64 IsP2PPacketAvailable;
__int64 ReadP2PPacket;
__int64 AcceptP2PSessionWithUser;
__int64 CloseP2PSessionWithUser;
__int64 CloseP2PChannelWithUser;
__int64 GetP2PSessionState;
__int64 AllowP2PPacketRelay;
import struct
import sys
with open('interface.plx', 'rb') as ifx:
version = struct.unpack('<I', ifx.read(4))[0]
if version != 1:
sys.exit(1)
ifx.read(4*3) # Read into the same variable and then ignored.