找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 621|回复: 6

昭姐每天一练-隐藏 LoadLibrary() 函数

[复制链接]

30

主题

1

回帖

0

积分

版主

积分
0
发表于 2013-6-8 10:19:10 | 显示全部楼层 |阅读模式
  • [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]

0

主题

10

回帖

0

积分

新手上路

积分
0
发表于 2013-8-6 08:43:39 | 显示全部楼层
什么意思?  昭姐,能否添加注释

0

主题

10

回帖

0

积分

新手上路

积分
0
发表于 2013-8-6 08:57:34 | 显示全部楼层
编译报错
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(10) : error C2059: syntax error : &#39;__stdcall&#39;
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(16) : error C2091: function returns function
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(28) : error C2146: syntax error : missing &#39;;&#39; before identifier &#39;_LdrLoadDll&#39;
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(28) : error C2501: &#39;fLdrLoadDll&#39; : missing storage-class or type specifiers
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(28) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

隐藏LoadLibrary函数.exe - 5 error(s), 0 warning(s)

0

主题

10

回帖

0

积分

新手上路

积分
0
发表于 2013-8-6 08:57:59 | 显示全部楼层
编译报错

c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(10) : error C2059: syntax error : &#39;__stdcall&#39;
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(16) : error C2091: function returns function
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(28) : error C2146: syntax error : missing &#39;;&#39; before identifier &#39;_LdrLoadDll&#39;
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(28) : error C2501: &#39;fLdrLoadDll&#39; : missing storage-class or type specifiers
c:\vc每日一练\隐藏loadlibrary函数\隐藏loadlibrary函数.cpp(28) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

隐藏LoadLibrary函数.exe - 5 error(s), 0 warning(s)

0

主题

4

回帖

0

积分

新手上路

积分
0
发表于 2013-8-16 10:44:44 | 显示全部楼层
ntdll.dll中的LdrLoadDll模拟LoadLibrary实现加载dll

0

主题

3

回帖

0

积分

新手上路

积分
0
发表于 2013-10-22 23:58:29 | 显示全部楼层
初来乍到,请多多关照。一一影院  一一影视  yiyi11.cc

0

主题

16

回帖

0

积分

新手上路

积分
0
发表于 2013-11-29 16:07:02 | 显示全部楼层
就像是扔了一堆垃圾代码,爱捡不贱,管你明不明白,就是不注释,你去查吧。:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

果子博客
扫码关注微信公众号

Archiver|手机版|小黑屋|风叶林

GMT+8, 2026-2-1 03:24 , Processed in 0.129366 second(s), 20 queries .

Powered by 风叶林

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表