能力值:
( LV2,RANK:10 )
201 楼
LZ发的真是好东西,经测试能过TP,但不能过完美的PP,用OD一附加就重启
能力值:
( LV4,RANK:50 )
202 楼
路过,来支持一下
能力值:
( LV2,RANK:10 )
203 楼
技术土豪,咱们做朋友吧
能力值:
( LV2,RANK:10 )
204 楼
向汇编哥致敬!!
能力值:
( LV2,RANK:10 )
205 楼
vmware workstation 10 + windows xp sp3亲测开启引擎成功,事实证明vmware workstation 10已经支持虚拟化VT技术.不过我这里使用的时候遇到一个问题,就是我用楼主的引擎附加DXXF的时候,如果先开启引擎再开启游戏,就会出现游戏无限黑屏的现象,此时用OD附加黑屏的游戏能够正常附加并显示模块.如果不开引擎进游戏则不会无限黑屏,但此时再开引擎附加则无法正常附加.而且OD每次退出都会出现3个错误提示框.我是用虚拟机测试,不知道真机会不会这样.
能力值:
( LV11,RANK:180 )
206 楼
真的么? 可以留下个联系方式么? 或者是来张图看看? vmware 10 真的开始支持模拟VT技术了??
能力值:
( LV2,RANK:10 )
207 楼
今晚回到家截图给你看,当然我真机本身是支持VT的,如果真机本来就不支持VT估计也是模拟不出来的
能力值:
( LV2,RANK:10 )
208 楼
能力值:
( LV11,RANK:180 )
209 楼
我最近没有搞dnf的游戏, 不知道有什么更新了.. 但是你这个vmware10 可以开启VT倒是非常的新鲜呢. 我看看能不能开启调试. 如果可以调试vt那就霸气了.
能力值:
( LV2,RANK:10 )
210 楼
过两天拿你的引擎到朋友的真机试试,如果能够正常调试证明是我虚拟机里面的系统有问题,如果还是无限黑屏证明TP针对你的引擎设了什么暗桩.不过怎么样还是先谢谢楼主提供这么好的工具给我们用.
能力值:
( LV2,RANK:10 )
211 楼
我在xp虚拟机中试了下你的od,我在开启了调试引擎后,再在od中打开calc.exe,直接就卡死了,这是怎么回事?
能力值:
( LV2,RANK:10 )
212 楼
的确很牛X.
能力值:
( LV2,RANK:10 )
213 楼
mark,thanks!!!mark,thanks!!!
能力值:
( LV2,RANK:10 )
214 楼
感谢老师的指导
能力值:
( LV2,RANK:10 )
215 楼
霸气师傅,,正在找你就出来了
能力值:
( LV2,RANK:10 )
216 楼
资源我下了,暂时用不到。嘿嘿,高深得不行。
能力值:
( LV2,RANK:10 )
217 楼
大牛,发我个“如果你需要windows xp sp3的系统, 或者win 7 的系统”,谢谢啊,我百度了几个全有问题。。。
beautylife@aliyun.com,谢谢
能力值:
( LV2,RANK:10 )
218 楼
霸气!!这个非常不错!!
能力值:
( LV2,RANK:10 )
219 楼
临时会员,先回复才能发帖,借个地方,顺便问下:我用加密3光盘中的OllyDBG在64位的win8下打开程序(第二章的第一个调试案例),按F9后,提示栏 先显示‘运行’,然后显示终止,而程序界面始终没有出现,我把光盘拷贝到xp虚拟机中做相同的事情,可以正常显示。不知哪位大神指点下,因内存有限,学习阶段不想开虚拟机
能力值:
( LV2,RANK:10 )
220 楼
现在是不是已经不行了?
能力值:
( LV2,RANK:10 )
221 楼
传说中的大神
能力值:
( LV5,RANK:70 )
222 楼
学习~~~
能力值:
( LV2,RANK:10 )
223 楼
mark。感谢lz的分享,又做了一次可耻的伸手党。
能力值:
( LV2,RANK:10 )
224 楼
楼主我在你的工程中,看到这样一段代码,那个NtFlushInstructionCache 可以在用户层调用吗,已包含ntdll.lib
编译通不过,改成FlushInstructionCache,可以通过了,能不能解答一下,这个函数要怎么在用户层调用
BOOL
WINAPI
DbgObjWriteProcessMemory( IN HANDLE hProcess,
IN LPVOID lpBaseAddress,
IN LPCVOID lpBuffer,
IN SIZE_T nSize,
OUT SIZE_T *lpNumberOfBytesWritten )
{
BOOL bRet;
PVOID Base;
NTSTATUS Status;
ULONG OldValue;
SIZE_T RegionSize;
BOOLEAN UnProtect;
WRITE_MEMORY WriteMemory;
/* Set parameters for protect call */
RegionSize = nSize;
Base = lpBaseAddress; /* Check the current status */
Status = DbgObjNtProtectVirtualMemory( hProcess,
&Base,
&RegionSize,
PAGE_EXECUTE_READWRITE,
&OldValue );
if( NT_SUCCESS( Status ) )
{
/* Check if we are unprotecting */
UnProtect = OldValue & ( PAGE_READWRITE |
PAGE_WRITECOPY |
PAGE_EXECUTE_READWRITE |
PAGE_EXECUTE_WRITECOPY ) ? FALSE : TRUE;
if( !UnProtect )
{
/* Set the new protection */
Status = DbgObjNtProtectVirtualMemory( hProcess,
&Base,
&RegionSize,
OldValue,
&OldValue );
WriteMemory.hProcess = hProcess;
WriteMemory.BaseAddress = lpBaseAddress;
WriteMemory.Buffer = ( PVOID )lpBuffer;
WriteMemory.NumberOfBytesToWrite = nSize;
WriteMemory.NumberOfBytesWritten = lpNumberOfBytesWritten;
/* Call the native API */
bRet = DbgObjCall( SC_WRITE_VIRTUAL_MEMORY, &WriteMemory,
sizeof( READ_MEMORY ), &Status, sizeof( NTSTATUS ) );
if( !NT_SUCCESS( Status ) || !bRet )
{
/* We failed */
BaseSetLastNTError( Status );
return FALSE;
}
/* Flush the ITLB */
/*Nt*/FlushInstructionCache( hProcess, lpBaseAddress, nSize );
return TRUE;
}
else
{
/* Check if we were read only */
if( ( OldValue & PAGE_NOACCESS ) || ( OldValue & PAGE_READONLY ) )
{
/* Restore protection and fail */
DbgObjNtProtectVirtualMemory( hProcess,
&Base,
&RegionSize,
OldValue,
&OldValue );
BaseSetLastNTError( STATUS_ACCESS_VIOLATION );
return FALSE;
}
WriteMemory.hProcess = hProcess;
WriteMemory.BaseAddress = lpBaseAddress;
WriteMemory.Buffer = ( PVOID )lpBuffer;
WriteMemory.NumberOfBytesToWrite = nSize;
WriteMemory.NumberOfBytesWritten = lpNumberOfBytesWritten;
/* Call the native API */
bRet = DbgObjCall( SC_WRITE_VIRTUAL_MEMORY, &WriteMemory,
sizeof( READ_MEMORY ), &Status, sizeof( NTSTATUS ) );
/* And restore the protection */
DbgObjNtProtectVirtualMemory( hProcess,
&Base,
&RegionSize,
OldValue,
&OldValue );
if( !NT_SUCCESS( Status ) || !bRet )
{
/* We failed */
BaseSetLastNTError( STATUS_ACCESS_VIOLATION );
return FALSE;
}
/* Flush the ITLB */
/*Nt*/FlushInstructionCache( hProcess, lpBaseAddress, nSize );
return TRUE;
}
}
else
{
/* We failed */
BaseSetLastNTError( Status );
return FALSE;
}
}
能力值:
( LV2,RANK:10 )
225 楼
不知道厉害在哪!看回复,必须叼。