- 1.UAC是哪一个操作系统版本出现的技术( )
- 2.修改进程的权限使用的API函数为( )
- 4.对于32位进程来说,以下说法正确的的是( )
- 5.在PE文件中解析TLS表,说法 正确的是( )
- 6.以下不属于虚拟内存的安全属性的是( )
- 7.关于堆管理与虚拟内存管理说法正确的是( )
- 8.以下不属于文件映射的作用的是( )
- 9.以下关于文件映射函数说明错误的是( )
- 11.以下不属于跨进程内存操作的函数是( )
- 12.关于Dll注入技术的描述,错误的是( )
- 13.在远线程注入技术中,最为核心的技术点是( )
- 14.创建远程线程使用的是如下哪一个API( )
- 15.关于系统消息钩子的说法错误的是( )
- 16..关于SetWindowsHookEx说法不正确的是( )
- 18.假如被Hook点的地址是0x00450000,目标地址是0x00598020,那么我们修改为jmp指令时,偏移为( )
- 19.在做IAT-Hook时,我们不能找到导入表中函数位置的是( )
- 20.关于TLS的说法错误的是( )
1.UAC是哪一个操作系统版本出现的技术( )
windows vista
windows 2000
windows xp
windows 7
2.修改进程的权限使用的API函数为( )
OpenProcessToken
AdjustTokenPrivileges
ShellExecuteEx 重新用管理员的方式运行程序,另外三个直接运行
LookupPrivilegeValue
3.关于提升权限的问题,说法错误的是( )
在非管理员条件下运行的进程中无法提升权限
在管理员条件下运行的进程中提升权限受windows账户限制
在进程中提升权限是不受限制的 两个部分:账户的权限 UAC限制
UAC限制了windows账户登录后的能力
4.对于32位进程来说,以下说法正确的的是( )
一个进程无法访问到其他进程的内存空间
一个进程可以随意访问到其他进程的内存空间
每个进程都有4GB的虚拟地址空间
每一个虚拟地址背后都映射着一个物理地址
5.在PE文件中解析TLS表,说法 正确的是( )
TLS回调函数地址一般保存在.tls段中 在.rdata
TLS回调函数一般保存在.tls段中 函数一般都在代码段
TLS一般有自己的区段,区段名为.tls
TLS区段中存储的内容没有任何意义
6.以下不属于虚拟内存的安全属性的是( )
读时拷贝 写时拷贝(只有内存改变时才会额外拷贝一份内存)
可执行
可读可写
可读可执行
7.关于堆管理与虚拟内存管理说法正确的是( )
虚拟内存申请后无需释放,堆申请后需要释放
堆内存申请,只能根据内存分页大小,申请分页大小的整数倍
虚拟内存管理是建立在堆内存管理之上的
虚拟内存申请,只能根据内存分页大小,申请分页大小的整数倍
8.以下不属于文件映射的作用的是( )
进程之间共享内存
方便的对大文件进行操作
计算文件大小
进程间通讯
9.以下关于文件映射函数说明错误的是( )
MapViewOfFile能够将文件映射修改的部分,刷新到文件中
CloseHandle能够在文件映射不使用的时候,关闭其句柄
OpenFileMapping可以根据文件映射的名字打开一个文件映射
CreateFileMapping可以创建文件映射,还能给文件映射命名
10.VirtualProtect函数解释正确的是( )
BOOL VirtualProtect(
LPVOID lpAddress,
DWORD dwSize,
DWORD flNewProtect,
PDWORD lpflOldProtect 这个属性修改成上面这个属性
);
dwSize设置之后,会完全按照dwSize的值修改属性 0x1000对齐
lpflOldProtect中存放的是要修改的属性 DWORD flNewProtect
使用此函数可以把字符串常量区变成可以修改的
会完全按照lpAddress的值为起始位置对内存属性做修改 0x1000对齐
11.以下不属于跨进程内存操作的函数是( )
ReadProcessMemory
VirtualProtectEx
VirtualAllocEx
VirtualQuery
12.关于Dll注入技术的描述,错误的是( )
Dll注入技术说的是让原本不属于目标进程的动态链接库文件,在目标进程中加载运行
Dll注入到目标进程,才能开始Hook。 将另外一个进程的执行代码改掉就叫hook
x86的Dll难以注入到x64的进程中,反之亦然。 但是可以实现
Dll注入并不是官方推荐的技术,但是技术爱好者找到了很多Dll注入的方法,如APC注入,注册表注入,远线程注入等等。
13.在远线程注入技术中,最为核心的技术点是( )
可以在目标进程创建线程
可以在目标进程申请空间
可以打开目标进程
LoadLibrary的参数只有一个,即Dll的路径
14.创建远程线程使用的是如下哪一个API( )
CreateThreadEx
CreateRemoteThreadEx 这个也对
CreateRemoteThread
CreateThread
15.关于系统消息钩子的说法错误的是( )
消息钩子可以用来做dll注入
消息钩子拦截到消息之后,可以决定是否把消息传递给目标窗口
windows消息钩子只有一种类型,可以拦截目标窗口所有的windows消息 几十种类型
是windows系统支持的一种钩子技术,内部维护着钩子链表
16..关于SetWindowsHookEx说法不正确的是( )
SetWindowsHookEx可以设置多种类型的钩子
SetWindowsHookEx可以指定此钩子只在某一个线程创建的窗口中有效
SetWindowsHookEx需要实现在Dll中 其他进程中没有你要加载的dll,系统会自动加载
已经被安装消息钩子的窗口,依然可以通过调用SetWindowsHookEx安装钩子
17.自定义钩子大致分为两大类,是哪两大类( )
① 在代码执行流上修改为call jmp ret等转移执行流的指令使其跳转到自己的代码上
② 调用SetWindowsHookEx设置消息钩子
③ 在存储函数地址的位置,将地址替换,当有指令使用此处的函数地址时,就会使用自己填写的函数地址
④ 在函数头部修改为jmp,使其能够跳转到自己的代码上 一般是头部,有push 。。。e9比较好找 不一定是函数头部
18.假如被Hook点的地址是0x00450000,目标地址是0x00598020,那么我们修改为jmp指令时,偏移为( )
19.在做IAT-Hook时,我们不能找到导入表中函数位置的是( )
通过PE文件中的导入名称表寻找
通过进程中PE文件在内存中的映射中的导入名称表寻找
通过进程中PE文件在内存中的映射中的导入地址表寻找 一个个函数变成了真正的VA地址,我们iAK hook时改的就是这个
通过PE文件中的导入地址表寻找
20.关于TLS的说法错误的是( )
它是windows为解决一个进程中多个线程同时访问全局变量而提供的机制
声明TLS变量使用__declspec (thread)声明
TLS函数会在main函数调用前执行 会生成tls表,如果有函数,就会先于main函数执行
TLS回调函数原型是DWORD NTAPI TlsCallBack(PVOID,DWORD,PVOID);
void