代码改变世界

在本地机器上获取root权限

2007-05-24 12:58 by ubunoon, 230 阅读, 0 推荐, 收藏, 编辑
摘要:intmain()...{char*name[2];name[0]="/bin/sh";name[1]=0x0;execve(name[0],name,0x0);exit(0);return0;}在本地机器上获取root权限──摘自shellcoder 阅读全文

文件内容读取

2007-05-20 08:51 by ubunoon, 155 阅读, 0 推荐, 收藏, 编辑
摘要:从文件中读取整个文档的代码fseek( fp,0, SEEK_END); //移动到文件末尾int len =ftell( fp ); //读取文件长度cha*pBuf =new char [len+1];rewind (fp) ; //返回到文件头fread(pBuf,1,len,fp); //从fp中读取1个len长度的字符串到pBUf中去 阅读全文

MFC中的文字输出

2007-05-13 21:39 by ubunoon, 1095 阅读, 0 推荐, 收藏, 编辑
摘要:在OnDraw(CDC *pDC)中CDOCUMENT*pDoc=GetDocument();TEXTMETRICtm;intx,y,cy,i;charsz[20];pDC->GetTextMetrics(&tm);cy=tm.tmHeight;//输出下一行的字符时,要注意字符的高度pDC->SetTextColor(RGB(255,0,0));//redtextfor(x=5,y=5,i=0;i<DATANUM;i++,y+=cy)...{wsprintf(sz,"%d",pDoc->m_intArray[i]);pDC->Text 阅读全文

两个注意点

2007-05-08 23:11 by ubunoon, 150 阅读, 0 推荐, 收藏, 编辑
摘要:1、整型数相除存在舍去余数的问题。 1+2+3+.....+ n = (1+n)*n/2如果用整数直接相除显然存在问题。正确解法为:if(n%2 == 0)sum = (1+n)*(n>>2);else sum = ((1+n)>>2)*n;2、两个数相交换第一种方法: a = a + b; b = a - b; b = a - b; 存在溢出第二种方法: a ^ = b; b ^ =a; a ^ = b; 阅读全文

Linux下安装windows系统的方法

2007-05-06 18:46 by ubunoon, 1761 阅读, 0 推荐, 收藏, 编辑
摘要:1、下载自己喜欢的Windows ISO 文件系统2、解压缩至FAT32文件系统中,注:最好不要解压缩在C盘中,即hd1分区中3、下载虚拟启动文件 memdisk.gz 和win99.zip文件4、修改grub下的menu.lst文件,加上以下几句: title virtual win99root (hd?,?) kernel /?/memdisk.gz initrd /?/win99.zip 保存,重新启动5、重新启动后进入虚拟系统,加载smartdrv.exe文件(安装Windows系统)6、到windwos目录下运行winnt即可安装虽然网上都是这么说,但是我在虚拟DOS中从没有很好的加 阅读全文

删除00006d51.sys 文件的方法

2007-05-06 18:43 by ubunoon, 244 阅读, 0 推荐, 收藏, 编辑
摘要:00006d51.sys 文件为rootkit文件,瑞星杀毒软件可以在开机前检测到,虽然能够显示杀掉它,但是不能够杀掉,删除后仍能够重新生成。有两个相关文件: c:\wint\system32\drivers\00006d51.sys c:\winnt\00006d51.sys其中dat文件为一些路径和注册表信息 路径: c:\winnt\system32\drivers 注册表: HKLM\System\control\00006d51.sys等删除00006d51.sys的方法: 1、先从网上下载vfloppy软件 2、安装vfloppy软件后重新启动后进入虚拟DOS 3、 A:>\ 阅读全文

数据与代码分开的一个原因

2007-05-06 18:42 by ubunoon, 252 阅读, 0 推荐, 收藏, 编辑
摘要:在进行程序设计的时候,总是需要进行数据输出,如显示提示信息,显示出错信息等内容,这些数据一般为常量,如果在程序中直接声明这些常量然后再输出,那么测试的时候将变得非常困难,因为测试的时候不知道什么时候会出现什么样的提示信息,提示信息将完全依据程序员的性格进行编写,提示信息是否准确提示。 为了能够方便程序设计与程序测试,一般常用的提示信息,显示内容应该同意作为string中的内容,在程序中只调用它,这样可以减少程序中出现的bug。 阅读全文

MFC消息处理与SDK消息处理

2007-05-06 16:37 by ubunoon, 249 阅读, 0 推荐, 收藏, 编辑
摘要:在MFC类实现中,采用消息映射实现对消息的响应,从而改变了在SDK中的循环结构,使得消息的流转更加隐蔽。在SDK中有分三部分构成:WNDCLASS wnd;wnd.lpfnWndProc = WndProc; // 首先将回调函数设置好SDK循环结构,进行消息循环 while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DisptachMessage(&msg); }而在另一处有回调函数的实现:LPRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wPar 阅读全文

AfxGetApp 解剖

2007-05-06 16:35 by ubunoon, 357 阅读, 0 推荐, 收藏, 编辑
摘要:MFC中有不少的全局函数,方便在不同对象中获取不同的内容或创建不同的对象。主要全局函数有:AfxWinInit() AfxBeginThread() AfxEndThread() AfxFormatString1() AfxFormatString2()AfxMessageBox()AfxOutPutDebugString()AfxGetApp() AfxGetMainWnd() AfxGetInstance()AfxRegisterClass()这些函数从名称上可见豹斑(功能)。本文是学习深入浅出MFC后的第一个笔记,解析AfxGetApp()函数在AFXWIN.H中是这么定义的: CWin 阅读全文

函数指针的应用

2007-05-06 16:29 by ubunoon, 167 阅读, 0 推荐, 收藏, 编辑
摘要:函数指针,说白了就是一个地址。 int (*ff(int))(int*,int);该声明将ff()声明为一个函数,它有一个int型的参数,返回一个指向函数的指针,类型为: int(*)(int *,int);等同于 typedef int (*PF)(int *,int) PF ff(int); extern "C" void f( void (*pfParam)(int) ); ff()是一个C函数,它有一个指向C函数指针的参数 C函数指针与C++函数指针有相同特性的编译器中实现,编译器可能会支持一种语言扩散。 阅读全文