Follow along for https://medium.com/a-journey-with-go/go-overview-of-the-compiler-4e5a153ca889
Set enviornmental variable for GOSSAFUNC
C:\Go\projects\overview>set GOSSAFUNC=maincls
Contents of overview.go
package main
import idautils | |
import re | |
import struct | |
""" | |
Example 1 | |
.text:3500108D 60 pusha | |
.text:3500108E 66 B8 65 4B mov ax, 4B65h | |
.text:35001092 |
# pip3 install pygore | |
# modified version of code from https://go-re.tk/pygore/ | |
import glob | |
import pygore | |
from hashlib import md5 | |
def go_hash(data): | |
return md5(b','.join(data)).hexdigest() | |
for _file in glob.glob("*"): | |
if _file.endswith(".py") or _file.endswith(".txt"): | |
continue |
""" | |
Author: | |
Alexander Hanel | |
Name: | |
pe_ham_brute.py | |
Purpose: | |
- POC that searches for n-grams and uses them as the XOR key. | |
- Also uses hamming distance to guess key size. Check out cryptopals Challenge 6 | |
for more details https://cryptopals.com/sets/1/challenges/6 | |
Example: |
Follow along for https://medium.com/a-journey-with-go/go-overview-of-the-compiler-4e5a153ca889
Set enviornmental variable for GOSSAFUNC
C:\Go\projects\overview>set GOSSAFUNC=maincls
Contents of overview.go
package main
DEBUG = True | |
def get_basic_block(ea): | |
"""get basic blocks of address""" | |
f = idaapi.get_func(ea) | |
fc = idaapi.FlowChart(f) | |
for block in fc: | |
if block.start_ea <= ea: | |
if block.end_ea > ea: | |
return block.start_ea, block.end_ea |
func_tab = idc.get_name_ea_simple("functab") | |
for ea in idautils.DataRefsTo(func_tab): | |
offset = idc.get_qword(ea) | |
ida_bytes.del_items(offset) | |
ida_auto.auto_wait() | |
idc.create_insn(offset) | |
ida_auto.auto_wait() | |
from idaapi import * | |
import idautils | |
import idc | |
class X64DBG_ADDR_TO_IDA: | |
def __init__(self): | |
self.fileName = ida_kernwin.ask_file(0, "*.*", 'X64DBG Address Exported') | |
self.content = [] | |
self.getFile() | |
self.renameAddr() |
class COFFSYMBOLTABLE(ctypes.Structure): | |
""" | |
Described in [PE-COFF] 5.4. Coff Symbol Table | |
""" | |
_pack_ = 1 | |
_fields_ = [ | |
("zeroes", ctypes.c_uint), ("offset", ctypes.c_uint), ("value", ctypes.c_uint), | |
("section_number", ctypes.c_short), ("type", ctypes.c_ushort), ("storage_class", ctypes.c_ubyte), | |
("number_aux_symbols", ctypes.c_ubyte) | |
] |