LaMBdA: Learning-based Deobfuscation of MBA

October 14, 2022 ยท View on GitHub

Mixed boolean arithmetic deobfuscation using graph neural networks.

Usage:

python train.py [-h] [--epochs | -e EPOCHS] [-gpu | -g DEVICE_ID] [--lr LR] [--big | -b] [--res | -r]

python test.py [-h] [--gpu | -g DEVICE_ID]

Example Usage:

python train.py --epochs 420 --gpu 2 --lr 0.0001 --big --res

python test.py --gpu -1

Training Arguments

ArgumentTypeDescription
-h, --helpNoneshows argument help message
-g, --gpuINTspecifies device ID to use. [0, N] for GPU and -1 for CPU (default=-1)
-e, --epochsINTnumber of epochs to train (default=1000000)
-bs, --batch_sizeINTbatch size (default=1)
-lrFLOATlearning rate (default=0.00005)
-b, --bigBOOLenables usage of bigger graphs (default=True)
-r, --resBOOLenables interim result nodes (default=False)

Testing Arguments

ArgumentTypeDescription
-h, --helpNoneshows argument help message
-g, --gpuINTspecifies device ID to use. [0, N] for GPU and -1 for CPU (default=-1)