首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

windows10 记事本进程 键盘消息钩子 dll注入

二、CPP编写 1、打开VS新建一个名为CPPWin 32控制台应用程序: 2、之后设置都是默认(之前写dll选了空项目,写cpp就不用了)。 3、4、5、全部参考第一部分。...6、在源文件目录下CPP.cpp文件添加代码: #include "stdafx.h" #include "windows.h" #include "Psapi.h" //连接了库后引用头文件,EnumProcesses...()函数是输入进程名,返回进程id DoInject()函数是执行注入过程,需要知道被注入线程id EnumWindowsProc()函数是回调函数,对于每个已存在窗口,判断其进程id是否与目标进程...id,但是一个记事本进程有很多子线程,我不知道是否都要注入还是只要注入一个,而且列出所有子线程那个方法我没弄懂,于是没这么做; 思路2:找到找到记事本进程id,枚举当前所有窗口参看窗口进程id以及线程...id,对比记事本进程id,相同的话就锁定了记事本窗口所在线程id; 思路3:其实最开始我们源头就是记事本进程名notepad.exe,我们有没有办法绕过进程id,找到线程id呢,FindWindow

1.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linux下so动态库一些不为人知秘密

看看,虽然没有用到,但是一样有链接进来,那看看程序启动时候有没有去加载它们呢? ? 看,有加载!!! 所以必定会影响进程启动速度,所以我们最后不要把无用so编译进来,这里会有什么影响呢?...所以我们不能像上面那样,把一些毫无意义so链接进来,浪费资源。但是开发人员写makefile 一般有没有那么细心,图省事方便,那么有什么好办法呢。继续看下去,下面会给你解决方法。...呵呵,办法很简单省事吧,本文主要讲so依赖一些问题,下面将介绍so路径方面一些不为人知小秘密。 库路径不为人知小秘密 我们知道Linux链接so有两种途径:显示和隐式。...其次,使用dlopen打开so并不是在进程启动时候加载映射,而是当进程运行到调用dlopen代码地方才加载该so,也就是说,如果每个进程显示链接a.so;但是如果发布该程序时候忘记附带发布该a.so...下面举个工作中最常碰到问题,来引申出本篇内容吧。 写一个最简单so, tmp.cpp ? 编译=>链接=>运行,下面指令中main.cpp请参见前文。

4K20

(修订)斩获腾讯微信后台开发offer大神近1.5W字面试干货分享

析构器其实是一个仿函数,然后可以自己想办法去实现一下function,any之类模板类 CPP四种类型转换: http://www.cplusplus.com/doc/tutorial/typecasting...》,以及清楚它们作用与优缺点,当然还是推荐去阅读一下IPClinux内核源码 如何实现linux高并发,线程池思想:github上有好多好多线程库,抓一个下来自己读一读,代码量不是很大,很推荐自己动手写一写...后台CPP,以前还花了很长时间去学习windows编程,虽然学习了一点东西,但是对我发展并没有多大帮助而且真的很浪费时间,因为我把它当成主线来认真学习了…就算是这样,以后还是接触linux,windows...…模板编程几个重要细节列出来:函数模板--显式实例化、特例化,类模板--显式实例化、全特化、局部特例化,模板容易出现问题见《Effective CPP》条款43:学习处理模板化基类内名称以及条款46...…看别人hr都有问户籍啊有没有女朋友之类,可是为什么不问问我有没有女朋友???

1.8K40

利用白加黑静态逃逸杀软

exe压根不会校验自己dll有没有篡改,just load。...,我们具备白签名文件是32位,dll也得是32位 有些不同版本编译器似乎无法正确解析__asm jmp汇编代码,可以直接批量//注释掉不影响运行 cpp17和cpp20标准编译可能有无法预测行为会导致编译失败...,可以愉快测试上线了,然而我x32dbg调了一天发现shellcode明明已经就位,每个环节也没有任何windows errors code返回,还是不上线,这是怎么回事?...简单解决办法是直接拉起一个32位进程,每次根据情况来调整这个参数: auto [PId, hProcess, hThread] = CreateProcessAndStop("C:\\Program...说到这里就不得不提一下基于LLVM混淆了,大部分杀毒特征码容易出现在循环和独有的字符串上,于是有大佬就在底层上patch了llvm底层编译状态,使得简单控制流都变得非常复杂: 图来自github

