随笔分类 -  Delphi-System

摘要:function RunDOS(const CommandLine: string): string;var HRead, HWrite: THandle; StartInfo: TStartupInfo; ProceInfo: TProcessInformation; b: Boolean; sa 阅读全文
posted @ 2016-03-17 21:12 findumars 阅读(3598) 评论(0) 推荐(0)
摘要:用过一些日历软件的小伙伴应该都知道它们都实现了在时钟窗口上的Hook,也就是屏蔽了系统原有的功能,实现自己的功能 某日历软件Hook时钟窗口后的效果   经过一番研究,发现原理其实很简单,就是注入DLL到时钟窗口进程(explorer.exe),然后接管窗口处理过程实现自己的功能 第一步是判断当前操 阅读全文
posted @ 2016-03-14 22:55 findumars 阅读(2438) 评论(0) 推荐(0)
摘要:{================================================================= 功 能: 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜单 快捷方式 参 数: FileName : 快捷方式执行文件名 Description : 阅读全文
posted @ 2016-03-05 00:07 findumars 阅读(857) 评论(0) 推荐(0)
摘要:SetConsoleCtrlHandlerGenerateConsoleCtrlEventSetConsoleMode ReadConsole WriteConsole SetConsoleCP SetConsoleOutputCP GetConsoleScreenBufferInfo SetCon 阅读全文
posted @ 2016-03-01 16:49 findumars 阅读(557) 评论(0) 推荐(0)
摘要:DELPHI 通過窗口句柄或窗口标题得到进程句柄2009年05月08日 星期五 10:15procedure TForm1.Button1Click(Sender: TObject);varhWindow: HWND; { 窗体句柄 }dwProcessID: DWORD; { 进程 ID }hPr 阅读全文
posted @ 2016-02-25 19:06 findumars 阅读(620) 评论(0) 推荐(0)
摘要:我发现了一篇发表在1999.11.29 b13版的 《令win32应用程序跳入系统层》东南大学 卢威 luwei@126.com 是用vc++嵌汇编做的, 很接近了,可试试 BCB或DELPHI进入Ring0 东南大学卢威1999.12发表在<<计算机世界>>报上的一篇 <<WIN32跳入系统0层> 阅读全文
posted @ 2016-02-25 19:02 findumars 阅读(597) 评论(0) 推荐(0)
摘要:Delphi是基于PASCAL语言的Windows编程工具,功能十分强大。然而在Delphi的帮助文件中,对Windows API函数的说明沿袭了 VC 的格式,和VC一样,对很多API函数的用法没有举例子详细说明,对一些深入系统内部的API函数更是语焉不详,给编程者带来不便。笔者仅就在Window 阅读全文
posted @ 2016-02-25 18:43 findumars 阅读(3234) 评论(0) 推荐(0)
摘要:核心提示:使用Windows95/NT/98操作系统的用户知道:Windows正常启动后,在电脑屏幕下方出现一块 任务栏。 使用Windows95/NT/98操作系统的用户知道:Windows正常启动后,在电脑屏幕下方出现一块 任务栏。从系统功能角度而言,整个任务栏包括几个不同的子区域,从左至右依次 阅读全文
posted @ 2016-01-17 22:00 findumars 阅读(484) 评论(0) 推荐(0)
摘要:闲着没事,看着任务管理器好玩,查资料先简单实现一下,代码中没有加入获取CPU占用率的代码,这个代码网上很多,只是不喜欢那种写法,这里就不写了。以后继续完善,对于System Process和System的信息还没法获得,那位兄弟知道可以提个醒。代码如下[delphi]view plaincopyun... 阅读全文
posted @ 2015-11-27 23:39 findumars 阅读(789) 评论(0) 推荐(0)
摘要:其中涉及到的一些API,网上均能查到详细的解释,这里不再熬述。源码下载因为是全局钩子,所以要用dll注入。用到的鼠标消息结构如下:[delphi]view plaincopyPMouseHookStruct=^TMouseHookStruct;{$EXTERNALSYMtagMOUSEHOOKSTR... 阅读全文
posted @ 2015-11-27 23:35 findumars 阅读(1819) 评论(0) 推荐(0)
摘要:为了显示效果,在钩子的DLL中我们会获取挂钩函数的窗体句柄,这里的主程序窗体名为"TestMain",通过FindWindow查找。KeyBoardHook.dll代码[delphi]view plaincopylibraryKeyBoardHook;{ImportantnoteaboutDLLme... 阅读全文
posted @ 2015-11-27 23:33 findumars 阅读(2325) 评论(0) 推荐(0)
摘要:道理不多讲,简单说就是将系统API的跳转地址,替换为我们自己写的API的地址,所以要求我们自定义的API函数要和被拦截的API有相同的参数。在用完后,记得恢复。因为要挂全局的钩子,所以Hook的部分,做成DLL。源码下载Hook.DLL主工程文件代码[delphi]view plaincopylib... 阅读全文
posted @ 2015-11-27 23:32 findumars 阅读(2702) 评论(0) 推荐(1)
摘要:我们一般在调用了一些API后都会用GetLastError来获得错误信息,但是信息都是Integer的,我们知道是什么意思么?嘿嘿,是的,有msdn呀,当然还可以用FormatMessage函数来.正好看了下Windows核心编程第一章有个例子,来用Delphi试一下.主要用了FormatMessa... 阅读全文
posted @ 2015-11-26 22:07 findumars 阅读(891) 评论(0) 推荐(0)
摘要:dddd 阅读全文
posted @ 2015-11-26 22:05 findumars 阅读(289) 评论(0) 推荐(0)
摘要:在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?FormatMessage 可以, 但这个函数太复杂了; 可以用 SysErrorMessage 代替它.举例:[Delp... 阅读全文
posted @ 2015-11-26 22:04 findumars 阅读(374) 评论(0) 推荐(0)
摘要:在网上也看到了一些提升进程令牌的函数但都不怎么好用,最后我还是从一个黑客后门程序的源代码中提取出了一个好的提升进程令牌的函数,不敢独享,跟大家分享下.那个后门真的写的很好...Hysia提示你:这个函数用在对付病毒的程序中效果很好,只有提升自身权限才能KILL掉病毒进程我曾写写出来尝试结束Winlo... 阅读全文
posted @ 2015-11-26 21:25 findumars 阅读(2390) 评论(0) 推荐(0)
摘要:function StopTime: integer; //返回没有键盘和鼠标事件的时间var LInput: TLastInputInfo;begin LInput.cbSize := SizeOf(TLastInputInfo); GetLastInputInfo(LInput); Re... 阅读全文
posted @ 2015-11-14 18:37 findumars 阅读(387) 评论(0) 推荐(0)