有段跟踪的代码,好象是检测调试驱动的,我的OD执行到这里后就OVER了,进程终止了.猜想可能是这样检测OD的.希望能有高手指导修改调试驱动名称,谢谢!
测试样本壳版本 Themida /WL 2.1.0.10
代码如下:
在kernel32.lstrcmpiA函数下断,该函数用于比较调试器驱动名称和系统内驱动名称
00ED5C85 61 popad
00ED5C86 FF95 35E8700B call dword ptr ss:[ebp+B70E835] ; kernel32.lstrcmpiA
00ED5C8C 6A 00 push 0
00ED5C8E 57 push edi
00ED5C8F E8 03000000 call dumped1.00ED5C97
00ED5C94 205F C3 and byte ptr ds:[edi-3D],bl
00ED5C97 5F pop edi
00ED5C98 897C24 04 mov dword ptr ss:[esp+4],edi
00ED5C9C 814424 04 17000000 add dword ptr ss:[esp+4],17
00ED5CA4 47 inc edi
00ED5CA5 57 push edi
00ED5CA6 C3 retn
对比到这里的时候,若调试器驱动名称为"fengyue.sys",则检测到OD调试器,进程终止,无法继续。经分析,该取值来源于注册表。
00ED5C06 6A 00 push 0
00ED5C08 53 push ebx ; dumped1.00EF20EE
ebx=00EF20EE (dumped1.00EF20EE), ASCII "fengyue.sys"
00ED5C09 E8 03000000 call dumped1.00ED5C11
00ED5C0E 205B C3 and byte ptr ds:[ebx-3D],bl
00ED5C11 5B pop ebx
00ED5C12 895C24 04 mov dword ptr ss:[esp+4],ebx
00ED5C16 814424 04 1D000>add dword ptr ss:[esp+4],1D
00ED5C1E 43 inc ebx
00ED5C1F 53 push ebx
00ED5C20 C3 retn
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)