- 博客(60)
- 资源 (19)
- 收藏
- 关注
原创 kali linux安装libnids
1、安装libpcap2、安装libnet3、安装libnids 执行 ./configure时出错 checking for GLIB… configure: error: The pkg-config script could not be found……apt-get install pkg-configchecking for GLIB… configure: er...
2018-07-16 15:14:04 929
原创 libnids 安装编译与测试
1、安装libpcap(略)2、安装libnet:源文件下载地址:http://sourceforge.net/projects/libnet-dev/files/ 解压:tar -zxvf libnet-1.2-rc3.tar.gzcd libnet-1.2-rc3 ./configure make make install安装完以后,配置一下动态库路径,否则libnid...
2018-07-11 14:36:18 4259
原创 调试进入net-snmp 库源码
调试进入net-snmp 库源码写测试程序是时,发现断点进入snmp源码无效,后来把之前生成的 net-snmp库对应的文件,放到测试程序目录下,即可。
2018-06-05 14:50:02 455
原创 执行net-snmp测试程序,提示Cannot find module (SNMPv2-MIB): At line 0 in (none)
写了一个基于net-snmp库的测试程序,获取交换机信息,有些奇怪的提示MIB search path: /root/.snmp/mibs:/usr/local/share/snmp/mibsCannot find module (SNMPv2-MIB): At line 0 in (none)Cannot find module (IF-MIB): At line 0 in (none)C...
2018-05-15 17:11:32 8638
原创 Windows下 VS2015编译net-snmp库失败,无法解析的外部符号
11>snmptrapd.obj : error LNK2001: 无法解析的外部符号 _optarg11>snmptrapd.obj : error LNK2001: 无法解析的外部符号 _optind2>netsnmpmibs.lib(vacm_conf.obj) : error LNK2001: 无法解析的外部符号 _netsnmpUDPDomain2>netsnmp...
2018-05-15 11:02:45 1347
原创 VS2015 编译net-snmp库出现warning C4005: “snprintf”: 宏重定义,fatal error C1189
VS2015 编译net-snmp库出现1> winpipe.c1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(1925): warning C4005: “snprintf”: 宏重定义1> G:\DevelopLib\net-snmp-5.7.3\win32\net-sn...
2018-05-14 16:13:49 4825 1
转载 十六进制转十进制数值
//该函数接受一个数据字符串参数,这个字符串前面如果有"0x"前导符则以十六进制字符转十进制数值,//如果不加"0x"前导符号,则以十进制字符转十进制数值。//如HexToDec("12") return 12,HexToDec("0x12") return 18,如果该数据中包含有不是属于数据的字符(如'ghijk'等字符),则函数直接返回0。int HexToDec(char *S
2016-09-10 10:42:40 1030
原创 Visual Studio 2008加载符号表导致调试缓慢
在VS2008的安装目录下IDE目录中,我的是D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE,新建一个文件,symsrv.ini,在里面添加不想加载的调试符号,如果都不加载,内容为:[exclusions]*.*重启VS2008,调试的时候就不加载了,快的飞起~
2016-06-06 11:29:49 678
原创 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
2016年第一个程序就出现了这种错误。。。。。。据说是安装了VS2012后,VS2010的cvtres.exe就无法使用,但我没安装2012。。。。。。 当VS生成PE文件头时,使用的cvtres.exe版本错误,不能与当前的.NET平台兼容。因为是cvtres.exe版本错误导致的结果,所以凡是能使VS链接器找到正确的cvtres.exe版本的方法都可以解决该问题。或者使VS链接器不生成
2016-06-06 11:29:46 406
原创 去除VS2010对汉字的拼写检查后留下的红色波浪线
浏览代码的时候就很多的红线,强迫症受不了。。。 目前没找到好的方法让VA或者VS不对注释部分进行拼写检查,但可以通过给注释的结尾添加 “ ; ” 来减少或者消除红色的波浪线,如果一个分号不够就多加几个。。。 不关VS的事,原因在于visual assist。在VAssistX菜单栏->Visual Assist X Options->展开Advanced->Underlines->把unde
2016-06-06 11:29:44 815
原创 系统崩溃,PE系统也进不去
我又来写日志了。。。这次坏的也不是我的电脑。。。是未来苏辅导员的电脑→_→症状如下:他的联想电脑开机突然不行了,win8系统,开机提示选择键盘布局。。。选了没反应,就是酱紫,然后PE系统也进不去,大白菜生成的系统。按照我的经验。。。应该是硬盘出问题了,很久之前遇到过,没有修好,用别的硬盘替换就可以正常进入了,把疑似坏的硬盘放我电脑里,我的电脑也启动不了也进不了PE,最后让她换了硬盘,丢脸丢大了。。
2016-06-06 11:29:41 27760
原创 VS2010生成DLL问题
遇到个扯蛋的问题,搞了很久。。。从别的项目里拷贝来的代码,自己用VS2010新建了一个DLL项目,发现生成的DLL很小。。。如图: 我的50k,示例代码400k。。。然后加载后怎么也没反应,以为是配置哪里不对,对着把项目属性都改了也不行,后来把配置属性中的常规-MFC的使用-改为在静态库中使用MFC就行了。。。但是为毛原来那个是“使用标准windows库”,修改后如下 不理解啊。。。算了,不想纠结
2016-06-06 11:29:38 404
原创 windows核心编程 第3章 内核对象
坚持做一件事很考验耐力,只是有些事情,坚持是改变不了的吧,不多说了,继续。。。主要参考:http://www.cnblogs.com/xi52qian/archive/2011/02/28/1967510.html3.1 什么是内核对象内核对象就是内核中的一块内存,是一个结构,并且只能由内核对象访问,应用程序只能通过调用Windows提供的函数来操作内核对象。每个内核对象都有相同的部分比如安全属性
2016-06-06 11:29:28 285
原创 windows核心编程 第2章 字符和字符串处理
咳咳,今天效率低了一点o(︶︿︶)o 决定先快速把这本书看完一遍主要参考:http://www.cnblogs.com/Ripper-Y/archive/2012/05/16/2505444.html1、三种计算机字符集 计算机字符集可归类为三种,单字节字符集(SBCS)、多字节字符集(MBCS)和宽字符集(即Unicode字符集)。 单字节字符集(SBCS): 单字节字符集,称之为S
2016-06-06 11:29:25 453
原创 windows核心编程 第1章 错误处理
好吧,我承认我是个很懒的人,很多内容是从别人那里复制的。。。不过加了自己的实践,有意外的地方,以后的实验的环境默认为win7x64,Visual Studio 2008,红色的一般是我出意外的地方=_=主要参考:http://www.cppblog.com/SpringSnow/archive/2009/02/20/74350.html 这一章开篇介绍了windows函数的几种返回值:
2016-06-06 11:29:22 368
原创 win8 重新装系统,始终无法从光盘启动或U盘启动问题
涨一下知识。。。经过实践验证的了有的电脑预装win8,如果要重新装系统,可能会遇到始终无法从光盘启动或U盘启动问题,改一下BIOS就可以了。BIOS具体设置方法如下(这样设置后才能从U盘或光盘启动):1、开机点击F1进入到bios界面;2、进入Security—Secure Boot,改成Disabled ;3、进入Startup—UEFI/Legacy Boot选项 /Legacy Boot选项
2016-06-06 11:29:20 1025
原创 windows内核开发(一)环境搭建
因为大部分 Windows驱动程序都是内核程序,所以这个总结,不区分“驱动编程”与“内核编程” 。同时,也不区分“内核模块”与“驱动程序” 。这两个词汇编译出的.sys 可执行文件。专注于较通用的内核程序的开发,并不介绍针对某种类硬件的,比如声卡、显卡、USB 等的等各种驱动程序的开发。 参考资料: 《寒江独钓:Windows内核编程与信息安全》 《天书夜读-从
2016-06-06 11:29:17 2098
原创 C++类访问控制及继承
一、C++类的访问控制有三类:public,protected和private。类访问控制符类成员可被哪些对象访问public1、类的成员函数。2、类对象。3、友元。4、子类成员函数protected1、类的成员函数。2、友元。3、子类成员函数private1、类的成员函数。2、友元二、C++类的继承继承方式也有三种:public,protected和priv
2016-06-06 11:29:14 275
原创 C++虚析构函数
析构函数可以使虚函数,而构造函数不可以从实现上看,vbtl在构造函数调用后才建立,因而构造函数不可能成为虚函数从实际含义上看,在调用构造函数时还不能确定对象的真实类型(因为子类会调父类的构造函数);而且构造函数的作用是提供初始化,在对象生命期只执行一次,不是对象的动态行为,也没有太大的必要成为虚函数在C++程序开发时,用作基类的类的析构函数一般要定义为虚函数,为什么要这样做呢?先看一个例子,代码如
2016-06-06 11:29:12 385
原创 C\\C++语言杂谈
表示开始直接学C++,有点分不清C和C++的语法 =_= 这里先找一点,遇到了再补充C语言和C++语言在语法上面的部分区别:1、C语言的定义必须在最前面,C++可以在任何地方定义,比如for(int i=0;i在C++中是正确的,但是在C语言中是错误的2、类型强制转换,C语言必须将类型括起来,C++可以将变量括起来。比如int(a)在C++中是正确的,但是在C语言中是错误的,必须写为(int)a3
2016-06-06 11:29:09 305
原创 头文件 string.h cstring string 区别
转自:http://blog.csdn.net/weitian826/article/details/59952751.#include //不可以定义string s;可以用到strcpy等函数using namespace std;#include //可以定义string s;可以用到strcpy等函数using namesapce std;#includ
2016-06-06 11:29:06 329
原创 delete p和delete[] p的区别
原文: operator new 和 operator delete函数有两个重载版本,每个版本支持相关的new表达式和delete表达式: void* operator new (size_t); // allocate an object void* operator new [] (size_t); // allocate an array
2016-06-06 11:29:04 1231
原创 基于Crt的内存泄漏检测
转自:http://www.cppblog.com/Lyt/archive/2009/03/22/77517.html http://news.im286.com/2013/0308/47353.shtml内存泄漏是编程中常常见到的一个问题,我所遇过的原因有两个:1.分配完内存后忘记回收2.代码有问题,造成想回收却无法回收,例如:int* p=new int;p=new
2016-06-06 11:29:01 498
原创 C多维数组动态分配与释放
写代码的时候会碰到多维数组的内存分配和释放问题,在分配和释放过程中很容易出现错误。下面贴上一些示例代码,以供参考。 如果要给二维数组(m*n)分配空间,代码可以写成下面:char **a, i;// 先分配m个指针单元,注意是指针单元// 所以每个单元的大小是sizeof(char *)a = (char **) malloc(m * sizeof(char * ));//
2016-06-06 11:28:59 442
原创 C++对象内存模型
C++ 对象的内存布局 陈皓http://blog.csdn.net/haoel 前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是
2016-06-06 11:28:56 855
原创 C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函
2016-06-06 11:28:53 738
原创 C指针声明解读之左右法则
C指针声明解读之左右法则 C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的: The
2016-06-06 11:28:50 289
原创 程序内存图
一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局
2016-06-06 11:28:47 658
原创 C/C++中const关键字详解
转自http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777416.html为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量
2016-06-06 11:28:44 899
原创 虚函数空间大小
class no_virtual{public: void fun1() const{} int fun2() const { return a; }private: int a;}class one_virtual{public: virtual void fun1() const{} int fun2() const { retu
2016-06-06 11:28:42 362
原创 AT&T汇编格式与Intel汇编格式的比较
GCC采用的是AT&T的汇编格式, 也叫GAS格式(Gnu ASembler GNU汇编器), 而微软采用Intel的汇编格式. 一 基本语法 语法上主要有以下几个不同. 1、寄存器命名原则AT&TIntel说明%eaxeaxIntel的不带百分号2、源/目的操作数顺序AT&TIntel说明movl %eax, %ebx
2016-06-06 11:28:39 356
原创 typedef void far *LPVOID
原文出处:http://hi.baidu.com/x___f__/blog/item/67debbc55360bca58226ac98.htmltypedef是c/c++代码中经常用到的 一个关键字. 他的主要做用是给变量类型定义一个别名. 从而达到代码简化, 促进跨平台开发的目的. 下面是typedef的最经常的用法: typedef struct{ int a; int b; }MY
2016-06-06 11:28:36 1808
原创 C++ 实现DLL注入(一)实现
直接上代码了//FMethod.h#pragma once#include #include #include int FMethod(char * c_str);BOOL LoadDll(DWORD dwProcessId,LPTSTR lpszDllName);//FMethod.cpp#include "FMethod.h"int FMethod(char * c_str){ //打开 c_
2016-06-06 11:28:33 2506
原创 C++ 实现DLL注入(二)说明
所谓DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分。要实现DLL注入,首先需要打开目标进程。 hRemoteProcess = OpenProcess( PROCESS_CREATE_THREAD | //允许远程创建线程 ...所谓DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分。要实现DLL注入,首先需要打开目标进程。 hRem
2016-06-06 11:28:31 1806
原创 调试出现一大堆错误···
1>c:\program files\microsoft sdks\windows\v6.0a\include\tlhelp32.h(30) : error C2146: 语法错误 : 缺少“;”(在标识符“WINAPI”的前面)1>c:\program files\microsoft sdks\windows\v6.0a\include\tlhelp32.h(30) : error C4430:
2016-06-06 11:28:28 1243
原创 vs2008 error C2440
VS2008对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2008下编译不通过ON_MESSAGE(WM_message,OnPosChage);OnPosChage()返回值必须为LRESULT,其形式为:afx_msg LRESULT OnMessage(WPARAM, LPARAM);如果不符合,则有错误提示:error C2440: “static_cast”: 无法从“
2016-06-06 11:28:20 642
原创 fatal error LNK1168: 无法打开 xxx.exe 进行写入
今早用VS2008调试的时候发现了这个奇葩的问题,只有debug会出现,release则没有,后来百度到了原来是在之前的debug之后,这个进程并没有完全被终止,可以到任务管理器中查找到相应的进程(这里为OgreExample),然后结束所有的这个进程。重新debug就不再会出现这个问题了。
2016-06-06 11:28:17 5254
原创 char * 和 char[]
问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确。程序演示:测试环境Devc++#include using namespace std;main(){ char *c1 = "abc"; char c2[] = "abc"; char *c3 = ( char* )mal
2016-06-06 11:28:15 1138
原创 CString sring char* char[]之间的转换
CString 头文件#include string 头文件#include CString 与 char *CString 转 char *CString cstr;char *p = (LPSTR)(LPCTSTR)cstr;char * 转 CString1、CString.format(”%s”, char*);2、CString strtest = char *;char *
2016-06-06 11:28:12 542
原创 MFC中CString转换成char数组【转】
由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串。关于它们之间的转换,在VS2008中有时会出现异常情况。在MSDN是这样写的: CString orig("Hello, World!");// Convert to a char* const size_t newsize = 1
2016-06-06 11:28:06 29050 4
Codejock.Xtreme.Toolkit VS2013补丁及使用方法
2017-02-23
C++进程注入(使用DLL)
2013-09-16
DebugView.zip
2013-08-22
masm for windows集成实验环境 2012
2013-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人