29710

【送书】帮你成为 CC++ 技术栈熟练工

严格来说,这点已经包括在第三点之中了,我之所以将其单独列出来,是因为多线程编程是我们做应用服务最常用技术之一。...无论是 Windows 还是 Linux 操作系统,操作系统提供线程同步对象就那么几种,Windows 常用有临界区(关键端)、Event、互斥体、信号量等,Linux 有互斥体、信号量、读写锁、条件变量...我推荐一种方式是,使用 gdb 或者 Visual Studio 调试器将你需要学习多线程程序中断下来,在多线程面板,看看这个进程一共有多少个正在运行线程,分析每个线程作用,然后研究下这些线程在何时何地创建...▲打开公众号回复『 cpp 』参与抽奖 ▲打开公众号回复『 cpp 』参与抽奖 ▲打开公众号回复『 cpp 』参与抽奖 ▲打开公众号回复『 cpp 』参与抽奖 ▲打开公众号回复『 cpp 』参与抽奖 《...本书最大特点就是用了非常细粒度示例,娓娓道来,解释清楚各个技术原理,详述哪些是重点和难点,且这些示例都来自实际开发。

26910

C++基础语法梳理:Windows 动态链接库

动态链接库(Dynamic-Link Library) 部分知识点来自Windows 核心编程(第五版)》 用处 (1)扩展了应用程序特性 (2)简化了项目管理 (3)有助于节省内存 (4...、变量(避免导出)、C++ 类(导出导入需要同编译器,否则避免导出) (5)DLL 模块:cpp 文件中 __declspec(dllexport) 写在 include 头文件之前 (6)调用 DLL...可执行模块:cpp 文件 __declspec(dllimport) 之前不应该定义 MYLIBAPI 加载 Windows 程序搜索顺序 1、包含可执行文件目录 2、Windows 系统目录...得到 5、进程的当前目录 6、PATH 环境变量中所列出目录 DLL 入口函数 DllMain 函数 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason...DLL 源文件 // MyLibFile1.cpp // 包含标准Windows和C运行时头文件 #include // DLL源码文件导出函数和变量 #define MYLIBAPI

1.1K00

cacls.exe「建议收藏」

xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行)怎么解决、 很简单解决方法 cmd 权限问题 cacls.exe C:\WINdows\system32\cmd.exe.../t /g system:F 处理文件: C:\WINdows\system32\cmd.exe 处理文件: C:\WINdows\system32\dllcache\cmd.exe cacls.exe...  cacls.exe – cacls – 进程信息进程文件:cacls.exe   进程名称:Control ACLs Program   描述:cacls.exe是显示或者修改文件访问控制表...出品者:Microsoft Corporation   属于:Microsoft(R) Windows(R) Operating System   系统进程:否   后台程序:否   使用网络...点击“开始→运行”,在运行对话框中输入“CMD”命令,弹出命令提示符对话框,在“E:\>”提示符下输入“Cacls CCE”命令,接着就会列出Windows XP系统中用户组和用户对CCE目录访问控制权限项目

46710

服务器被人攻击之后 怎么查询和防范 原

是否有应急处理方案,在不影响网站访问情况下,很多客户出现以上攻击情况时候,找到我们SINE安全来处理解决服务器被攻击问题,我们sine安全工程师总结了一套自有的办法,分享给大家,希望大家能在第一时间解决掉服务器被黑问题...首先我们应该从以下方面入手: 检查服务器进程是不是有恶意进程,以及管理员账号是否被恶意增加,对服务器端口进行查看,有没有开启多余端口,再一个对服务器登陆日志进行检查,服务器默认开启启动项,服务以及计划任务...打开服务器,在cmd命令下输入tasklis,或者是右键任务管理器来进行查看进程,点显示所有用户进程就可以,我们综合分析,根据这个内存使用较大,CPU占用较多来初步看下,哪些进程在不停使用,就能大概判断出有没有异常进程...接下来就是查看系统是否存在其他恶意管理员账号,cmd命令下输入net user就会列出当前服务器里所有账号,也可以通过注册表去查看管理员账号是否被增加,注册表这里是需要在命令中输入egedit来打开注册表...每个客户服务器安装环境不一样,以及代码如何编写,根据实际情况来排查解决问题。

2.5K10

服务器被攻击该怎么办 如何加强安全防护

