程式被aspack2.11壓縮過後,它的oep放在壓縮後檔案的倒數第2個
section的第7D-80位元組處(section name通常為.aspack),這4個
位元組被加過密(其實整個section都被加密)。而且每次壓縮的加
密方法都不同。我只找出2種規律,其他的我找不出來,我以
oep=00002DB8為例(它在檔案中是反著放的 B82D0000):
1。xor 這種情況是用某個數分別與oep的4個位元組xor,這時可以看
oep的第1個位元組,因為oep通常為00 ?? ?? ??,就可知道它是與哪
個數xor。如
C0557878,那麼oep的4個位元組就分別與 78 xor。
2。相加 這種情況是用某個數分別與oep的4個位元組相加,同樣要先
看oep的第一個位元組,如果相加的和大於FF,就要減去100。如
68DDB0B0,那麼oep的4個位元組就分別與 B0 相加。(B8+B0=168-100=68)
3。還有一些情況這樣的,不知誰能找出它的演算法(可能還有好幾種)。
7A55836D 4AC58DC2 62505D06 D27821CB B82D0100 828BA10F