丟進IDA沼死,F(xiàn)5查看。
發(fā)現(xiàn)關鍵代碼
判斷條件:
*(_BYTE *)(i + a1) + 9 != ((unsigned __int8)((*(_BYTE *)(i + 134520896) & 0xAA) >> 1) | (unsigned __int8)(2 * (*(_BYTE *)(i + 134520896) & 0x55)));
將134520896轉(zhuǎn)換成16進制 狗唉;然后到Hex 窗口找到0x804A040,將這個地址后面的數(shù)據(jù)提取出來叉钥,下面附上C++腳本:
#include <iostream>
using namespace std;
int main()
{
int a[48]={0x8F,0xAA,0x85,0xA0,0x48,0xAC,0x40,0x95,0xB6,0x16,0xBE,0x40,0xB4,0x16,0x97,0xB1,0xBE,0xBC,0x16,0xB1,0xBC,0x16,0x9D,0x95,0xBC,0x41,0x16,0x36,0x42,0x95,0x95,0x16,0x40,0xB1,0xBE,0xB2,0x16,0x36,0x42,0x3D,0x3D,0x49,0x00};
for(int i=0;i<48;i++){
int j=((a[i]&0xAA)>>1)|(2*(a[i]&0x55));
cout<<(char)(j-9);
}
return 0;
}