是否有应急处理方案,在不影响网站访问情况下,很多客户出现以上攻击情况时候,找到我们SINE安全来处理解决服务器被攻击问题,我们sine安全工程师总结了一套自有的办法,分享给大家,希望大家能在第一时间解决掉服务器被黑问题...首先我们应该从以下方面入手: 检查服务器进程是不是有恶意进程,以及管理员账号是否被恶意增加,对服务器端口进行查看,有没有开启多余端口,再一个对服务器登陆日志进行检查,服务器默认开启启动项,服务以及计划任务...打开服务器,在cmd命令下输入tasklis,或者是右键任务管理器来进行查看进程,点显示所有用户进程就可以,我们综合分析,根据这个内存使用较大,CPU占用较多来初步看下,哪些进程在不停使用,就能大概判断出有没有异常进程...截图如下: 接下来就是查看系统是否存在其他恶意管理员账号,cmd命令下输入net user就会列出当前服务器里所有账号,也可以通过注册表去查看管理员账号是否被增加,注册表这里是需要在命令中输入egedit...每个客户服务器安装环境不一样,以及代码如何编写,根据实际情况来排查解决问题。

2.5K20

详解反调试技术

通常,防止恶意代码使用API进行反调试最简单办法是在恶意代码运行期间修改恶意代码,使其不能调用探测调试器API函数,或者修改这些API函数返回值,确保恶意代码执行合适路径。...2.手动检测数据结构 虽然使用Windows API是探测调试器存在最简单办法,但手动检查数据结构是恶意代码编写者最常使用办法。...2.1检测BeingDebugged属性 Windows操作系统维护着每个正在运行进程PEB结构,它包含与这个进程相关所有用户态参数。...数组中每个结构目录都指明了目录相对虚拟地址和大小。DataDirectory数组大小被设置为IMAGE_NUMBEROF_DIRECTORY_ENTRIES,它等于0x10。...另一种PE头欺骗与节头部有关。文件内容中包含节包括代码节、数据节、资源节,以及一些其他信息节。每个节都拥有一个IMAGE_SECTION_HEADER结构头部。 ?

2.1K40

Linux安全应急--排查思路及命令

---- 现场环境 ---- 如果是Linux系统的话,见过最多是CentOS 6,Linux是全命令界面的, 如果是Windows系统的话,一般是Windows server 2008 ----...查看当前系统进程信息(ps) ps命令:可以查看进程瞬间信息。 常用参数: -a:显示现行终端机下所有程序,包括其他用户程序。 -e:列出程序时,显示每个程序所使用环境变量。...列出本机所有的连接和监听端口,查看有没有非法连接(netstat) netstat 命令用来打印Linux中网络系统状态信息。 常用参数: -a或–all:显示所有连线中Socket。...常用参数: -g:列出GID号进程详情; -d:列出占用该文件号进程; -i:列出符合条件进程。...(4、6、协议、:端口、 @ip ) -p:列出指定进程号所打开文件; -u:列出UID号进程详情; ---- 命令: lsof -i :22 # 看看谁在使用22端口 ?

3K50

Linux故障排查思路及常用命令

现场环境 如果是Linux系统的话,见过最多是CentOS ,Linux是全命令界面的, 如果是Windows系统的话,一般是Windows server 常见应急问题 大多数应急常见问题都是挖矿,...查看当前系统进程信息(ps) ps命令:可以查看进程瞬间信息。 常用参数: -a:显示现行终端机下所有程序,包括其他用户程序。 -e:列出程序时,显示每个程序所使用环境变量。...列出本机所有的连接和监听端口,查看有没有非法连接(netstat) netstat 命令用来打印Linux中网络系统状态信息。 常用参数: -a或–all:显示所有连线中Socket。...常用参数: -g:列出GID号进程详情; -d:列出占用该文件号进程; -i:列出符合条件进程。...(4、6、协议、:端口、 @ip ) -p:列出指定进程号所打开文件; -u:列出UID号进程详情; 命令:lsof -i :22 # 看看谁在使用22端口 图片 3.

1.1K10

【Linux修炼】1.常见指令(上)

