【C/C++教学】劫持?劫持?劫持?!!!(二)

简介: 【C/C++教学】劫持?劫持?劫持?!!!

劫持自身

我们先来写一个简单小程序,来实现对自身函数调用的拦截试试。在这里呢主要是拦截程序中调用的system函数。让它不能干活。【顺带一提,请把前面编译好的detours.h和detours.lib放到构建工程目录下,编译的时候请设置为release模式才有效,因为debug模式本身就是劫持】

微信图片_20220420143913.jpg

看看效果:


微信图片_20220420143917.jpg

可以看到,hook()前的system能正常执行,打开了一个calc。hook()的system已经变成了我们自定义的newsystem函数了。成功劫持了自身。

劫持别人

可能已经有同学注意到,劫持自身也装不了什么B啊。能不能劫持别人,让它不能干活呢?

微信图片_20220420143920.jpg

答案是肯定的,劫持其他程序有多种方式,比如全局hook,dll注入等。这里介绍下dll注入。我们打算拦截CreateProcess创建进程这个函数,让它创建不了进程。

这里在程序属性里设置一下,配置类型改为dll.然后生成

微信图片_20220420143924.jpg微信图片_20220420143929.jpg微信图片_20220420143932.jpg

哎,截不了那么长的图大家凑合着看一下。生成了dll以后,咱们借助咱的dll注入工具来测试一下效果吧。这里再写一个创建进程的小程序测试一下,每5秒打开一个记事本。

微信图片_20220420143935.jpg微信图片_20220420143938.jpg微信图片_20220420143942.jpg

可以看到。注入之后,notepad进程不再创建,而是弹出了交保护费的窗口。如果把这个dll注入到explorer.exe里面会发生什么,嘿嘿可想而知。关于dll注入有关知识,以后有时间再讲吧。

相关文章
|
22天前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
6月前
|
文件存储 C++
C/C++之分文件写静态通讯录详解(保姆级教学)
C/C++之分文件写静态通讯录详解(保姆级教学)
61 2
C/C++之分文件写静态通讯录详解(保姆级教学)
|
6月前
|
C++
C/C++指针进阶全(保姆级教学)
C/C++指针进阶全(保姆级教学)
39 0
|
17天前
|
人工智能 NoSQL 机器人
【C++】VS code如何配置使用C++(手把手教学)
【C++】VS code如何配置使用C++(手把手教学)
|
6月前
|
存储 C++
C/C++文件操作————写文件与读文件以及通讯录的改进 (保姆级教学)
C/C++文件操作————写文件与读文件以及通讯录的改进 (保姆级教学)
40 0
|
10月前
|
关系型数据库 数据库 C++
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
179 0
|
10月前
|
JSON C++ 数据格式
【C++】Visual Studio C++使用配置Json库文件(老爷式教学)
【C++】Visual Studio C++使用配置Json库文件(老爷式教学)
236 0
|
10月前
|
开发工具 C++ git
【经验分享】Microsoft Visual C++ 14.0 安装及Pycocotools2.0版本安装教学(防踩坑)
【经验分享】Microsoft Visual C++ 14.0 安装及Pycocotools2.0版本安装教学(防踩坑)
1359 0
|
10月前
|
存储 C++
【C++String类使用】万字详解保姆级教学,手把手教你使用string类。2
【C++String类使用】万字详解保姆级教学,手把手教你使用string类。
|
10月前
|
编译器 C语言 C++
【C++String类使用】万字详解保姆级教学,手把手教你使用string类。1
【C++String类使用】万字详解保姆级教学,手把手教你使用string类。

热门文章

最新文章