-
-
第二题
-
发表于: 2015-1-23 17:27 1826
-
//先解密libcrackme.so的导出函数jolin void decryptJolin(LPCTSTR lpFile) { HANDLE hFile = INVALID_HANDLE_VALUE; HANDLE hMapping = NULL; PBYTE pvFile = NULL; DWORD dwFileSize = 0; DWORD dwFileSizeHigh = 0; hFile = CreateFile(lpFile, GENERIC_ALL, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (hFile == INVALID_HANDLE_VALUE) { return; } do { dwFileSize = GetFileSize(hFile, &dwFileSizeHigh); hMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, NULL); if (hMapping == NULL) { break; } pvFile = (PBYTE)MapViewOfFile(hMapping, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0); if (pvFile == NULL) { break; } if (dwFileSizeHigh != 0) { break; } if (dwFileSize < 8) { break; } PBYTE pBuf = pvFile + 0x1720; PBYTE pKey = pvFile + 0x5004; for (int i= 0; i < 212; i++) { pBuf[i] ^= pKey[i % 108]; } } while (0); if (pvFile != NULL) { UnmapViewOfFile(pvFile); } if (hMapping != NULL) { CloseHandle(hMapping); } if (hFile != INVALID_HANDLE_VALUE) { CloseHandle(hFile); } } int main(int argc, char* argv[]) { decryptJolin("libcrackme.so"); return 0; } //jolin函数功能, 修改off_628C处的字符串(验证码)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
- KCTF2022春季赛 第三题 石像病毒 8877
- KCTF2022春季赛 第二题 末日邀请 16196
- KCTF2021秋季赛 第二题 迷失丛林 18843
- KCTF2020秋季赛 第十题 终焉之战 8897
- KCTF2020秋季赛 第九题 命悬一线 6477
赞赏
雪币:
留言: