RE_SimpleVM

没动力写分析过程,由于是位位计算,还原算法都懒得做,拿出来位位爆破

dst=[0x10,0x18,0x43,0x14,0x15,0x47,0x40,0x17,0x10,0x1D,0x4B,0x12,0x1F,0x49,0x48,0x18,0x53,0x54,0x01,0x57,0x51,0x53,0x05,0x56,0x5A,0x08,0x58,0x5F,0x0A,0x0C,0x58,0x09]
result=[]

def calc(var,index):
    temp3 = var
    temp1 = ~(temp3 & index) & 0xff
    temp2 = ~(temp1 & index) & 0xff
    v14 = ~(temp3 & temp1) & 0xff
    v14 = ~(v14 & temp2) & 0xff
    return v14

for i in range(len(dst)):
    for j in range(0x20,0x7e):
        if calc(j,0x20+i)==dst[i]:
            result.append(j)

print bytearray(result)