0
我想反編譯python的asm代碼。我遇到以下行在python movsx
movsx eax, byte ptr [edi]
我正在尋找一種方法來做一個字節在Python中籤名擴展。我目前使用bytearray來獲取單個字節。獲得單個字節後,我需要爲每個字節做一個簽名擴展。
我想反編譯python的asm代碼。我遇到以下行在python movsx
movsx eax, byte ptr [edi]
我正在尋找一種方法來做一個字節在Python中籤名擴展。我目前使用bytearray來獲取單個字節。獲得單個字節後,我需要爲每個字節做一個簽名擴展。
我用下面的代碼片段:
# sign extend b low bits in x
# from "Bit Twiddling Hacks"
def SIGNEXT(x, b):
m = 1 << (b - 1)
x = x & ((1 << b) - 1)
return (x^m) - m
在你的情況B將被8.你或許可以預先計算口罩有點加速的。
引用的破解可以找到here。
我認爲有一些信息丟失。 Python沒有大小的整型數據類型,所以你不需要「簽名擴展」。如果對具有sizef整數值的數組使用'array'模塊,那麼在需要時簽名擴展將自動發生。 – 2012-02-24 16:36:12