心得体会面试
文章平均质量分 62
fsjaky
这个作者很懒,什么都没留下…
展开
-
逻辑运算符号
#includeusing namespace std;int main(){ int a=0; int c = 0 ; /*在C语言里面 只要是非零 就是 true 一个数不是零 bool 值 就是 1 而 && 的运算 就是 只要 && 的左右两边 都必须是非零 才是true */ a = a && !(c & 1); cout return原创 2013-04-09 15:04:38 · 918 阅读 · 0 评论 -
Windbg导出User32.dll里面的所有函数
这里要用到一个 Windbg 命令:x user32!* X [模块名] ![函数名/*]解释:X :表示查询的意识x user32!MessageBXA 表示在User32 中查询函数MessageBoxAx user32!* 表示查询所有语句 和SQL 中 * 的意思一样的如果一个函数名称不记得全部了 你也可以,用部分匹配的方式去查找,如:x user32!M原创 2013-04-20 22:14:41 · 5829 阅读 · 0 评论 -
-a -v -n -x 5 -r 100:10 -l 300
最近在弄自己的wifi,google,百度了一番。都说reaver好用,于是下载了过来用用,完全是鼠标操作,一切都是为了方便。在使用过程遇到一些问题,明白了就贴出来了。有很多人在问这两个问题:1.-a -v -n -x 5 -r 100:10 -l 300 是什么意思?2 warning:fail to associate with XXX?是怎么回事? 问题2解答原创 2013-04-17 23:25:06 · 2452 阅读 · 0 评论 -
进程间的通信
进程间的通信进程间的通信方法很多,这里不一一说明,只说一些常见的和使用的API函数。只是个人心得,或许说的不是很好,贴出来只是为了备份。第一种:邮槽(MailSlot) 使用邮槽通信,必须要有服务端和客户端,而且这种通信时单向的即服务端只能读,客户端只能写,遵循先入先出,必须先写才能读。这中方法可以用在本机进程与本机进程间的通信,也可以用在主机间的进程通信。主机间的进程通信原创 2013-04-17 17:22:20 · 888 阅读 · 0 评论 -
Ring3进程注入技术讲解篇
Ring3进程注入技术讲解在我的学习过程中,写出我所了解的三种技术,贴点理论的东西,方便以后理解。大牛勿喷第一种:远程线程插入技术将要实现的功能程序做成一个线程,并将次线程在运行时自动插入到常见的进程中,比如explorer.exe。不过这个技术好像有点复杂,复杂在什么地方呢?就是在进程中寻址容易出现问题,必须要进行抵制重定位。然后保存函数和变量的地址,插入到目标进程,需要对目标进程重原创 2013-04-17 17:20:30 · 1009 阅读 · 0 评论 -
sizeof计算赋值变量和形参的大小
sizeof()几乎在所有笔试中都会出现,我说的是C/C++……但是各自的考点和考法都不一样下面讲讲一种少见的考法在windows NT下32位的C++程序,请计算sizeof的值??void Func1(char str[100]) //与参数的大小无关{ cout}void Func2(char str) //与参数的大小无关{ cout}原创 2013-04-24 10:43:13 · 1037 阅读 · 0 评论 -
选择排序
#includeusing namespace std;//a[i] 向其后面的对比一次 有结果交换 i++;//小到大int selectsort(int a[],int n){ int i,j,min; int temp; for(i = 0; i { min=i; for(j= i +1; j { if(a[min] > a[j原创 2013-04-09 15:43:28 · 487 阅读 · 0 评论 -
计算一个二进制数中有多少位是 1
#includeusing namespace std;/***********************************************//计算一个二进制数中有多少位是 1//一个字节占八位,第一位肯定是 1//所以 只需要检验后面七位是否有 1 //因此 宏 定义 一个 BIT7 为 0x1 //专业术语 就是最高位置1**************原创 2013-04-09 15:40:28 · 1748 阅读 · 0 评论 -
设置或清除指定的位
#includeusing namespace std;/**********************************************************//设置或清除指定的位//设置指定的第三位 使用 宏 #define BIT3 由 0x1 左移三位//假如指定的是 第五位 使用 宏 #define BIT5 由 0x1 左移五位//当然 也可以使用原创 2013-04-09 15:38:19 · 852 阅读 · 0 评论 -
使用strcpy快速移动字符串
//将某个字符串的后n个字符放到字符串的前面//思路:三次运用strcpy#includeusing namespace std;#define MAX_LEN 20void LoopMove ( char *pStr, int steps ){ int n = strlen( pStr ) - steps; //计算出不需要移动的长度 cout char tm原创 2013-04-09 15:36:45 · 715 阅读 · 0 评论 -
内存泄露
#includeusing namespace std;struct _1{ int a; char b;}struct_1;/*1、struct _1中间有空格,在这里看不出来2、struct_1看是一体,实际中间是有空格,编译器检查不能通过的*///*就是访问这个单元int main(){ //直接访问内存,涉及到内存分页的知识啦!原创 2013-04-09 15:14:44 · 497 阅读 · 0 评论 -
C++的多态性
C++的多态性分为两种,一是运行时的多态性,二是编译时的多态性,这里我就不多介绍了。代码才是做好的说明,在代码中有注释以及我的理解。不知道自己这样解释是否正确。代码如下://**********************************************-------------------------------------------************////运行时的原创 2013-04-09 15:10:47 · 707 阅读 · 0 评论 -
通过驱动名称获取驱动路径加载驱动
最近在写一个小工具需要加载驱动。完成后,分享给朋友使用。大家反馈的信息是,无法加载驱动。后来我自己多次测试,没发现什么问题。 前提条件:驱动文件.sys 必须与可执行文件.exe必须在同一目录下面! 我在想是不是运行环境导致的,后来我复制出来到物理机里面测试,同样的问题出现了——驱动无法加载。 在最后,我发现问题了。在网上还是看到的大部分加载与卸载程原创 2013-04-20 20:04:03 · 1847 阅读 · 0 评论