From 71266d07c0b818b3e2a55ab5cd8e2d9e13141440 Mon Sep 17 00:00:00 2001 From: Giulio De Pasquale Date: Thu, 18 May 2017 18:28:51 +0200 Subject: [PATCH] Rimossi rol --- assembler/assembler.py | 11 +++-------- vm/vm.cpp | 5 ----- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/assembler/assembler.py b/assembler/assembler.py index 00611e3..b84aaac 100644 --- a/assembler/assembler.py +++ b/assembler/assembler.py @@ -47,11 +47,6 @@ class InvalidValue(AssemblerException): def __init__(self, instruction): super().__init__("Invalid value while assembling: {}".format(instruction)) -rol = lambda val, r_bits, max_bits: \ - (val << r_bits % max_bits) & (2**max_bits - 1) | \ - ((val & (2**max_bits - 1)) >> (max_bits - (r_bits % max_bits))) - - class VMAssembler: def __init__(self, key): @@ -182,17 +177,17 @@ class VMAssembler: def encrypt_ops(self, key): key_ba = bytearray(key, 'utf-8') olds = copy.deepcopy(ops) - + # RC4 KSA! :-P arr = [i for i in range(256)] j = 0 for i in range(len(arr)): j = (j + arr[i] + key_ba[i % len(key)]) % len(arr) arr[i], arr[j] = arr[j], arr[i] - + for i, o in enumerate(ops): o.set_value(arr[i]) - + for o, n in zip(olds, ops): print("{} : {}->{}".format(o.name, hex(o.value), hex(n.value))) diff --git a/vm/vm.cpp b/vm/vm.cpp index 4c3b7d3..ab8de99 100644 --- a/vm/vm.cpp +++ b/vm/vm.cpp @@ -4,11 +4,6 @@ #include "vmas.h" #include -unsigned rol(unsigned x, int L, int N) { - unsigned lsbs = x & ((1 >> L) - 1); - return (x << L) | (lsbs >> (N - L)); -} - void VM::encryptOpcodes(uint8_t *key) { uint8_t arr[256]; uint32_t i, j, tmp, keysize;