Skip to content

Instantly share code, notes, and snippets.

View synap5e's full-sized avatar

Simon Pinfold synap5e

View GitHub Profile
#!/usr/bin/env python
import sys; sys.path.append("..")
from fireplace.cards.heroes import *
from test_main import prepare_game
IMP_GANG_BOSS = 'BRM_006'
IMP = 'BRM_006t'
class Branch:
def __init__(self, **kwds):
self.__dict__.update(kwds)
def possible_actions(game):
for card_index, card in enumerate(game.current_player.hand):
if card.is_playable() and card.id != WISP: # wisps are the deck filler
if card.has_target():
for target_index, target in enumerate(card.targets):
new_game = copy.deepcopy(game)
import sys; sys.path.append("./fireplace")
from fireplace import utils, cards, targeting
import fireplace
from fireplace.cards import heroes
from fireplace.player import Player
from fireplace.game import BaseGame, GameOver
from fireplace.card import Minion
from fireplace.enums import CardType, GameTag
from collections import defaultdict
#!/usr/bin/env python2
# encoding: utf-8
import sys, time, binascii, struct
import pdb
import scapy.all as scapy
from scapy.all import IP, TCP
from hexdump import hexdump
import hsproto_pb2 as hsproto
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Net;
using System.Reflection;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading;
//--------------------------------------
//--- 010 Editor Binary Template
//
// File: FSB5.bt
// Author: Simon Pinfold
// Purpose: Parses the FSB5 (v0 and v1) audio container.
//--------------------------------------
BitfieldDisablePadding();
void main() {
{{{int z} y} x} a = {x:{y:{z:1}}};
{{{int z} y} x} b = a;
assert a == b;
b.x.y = {z:2};
assert a != b;
b.x.y.z = 1;
assert a == b;
int[][][] p = [[[1, 2], [3, 4]], [[5, 6]], [[7]]];
public void translate(Expr.RecordAccess e, Location target, Context context) {
// Determine the field offset
Type.Record type = (Type.Record) typeOf(e.getSource());
int offset = getFieldOffset(type, e.getName());
// Translate source expression into a temporary stack location. This is
// unfortunately a little inefficient in some cases, as we could
// potentially avoid all memory usage. But, it will do for now!
// Note that 'llocateLocation' modifies the stack pointer so it invalidates
// 'target' if target is stack relative.
sqlite> select address, (select count(*) from crash c2 where c2.campaign_id = 4 and c2.address = c1.address), faulting_instruction from crash c1 where campaign_id = 4 and crash_in_debugger = 1 group by address;
4279108 | 1 | 0x414b44 <DestroyImages+196>: mov rax,QWORD PTR [rbx+0x1568]
4412504 | 140 | 0x435458 <SyncImage+536>: movzx esi,WORD PTR [rcx+rax*8]
4645403 | 7 | 0x46e21b <ReadPCXImage+4267>: mov WORD PTR [r12-0x90],r8w
4649772 | 3 | 0x46f32c <ReadPCXImage+8636>: movzx esi,BYTE PTR [rax-0x1]
4649840 | 21 | 0x46f370 <ReadPCXImage+8704>: or BYTE PTR [rdx],dil
4651389 | 1 | 0x46f97d <ReadPCXImage+10253>: mov BYTE PTR [rbx],bpl
4651411 | 14 | 0x46f993 <ReadPCXImage+10275>: mov WORD PTR [rbx+0x4],r11w
4651615 | 1 | 0x46fa5f <ReadPCXImage+10479>: movzx ebp,BYTE PTR [r8]
4651619 | 1 | 0x46fa63 <ReadPCXImage+10483>: movzx r13d,BYTE PTR [r8+0x1]
@synap5e
synap5e / source_sdk_afl.txt
Created July 26, 2016 19:57
Build vtfdiff with afl-gcc
simon@sol ~/source $ ./steam-runtime-sdk_2013-09-05/setup.sh
======================================
Which architectures would you like to target?
1) i386 (x86 32-bit)
2) amd64 (x64 64-bit)
3) all supported architectures
Default i386:
Set target architecture to: i386
======================================