网络空间安全技术实践教程 103PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HKEY hKey1; DWORD dwDisposition; LONG lRetCode; LPCTSTR addr = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; LPCTSTR name = "MCgame";//恶意代码程序名 LPCTSTR value = "\"D:\\CChenSiMC.exe\"\\noshow";//恶意代码程序路径
return 0; } //设置键值 lRetCode = RegSetValueEx(hKey1, name, 0, REG_SZ, (byte *)value, 100); if(lRetCode != ERROR_SUCCESS) { //如果设置失败则退出
return 0; }
网络空间安全实践教程
网络空间安全实践教程
13
10.3 恶意代码及防护编程实验
•实验步骤:
1)恶意代码程序编写
(3)自动驻留功能
双击Class View界面中的OnNcPaint()进入代码编辑页面,找到“//
TODO: Add your message handler code here”后添加如下代码:
void CCChenSiMCDlg::OnNcPaint()
网络空间安全实践教程
10
10.3 恶意代码及防护编程实验
•实验步骤:
1)恶意代码程序编写
(2)自启动功能
//创建 lRetCode = RegCreateKeyEx(HKEY_CURRENT_USER, addr, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey1, &dwDisposition); if(lRetCode != ERROR_SUCCESS) { //如果创建失败则退出
打开一个VS2010,建立一个新的MFC工程。需要注意的有两点:首先, 在应用类型界面需要选择基于对话框的应用,如图10-3-1所示;其次, 在高级选项界面要勾选“Windows Socket”,如图10-3-2所示,这样在 之后的Socket编程工作中,用到相关头文件以及链接库等开发环境时就 不再需要手工添加了。
{
//隐藏程序界面
// TODO: Add your message handler code here
static int i = 2;
if(i > 0) {
i--;
ShowWindow(SW_HIDE);
}
else
CDialog::OnNcPaint();
}
网络空间安全实践教程
14
10.3 恶意代码及防护编程实验
(2)自启动功能 自启动功能是通过注册表编程来实现,注册表在计算机中由键名和 键值组成,注册表中存储了Windows操作系统的设置。注册表的根键共有 6个,其中HKEY_CURRENT_USER管理系统当前的用户信息,自启动项就属 于该根键。 本实验中要在HKEY_CURRENT_USER\Software\Microsoft\Windows\Cu rrentVersion\Run处(如图10-3-5所示)添加新键值,键名为恶意代码 程序名,键值为恶意代码程序的路径。添加成功后,只要操作系统启动, 该指定程序将自动启动。
11
10.3 恶意代码及防护编程实验
•实验步骤: 1)恶意代码程序编写
(3)自动驻留功能 驻留又称为进程隐藏,最简单的办法就是将窗口的显示模式改为隐 藏显示,这样就达到驻留的效果。然而,在MFC中驻留并没有这么简单, 而是分为两个步骤进行。 首先,在MFC的主界面属性中将Visible的值由“True”改为 “False”,如图10-3-6所示。
5
10.3 恶意代码及防护编程实验
网络空间安全实践教程
6
10.3 恶意代码及防护编程实验
• 实验准备:(实验环境,实验先有知识技 术说明) 操作系统windows XP及以上 VS2010 以上开发环境
网络空间安全实践教程
7
10.3 恶意代码及防护编程实验
•实验步骤:
1)恶意代码程序编写
(1)新建工程
建立成功后,进入Class View,如图10-3-3所示,可在主界面中根 据功能设计好主对话框,如图10-3-4所示。需要说明的是,该程序运行 后,用户就会看到界面显示的主对话框,如果关闭该对话框,程序运行 进程就终止了。
网络空间安全实践教程
8
10.3 恶意代码及防护编程实验
•实验步骤:
1)恶意代码程序编写
•实验步骤:
1)恶意代码程序编写
(3)自动驻留功能 程序中静态变量的值定义为2,这是因为只要窗口隐藏第一次,所以 定义这个变量可以判断是否是首次显示窗口。 当程序开始运行时,系统发送WM_NCPAINT消息,此时程序的窗口边 框应该被显示,但是实际上是将窗口隐藏,ShowWindow(SW_HIDE)将把窗 口的WS_VISIBLE属性去掉,继续执行。之后程序会检查WS_VISIBLE属性, 如果没有则显示窗口,这个过程中又发送了一个WM_NCPAINT消息,所以 我们要处理两次WM_NCPAINT消息。
网络空间安全技术实践教程
1
第三篇 网络安全理论与技术实验篇
• 第十章 网络安全编程实验
• 10.3 恶意代码及防护编程实验
网络空间安全实践教程
2
10.3 恶意代码及防护编程实验
网络空间安全实践教程
3
10.3 恶意代码及防护编程实验
网络空间安全实践教程
4
10.3 恶意代码及防护编程间安全实践教程
12
10.3 恶意代码及防护编程实验
•实验步骤:
1)恶意代码程序编写
(3)自动驻留功能 其次,要在窗口第一次自绘时隐藏窗口,可以收到比较好的效果。 当对话框显示时,将要响应消息WM_PAINT绘制客户区,响应消息 WM_NCPAINT绘制窗口边框。由于窗口是先画窗口边框,所以仅需处理 WM_NCPAINT即可。 在处理时,在ClassView中右键单击CCChenSiMCDlg,调出菜单点击 Class Wizard...,进入向导后找到Messages添加OnNcPaint()函数,如 图10-3-7所示。
网络空间安全实践教程
9
10.3 恶意代码及防护编程实验
•实验步骤:
1)恶意代码程序编写
(2)自启动功能 为了实现该功能,需要在ClassView中CCChenSiMCDlg下双击 OnInitDialog(),进入相应编辑页,找到“// TODO: Add extra initialization here”,在后面加入如下代码:
相关文档
最新文档