国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

CC斷點檢測

2019-11-14 11:22:53
字體:
來源:轉載
供稿:網友

前言

以前看過CC斷點的檢測原理. 今天做脫殼練習時, 居然看到cm中有一個fnMessageBox函數中進行了CC斷點檢測.

記錄

cm中的實際函數

00FAF476 <fnMessageBoxEx> 55 push ebp00FAF477 8BEC mov ebp, esp00FAF479 51 push ecx00FAF47A 53 push ebx00FAF47B 56 push esi00FAF47C 57 push edi00FAF47D 60 pushad00FAF47E 8B15 7420FE00 mov edx, dWord ptr [FE2074] ; kernel32.7C8092CA00FAF484 83C2 64 add edx, 6400FAF487 FFD2 call edx ; getTickCount, but not used result00FAF489 8B15 3020FE00 mov edx, dword ptr [FE2030] ; USER32.77D5078600FAF48F 83C2 64 add edx, 64 ; MessageBox00FAF492 B9 05000000 mov ecx, 500FAF497 803A CC cmp byte ptr [edx], 0CC00FAF49A 74 10 je short <L_END> ; find CC breakpoint00FAF49C ^ E2 F9 loopd short 00FAF497 ; check cc breakpoint 5 times00FAF49E <L_CALL_ORG_FN> FF75 14 push dword ptr [ebp+14]00FAF4A1 FF75 10 push dword ptr [ebp+10]00FAF4A4 FF75 0C push dword ptr [ebp+C]00FAF4A7 FF75 08 push dword ptr [ebp+8]00FAF4AA FFD2 call edx ; call org MessageBox00FAF4AC <L_END> 8945 FC mov dword ptr [ebp-4], eax ; [ebp - 4] is local value iRc00FAF4AF 61 popad00FAF4B0 8B45 FC mov eax, dword ptr [ebp-4]00FAF4B3 5F pop edi00FAF4B4 5E pop esi00FAF4B5 5B pop ebx00FAF4B6 C9 leave00FAF4B7 C2 1000 retn 10

還原的CC斷點檢測

// CheckCcBp.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <windows.h>#include <stdlib.h>#include <stdio.h>#include <CONIO.H>int __stdcall MessageBoxA_ByAntiDebug( IN HWND hWnd, IN LPCSTR lpText, IN LPCSTR lpCaption, IN UINT uType);typedef int (__stdcall * PFN_MessageBoxA)( IN HWND hWnd, IN LPCSTR lpText, IN LPCSTR lpCaption, IN UINT uType);#define API_INDEX_MessageBox 0#define KEY_dwAryOrgApiAddr 0x64DWORD g_dwAryOrgApiAddr[1] = {0};int main(int argc, char* argv[]){ HMODULE hDll = NULL; PFN_MessageBoxA pfnMessageBox = NULL; // 先保存原始api地址, 這里模擬一下, 不要求和cm中相同 hDll = LoadLibraryA("user32.dll"); g_dwAryOrgApiAddr[API_INDEX_MessageBox] = (DWORD)Get
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延吉市| 肇源县| 陇南市| 阿荣旗| 印江| 陆丰市| 永靖县| 三原县| 包头市| 鄂州市| 黑水县| 陕西省| 沙河市| 贵南县| 曲沃县| 宕昌县| 长泰县| 韩城市| 闻喜县| 巫山县| 丰原市| 仙居县| 广水市| 寻甸| 四子王旗| 大冶市| 宁明县| 调兵山市| 张家港市| 林甸县| 奎屯市| 大英县| 余江县| 南安市| 广西| 怀化市| 桃江县| 陆川县| 景泰县| 古丈县| 光山县|