Some notes, tools, and techniques for reverse engineering macOS binaries.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Installation: Copy hexrays_allthethings.py to the plugins/ directory of IDA, restart IDA | |
# Usage: Edit->Plugins->"Run Hex-Rays decompiler on all functions" or use Ctrl+9 | |
# Tested in IDA 7.6, Python 3 | |
# https://github.com/a0rtega | |
import ida_kernwin, ida_idaapi, ida_auto | |
import tempfile, os | |
class HexRaysAllTheThingsPlugin(ida_idaapi.plugin_t): | |
flags = ida_idaapi.PLUGIN_KEEP |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo apt install dkms linux-headers-generic | |
git clone https://github.com/anbox/anbox-modules | |
cd ./anbox-modules | |
sudo cp anbox.conf /etc/modules-load.d/ | |
sudo cp 99-anbox.rules /lib/udev/rules.d/ | |
sudo cp -rT ashmem /usr/src/anbox-ashmem-1 | |
sudo cp -rT binder /usr/src/anbox-binder-1 | |
sudo dkms install anbox-ashmem/1 | |
sudo dkms install anbox-binder/1 | |
sudo modprobe ashmem_linux |
The free version of Modelsim is a 32-bit binary and therefore requires certain 32-bit libraries in order to work correctly. For Ubunutu, install the following packages
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32ncurses6 libxft2 libxft2:i386 libxext6 libxext6:i386
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Node | |
attr_accessor :symbol, :score, :my_turn, :children, :visited | |
def initialize(symbol, score, my_turn, children) | |
@symbol = symbol | |
@score = score | |
@my_turn = my_turn | |
@children = children | |
@visited = false | |
end |