02. ls指令 语法: ls 【选项】【目录或文件】 功能: 对于目录,该命令列出该目录下所有子目录与文件。对于文件,将列出文件名以及其他信息。...-F 在每个文件名后附上一个字符以说明该文件类型,“*”表示可执行普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。...虽然并不懂这些,但是我们知道test.cpp是什么意思,它就是一个文件名,因此,我们了解到,普通颜色是文件名。那么蓝色就代表目录,相当于Windows文件夹。...: ls /home -l 03. cd指令 Linux系统中,磁盘上文件和目录被组成一棵目录树,每个节点都是目录或文件。.../day02/ : 相对路径 cd ~:进入用户家目 cd -:返回最近访问目录 对于上述命令,已经说很详细了,只不过有一点需要注意,就是第一个命令,当一直回退,会发现最终没办法再进行回退: 发现这样最终无法回退了

83300

解决vs-code高cpu占用率问题

(microsoft.vscode.cpp.extension.darwin进程高cpu占用问题) ?...免费vs-code现在已经成为mac/linux平台码农新宠,毕竟从windows平台开发virsul studio多年经验积累不是白给。...我也从诸多代码编辑器环境,逐渐迁移、统一到了vs-code。最近发现一启动vs-code,风扇就呼呼转,才开始还没注意,以为微软Windows中二病做派再次发作了。...后来逐渐感觉系统响应速度严重下降,仔细检查发现是一个进程CPU占用高企不坠:microsoft.vscode.cpp.extension.darwin,如果是在linux平台则是:microsoft.vscode.cpp.extension.linux...不过花费大量时间后,最终在一个帖子很靠后位置找到一个解决办法: 编辑文件:.vscode/extensions/ms-vscode.cpptools-0.17.7/out/src/LanguageServer

8.2K30

ROS 1 和 ROS 2 前世、今生、安装使用说明与资料汇总

在ROS 2中,建议将每个组件编译成一个共享库,然后可以在单独进程中加载​​它,或与其他组件(如ROS 1 nodelets)共享相同进程。这使得可以在部署时选择流程布局。...每个进程允许多个节点 在ROS 1中,不可能在一个进程中创建多个节点。这是由于API本身,也是由于内部实施决定。在ROS 2中,可以在一个进程中创建多个节点。...为了避免这种大开销,ROS 2包应该能够声明它ABI,以尽可能避免重建下游包。 Windows二进制包(⏳) ROS 1只能从Windows源代码(也只适用于几个ROS软件包,不受支持)构建。...特征 分布式发现,发布/订阅,请求/响应通信 由C API提供 使用不同供应商实施: eProsimaFastRTPS以及凌华OpenSplice(来自二进制和源代码) RTIConnext(仅来自源...为了继续使用被挂起命令阻塞shell,可能需要使用进程监视器来结束挂起Python进程

2.8K40

认识目标文件格式——a.out COFF PE ELF

1.目标文件常用格式 目标文件是源代码编译后未进行链接中间文件(Windows.obj和Linux.o),与可执行文件(Windows.exe和LinuxELF)结构和内容相似,因此跟可执行文件采用同一种格式存储...,二是与可执行文件结合,作为进程映像一部分来运行 Linux.a,Windows.dll 可执行文件(Executable File) 包含了可直接执行程序 Linux下无后缀ELF可执行文件...,Windows.exe文件 核心转储文件(Core Dump File) 当进程意外终止时,系统可以将该进程地址空间内容及终止时一些其他信息转储到核心转储文件 Linux下core dump...Linux下可以根据file命令查看上面表格中列出四种ELF文件格式。...<<"*iBar"<<*iBar<<endl; } 编译并运行: g++ main.cpp .

2.9K30

DLL劫持详解

Windows中,许多应用程序并不是一个完整可执行文件,它们被分割成一些相对独立动态链接库,即DLL文件。...目录 6.PATH环境变量中列出目录 Know DLLs注册表项 Know DLLs注册表项里DLL列表在应用程序运行后就已经加入到了内核空间中,多个进程公用这些模块,必须具有非常高权限才能修改。...(Ex)**,说明这个DLL是被进程所动态加载。...在这种利用场景下,伪造DLL文件不需要存在任何导出函数即可被成功加载,即使加载后进程内部出错,也是在DLL被成功加载之后事情。...导出表包含 DLL 导出到其他可执行文件每个函数名称,这些函数是 DLL 中入口点;只有导出表中导出函数可由其他可执行文件访问。DLL 中任何其他函数都是 DLL 私有的。

1.9K20
领券