天天看點

某密手遊保護簡略

簡單分析了下某密針對手遊推出的保護功能,看看強度如何。

功能測試:

簡單測試了下,這款遊戲是U3D的,對DLL做了靜态加密,對常見的修改器、加速器做了檢測,有多程序保護阻止了暫停、調試等功能。

詳細分析:

DLL加密

關鍵DLL做了整體加密,在動态運作時進行解密,但是加密的強度真的需要吐槽下,并且沒有對mono動态庫做任何處理,導緻很容易找到解密代碼,而且加密的算法一眼看出來就是差不多位元組映射查表就能解決了,果然找到了解密表,解密算法:

某密手遊保護簡略

解密表

0xD0, 0xB6, 0xC5, 0x56, 0x7F, 0xD6, 0x51, 0x7D, 0x91, 0xAD, 0xFA, 0x3F, 0x6A, 0x4C, 0x9B, 0x0B,

0xEF, 0x16, 0x24, 0x20, 0x4E, 0x71, 0x36, 0x79, 0x84, 0xA1, 0x3E, 0x8B, 0xE2, 0xBC, 0x35, 0x92,

0xE8, 0x6F, 0xC0, 0x1C, 0xF2, 0x62, 0x21, 0xF0, 0xBA, 0xD2, 0xA0, 0xE3, 0x8F, 0x89, 0xEC, 0x6D,

0xD8, 0x33, 0x40, 0x64, 0x04, 0x1F, 0x0A, 0x4D, 0x38, 0x78, 0x14, 0x4B, 0xF6, 0xC6, 0x2A, 0x5D,

0xC3, 0xE0, 0x54, 0xBE, 0x29, 0xFC, 0xCE, 0xFE, 0x05, 0xC7, 0xEE, 0x6B, 0x63, 0xD1, 0x70, 0x7B,

0xDE, 0x31, 0xD7, 0x01, 0x2F, 0x3D, 0x45, 0x76, 0xB8, 0x0F, 0xDB, 0x5F, 0xE6, 0xCA, 0x06, 0x8A,

0x26, 0x55, 0x73, 0x22, 0xAF, 0x1D, 0x37, 0x0C, 0xC9, 0x83, 0x9E, 0x8C, 0x41, 0x5E, 0x69, 0x95,

0xDC, 0xD5, 0x58, 0x5C, 0x32, 0x50, 0xE1, 0x98, 0x15, 0x0E, 0x65, 0x46, 0x5A, 0x07, 0x57, 0x9F,

0xA6, 0x99, 0xA9, 0x19, 0xBF, 0x1A, 0xFB, 0xEA, 0x34, 0x08, 0x13, 0xFF, 0x12, 0xBB, 0x0D, 0x2E,

0x86, 0xF8, 0x49, 0x74, 0x4A, 0xA7, 0x48, 0x81, 0x2D, 0x25, 0xDA, 0x88, 0x9A, 0x60, 0xE9, 0xC8,

0xD9, 0x00, 0xB3, 0xCF, 0xB0, 0x42, 0x18, 0x77, 0x66, 0xEB, 0x8E, 0x94, 0xAA, 0xB7, 0xA2, 0x97,

0xA4, 0xDD, 0x9C, 0x7C, 0x6C, 0x39, 0xF5, 0x90, 0x7E, 0x7A, 0x47, 0xAE, 0x2C, 0xE7, 0xFD, 0x75,

0xF9, 0x3B, 0xF4, 0xF7, 0x85, 0x59, 0x11, 0xA8, 0xA5, 0xB1, 0xDF, 0x61, 0xC4, 0x1B, 0xED, 0x23,

0x68, 0x52, 0xAB, 0x9D, 0xAC, 0x87, 0x72, 0x09, 0x3A, 0x5B, 0xCB, 0x6E, 0x03, 0xBD, 0x10, 0xB9,

0x53, 0x3C, 0xB5, 0x17, 0x44, 0xE5, 0xF3, 0x30, 0xC1, 0x27, 0x43, 0x4F, 0xF1, 0x8D, 0xD3, 0x93,

0x28, 0xB2, 0x1E, 0x2B, 0xCD, 0xB4, 0xD4, 0xC2, 0x96, 0xA3, 0xCC, 0xE4, 0x67, 0x80, 0x02, 0x82,

0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x69, 0x62, 0x6D, 0x6F, 0x6E, 0x6F, 0x2E,

0x73, 0x6F, 0x00, 0x00

多程序保護

多程序的思路感覺和某訊的差不多(估計copy的),主要執行了一個可執行檔案,讀取相關字段做反調試檢測以及針對暫停程序進行反暫停,這部分其實可以用信号解決。

總的來說對于某些操作未必能防得住,功能涵蓋面還行,自身保護的太少太差。