|
|
- [bgcolor=inherit][bgcolor=inherit]#include <Windows.h>[/bgcolor][bgcolor=inherit] [/bgcolor][/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]typedef[/bgcolor][bgcolor=inherit] [/bgcolor][bgcolor=inherit]struct[/bgcolor][bgcolor=inherit] _UNICODE_STRING { [/bgcolor][bgcolor=inherit]// UNICODE_STRING structure[/bgcolor][bgcolor=inherit] [/bgcolor][/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]USHORT[/bgcolor][bgcolor=inherit] Length; [/bgcolor][/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]USHORT[/bgcolor][bgcolor=inherit] MaximumLength; [/bgcolor][/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]PWSTR[/bgcolor][bgcolor=inherit] Buffer; [/bgcolor][/bgcolor]
- [bgcolor=inherit]} UNICODE_STRING; [/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]typedef[/bgcolor][bgcolor=inherit] UNICODE_STRING *PUNICODE_STRING; [/bgcolor][/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]typedef[/bgcolor][bgcolor=inherit] NTSTATUS (WINAPI *fLdrLoadDll) [/bgcolor][bgcolor=inherit]//LdrLoadDll function prototype[/bgcolor][bgcolor=inherit] [/bgcolor][/bgcolor]
- [bgcolor=inherit]( [/bgcolor]
- [bgcolor=inherit] IN [bgcolor=inherit]PWCHAR[/bgcolor][bgcolor=inherit] PathToFile OPTIONAL, [/bgcolor][/bgcolor]
- [bgcolor=inherit] IN [bgcolor=inherit]ULONG[/bgcolor][bgcolor=inherit] Flags OPTIONAL, [/bgcolor][/bgcolor]
- [bgcolor=inherit] IN PUNICODE_STRING ModuleFileName, [/bgcolor]
- [bgcolor=inherit] OUT [bgcolor=inherit]PHANDLE[/bgcolor][bgcolor=inherit] ModuleHandle [/bgcolor][/bgcolor]
- [bgcolor=inherit] ); [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]typedef[/bgcolor][bgcolor=inherit] [/bgcolor][bgcolor=inherit]VOID[/bgcolor][bgcolor=inherit] (WINAPI *fRtlInitUnicodeString) [/bgcolor][bgcolor=inherit]//RtlInitUnicodeString function prototype[/bgcolor][bgcolor=inherit] [/bgcolor][/bgcolor]
- [bgcolor=inherit]( [/bgcolor]
- [bgcolor=inherit] PUNICODE_STRING DestinationString, [/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]PCWSTR[/bgcolor][bgcolor=inherit] SourceString [/bgcolor][/bgcolor]
- [bgcolor=inherit] ); [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]HMODULE[/bgcolor][bgcolor=inherit] hntdll; [/bgcolor][/bgcolor]
- [bgcolor=inherit]fLdrLoadDll _LdrLoadDll; [/bgcolor]
- [bgcolor=inherit]fRtlInitUnicodeString _RtlInitUnicodeString; [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]HMODULE[/bgcolor][bgcolor=inherit] LoadDll( [/bgcolor][bgcolor=inherit]LPCSTR[/bgcolor][bgcolor=inherit] lpFileName) [/bgcolor][bgcolor=inherit]//Coded by Viotto - http://viotto-security.net[/bgcolor][bgcolor=inherit] [/bgcolor][/bgcolor]
- [bgcolor=inherit]{ [/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]if[/bgcolor][bgcolor=inherit] (hntdll == NULL) { hntdll = GetModuleHandleA([/bgcolor][bgcolor=inherit]"ntdll.dll"[/bgcolor][bgcolor=inherit]); } [/bgcolor][/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]if[/bgcolor][bgcolor=inherit] (_LdrLoadDll == NULL) { _LdrLoadDll = (fLdrLoadDll) GetProcAddress ( hntdll, [/bgcolor][bgcolor=inherit]"LdrLoadDll"[/bgcolor][bgcolor=inherit]); } [/bgcolor][/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]if[/bgcolor][bgcolor=inherit] (_RtlInitUnicodeString == NULL) [/bgcolor][/bgcolor]
- [bgcolor=inherit] { _RtlInitUnicodeString = (fRtlInitUnicodeString) GetProcAddress ( hntdll, [bgcolor=inherit]"RtlInitUnicodeString"[/bgcolor][bgcolor=inherit]); } [/bgcolor][/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]int[/bgcolor][bgcolor=inherit] StrLen = lstrlenA(lpFileName); [/bgcolor][/bgcolor]
- [bgcolor=inherit] BSTR WideStr = SysAllocStringLen(NULL, StrLen); [/bgcolor]
- [bgcolor=inherit] MultiByteToWideChar(CP_ACP, 0, lpFileName, StrLen, WideStr, StrLen); [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] UNICODE_STRING usDllName; [/bgcolor]
- [bgcolor=inherit] _RtlInitUnicodeString(&usDllName, WideStr); [/bgcolor]
- [bgcolor=inherit] SysFreeString(WideStr); [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]HANDLE[/bgcolor][bgcolor=inherit] DllHandle; [/bgcolor][/bgcolor]
- [bgcolor=inherit] _LdrLoadDll(0, 0, &usDllName, &DllHandle); [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]return[/bgcolor][bgcolor=inherit] ([/bgcolor][bgcolor=inherit]HMODULE[/bgcolor][bgcolor=inherit])DllHandle; [/bgcolor][/bgcolor]
- [bgcolor=inherit]} [/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]typedef[/bgcolor][bgcolor=inherit] [/bgcolor][bgcolor=inherit]void[/bgcolor][bgcolor=inherit] (* _u)(); [/bgcolor][/bgcolor]
- [bgcolor=inherit] [/bgcolor]
- [bgcolor=inherit][bgcolor=inherit]int[/bgcolor][bgcolor=inherit] main() [/bgcolor][/bgcolor]
- [bgcolor=inherit]{ [/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]HMODULE[/bgcolor][bgcolor=inherit] hMydll = LoadDll([/bgcolor][bgcolor=inherit]"C:\\ww.dll"[/bgcolor][bgcolor=inherit]); [/bgcolor][/bgcolor]
- [bgcolor=inherit] _u ss = (_u)GetProcAddress(hMydll,[bgcolor=inherit]"tt"[/bgcolor][bgcolor=inherit]); [/bgcolor][/bgcolor]
- [bgcolor=inherit] ss(); [/bgcolor]
- [bgcolor=inherit] [bgcolor=inherit]return[/bgcolor][bgcolor=inherit] 0; [/bgcolor][/bgcolor]
- [bgcolor=inherit]} [/bgcolor]
|
|