|
[讨论]有关内存不释放问题
重点是要和ring3的VirtualAlloc这种内存申请方式区分开来~ |
|
[讨论]有关内存不释放问题
不是释放过程出错,你释放之后,依然是可以访问的,但是所有权没有了,这跟ring3用VirtualAlloc申请内存是不一样的,类似于Heap,不同的是ring3的Heap在释放之后会把数据填充掉而已。在别人申请到这段内存之前,里面的数据应该是不会变的。当别人申请到这段内存之后,如果你还在往里写数据,那就乱了套了。。。 |
|
[讨论]有关内存不释放问题
只释放所有权,但并不清零。。 |
|
为什么驱动要引入lookaside这个概念?
技巧不等于技术,技巧只能零敲碎打,而完整的技术才是构建软件的基石。就比如说,会破解软件的人,不一定会编写软件 |
|
[求助]内核线程入口地址问题
lkd> dt _ETHREAD 85246da0 nt!_ETHREAD +0x000 Tcb : _KTHREAD +0x1c0 CreateTime : _LARGE_INTEGER 0xe815a74`baacaad0 +0x1c0 NestedFaultCount : 0y00 +0x1c0 ApcNeeded : 0y0 +0x1c8 ExitTime : _LARGE_INTEGER 0x85246f68`85246f68 +0x1c8 LpcReplyChain : _LIST_ENTRY [ 0x85246f68 - 0x85246f68 ] +0x1c8 KeyedWaitChain : _LIST_ENTRY [ 0x85246f68 - 0x85246f68 ] +0x1d0 ExitStatus : 0n0 +0x1d0 OfsChain : (null) +0x1d4 PostBlockList : _LIST_ENTRY [ 0x85246f74 - 0x85246f74 ] +0x1dc TerminationPort : (null) +0x1dc ReaperLink : (null) +0x1dc KeyedWaitValue : (null) +0x1e0 ActiveTimerListLock : 0 +0x1e4 ActiveTimerListHead : _LIST_ENTRY [ 0x85246f84 - 0x85246f84 ] +0x1ec Cid : _CLIENT_ID +0x1f4 LpcReplySemaphore : _KSEMAPHORE +0x1f4 KeyedWaitSemaphore : _KSEMAPHORE +0x208 LpcReplyMessage : (null) +0x208 LpcWaitingOnPort : (null) +0x20c ImpersonationInfo : (null) +0x210 IrpList : _LIST_ENTRY [ 0x85246fb0 - 0x85246fb0 ] +0x218 TopLevelIrp : 0 +0x21c DeviceToVerify : (null) +0x220 ThreadsProcess : 0x8aedb420 _EPROCESS [COLOR="Red"][B] +0x224 StartAddress : 0xb585e93d Void[/B][/COLOR] +0x228 Win32StartAddress : (null) +0x228 LpcReceivedMessageId : 0 +0x22c ThreadListEntry : _LIST_ENTRY [ 0x8aedb5b0 - 0x86a6c96c ] +0x234 RundownProtect : _EX_RUNDOWN_REF +0x238 ThreadLock : _EX_PUSH_LOCK +0x23c LpcReplyMessageId : 0 +0x240 ReadClusterSize : 7 +0x244 GrantedAccess : 0x1f03ff +0x248 CrossThreadFlags : 0x10 +0x248 Terminated : 0y0 +0x248 DeadThread : 0y0 +0x248 HideFromDebugger : 0y0 +0x248 ActiveImpersonationInfo : 0y0 +0x248 SystemThread : 0y1 +0x248 HardErrorsAreDisabled : 0y0 +0x248 BreakOnTermination : 0y0 +0x248 SkipCreationMsg : 0y0 +0x248 SkipTerminationMsg : 0y0 +0x24c SameThreadPassiveFlags : 0 +0x24c ActiveExWorker : 0y0 +0x24c ExWorkerCanWaitUser : 0y0 +0x24c MemoryMaker : 0y0 +0x250 SameThreadApcFlags : 0 +0x250 LpcReceivedMsgIdValid : 0y0 +0x250 LpcExitThreadCalled : 0y0 +0x250 AddressSpaceOwner : 0y0 +0x254 ForwardClusterOnly : 0 '' +0x255 DisablePageFaultClustering : 0 '' +0x258 KernelStackReference : 1 |
|
[求助]有没有大牛指点下怎么在内核隐藏R3进程
干嘛非要用进程? |
|
|
|
[求助]x64下,32位程序如何打开System32目录
差点把楼上看成老V。。。 |
|
[求助]x64下,32位程序如何打开System32目录
The following example uses Wow64DisableWow64FsRedirection to disable file system redirection so that a 32-bit application that is running under WOW64 can open the 64-bit version of Notepad.exe in %SystemRoot%\System32 instead of being redirected to the 32-bit version in %SystemRoot%\SysWOW64. #define _WIN32_WINNT 0x0501 #include <Windows.h> PVOID OldValue; HANDLE hFile = INVALID_HANDLE_VALUE; BOOL bRet = [COLOR="Red"][B]Wow64DisableWow64FsRedirection [/B][/COLOR](&OldValue); if (bRet == TRUE) { // Open a file hFile = CreateFile(TEXT("C:\\Windows\\System32\\Notepad.exe"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); // Restore the previous WOW64 file system redirection value. [COLOR="red"][B]Wow64RevertWow64FsRedirection [/B][/COLOR](OldValue); } if( INVALID_HANDLE_VALUE != hFile ) { // Use the file handle } |
|
[求助]请问win32汇编可以用于软件开发吗?
你以为汇编里面真的不需要指针? 只是叫法不一样而已~ 如果C的指针你搞都搞不明白,那你实在难有进步,C的精髓之一就在于指针的使用~ |
|
[求助]请问win32汇编可以用于软件开发吗?
如果想偏向底层开发,又想兼顾效率,用汇编真的不如用C,肺腑之言~ |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值