学习笔记
文章平均质量分 69
isry
去探索更广阔的世界
展开
-
C++课程设计( 南阳康佳公司的设备管理系统 )
功能及要求描述:(1) 公司主要包括三类设备需要管理:电视机、DVD、带DVD的电视机;(2) 设备主要包含的信息:编号、类别、名称、价格、库存数量;(3) 添加各类设备信息;(4) 删除设备信息;(5) 查找设备信息;(6) 修改设备信息;(7) 输出所有设备信息;(8) 将信息保存到文件;#include#include#include#include原创 2013-01-04 13:49:44 · 3415 阅读 · 3 评论 -
黑客之路
初级菜鸟先不要忙着去学习工具使用,也不要总想着赚钱,盗号之类的,否则你永远不会进步!除非你舍弃了你的这种思想。那么,初级菜鸟学什么?首先你必须了解基本术语,熟悉系统,所谓熟悉系统不仅仅是操作,也包括注册表,进程,系统命令等等,掌握了这些,你算是合格的菜鸟了,那么接下来你将进入DOS命令的使用,这部分的学习,你必须明白英语的重要性,因此英语要快点学好,当你觉得上述内容枯燥,那么你可以偶尔进军一下关于转载 2013-03-12 17:04:45 · 3234 阅读 · 4 评论 -
QQ自动灌水
QQ灌水,这么重复性的劳动当然要让程序去做了,嘿嘿,有兴趣的可以拿去试试。不过要节制哦,被拉黑了就不妙了。C语言代码:#define UNICODE#include#includeint main(){ //打开一个好友或群进入聊天状态,将WindowName[256]设置为窗口名,也即昵称 //将发送方式设为“按Enter键发送消息” TCHAR text[256]=TEX原创 2012-10-04 14:48:33 · 1192 阅读 · 1 评论 -
区域划分问题总结
1.直线(Line)分割平面由于第n条直线与前n-1条直线相交于n-1个点,这n-1个点将第n条直线划分为n个部分,而这第n条直线的两边分别有L(n-1)和n个部分。故L(n)=L(n-1)+n L(0) = 12.一次折线(Zig)分割平面由于一条一次折线相对于两条直线相交少了两个部分,所以Z(n) = L(2n) - 2n Z(0) = 13.Z型折线(Zig-转载 2013-04-30 20:56:51 · 1465 阅读 · 0 评论 -
通过一段汇编,加深对寄存器ESP和EBP的理解
一直对寄存器ESP和EBP的概念总是有些混淆,查看定义ESP是栈顶指针,EBP是存取堆栈指针。还是不能很透彻理解。之后借于一段汇编代码,总算是对两者有个比较清晰的理解。下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码;假设执行函数前堆栈指针ESP为NNpush p2 ;参数2入栈, ESP -= 4h , ESP = NN - 4h转载 2013-07-07 10:09:32 · 927 阅读 · 1 评论 -
PE病毒技术剖析
* 编程语言任何语言只要表达能力足够强,都可用于编写PE病毒。但现存的绝大部分PE病毒都是直接用汇编编写的,一方面是因为汇编编译后的代码短小精悍,可以充分进行人工优化,以满足隐蔽性的要求;另外一方面之所以用汇编是因为其灵活和可控,病毒要同系统底层有时甚至是硬件打交道,由于编译器的特点不尽相同,用高级语言实现某些功能甚至会更加麻烦,比如用汇编很方便地就可以直接进行自身重定位、自身代码修改以及转载 2013-07-19 09:52:21 · 1150 阅读 · 0 评论 -
欧拉函数打表(备忘)
const int N(1000000);int a[N+10];void euler(){ for(int i=2;i<=N;i++) { if(!a[i]) for(int j=i;j<=N;j+=i) { if(!a[j]) a[j]=j; a[j]=a[j]/i*(i-1); } }}原创 2012-08-24 17:43:18 · 1598 阅读 · 0 评论 -
打印PE导出表
#include#include#includeint main(){ void *pPEB=NULL; void *pPEB_LDR_DATA=NULL; void *pModuleList=NULL; void *pKernelBase=NULL; void *pPEHeader=NULL; void *pExportTable=NULL; void *pAddressO原创 2013-07-21 10:57:22 · 1060 阅读 · 0 评论 -
gdb学习笔记
调试没有调试信息的程序gdb ./stkof查看入口点:(gdb) info file显示入口地址为0x400840在入口地址下断:b *0x400840运行:r查看接下来要执行的指令:x /20i $pc可以看到我们处在__libc_start_main函数之前,__libc_start_main函数会做一些初始化然后调用我们的main原创 2015-04-21 15:18:36 · 6354 阅读 · 0 评论 -
C语言写的(XOR)加密解密的程序
#include#include#include#include#includechar buf[512];char text[]="这是检验值,用来判断密码是否正确";//放在文件头用于密码校验,防止错误的密码破坏源文件const int TextLength=strlen(text);const char tmp[100]="D://tmp";//临时文件路径int Encr原创 2012-07-07 18:56:06 · 21795 阅读 · 0 评论 -
自己写的贪吃蛇
#include#include#includeconst UINT WM_RESTART=WM_USER+100;const int M(1),Max_Len(30),MaxN(100),size(20),Time(1000);POINT pt[Max_Len],food;char used[MaxN][MaxN];LRESULT CALLBACK WndProc(HWND,UIN原创 2012-09-18 08:13:57 · 740 阅读 · 0 评论 -
C语言实现的密码输入功能
没什么技术含量,注释写在代码里了#include#include#include#includeint main(){ int n,p; char ch,acnt[256],pwd[256]; scanf("%d",&n); while(n--) { system("cls");//清屏 p=0; puts("请输入账号:"); scanf("%s%*c原创 2012-07-11 19:18:07 · 14760 阅读 · 0 评论 -
(c语言课程设计)学生成绩管理系统
#include#include#include#include#include#includechar buf[255];char c=14;char path[]="D:\\data";char tmp[]="D:\\tmp";struct Student{ char Name[20]; char No[20]; char Dept[20]; char Class原创 2012-06-06 11:09:38 · 15187 阅读 · 2 评论 -
递归枚举排列和组合
思路:定义一个全局数组a将输入得到的数保存,然后用sort排序,这样可使枚举到的全排列按顺序打印。bool型全局数组u用来记录对应的数是否使用过,数组t用来保存每一次结果。pos表示当前层数,每次把没有被标记过的点装进数组t,到达n层时输出并返回上一层。实现代码如下:#include#includeint a[20],t[20];bool u[20];voi原创 2012-03-21 10:50:15 · 5013 阅读 · 0 评论 -
hdu1233 还是畅通工程(Prim备忘)
#include #includeint road[102][102],key[102];const int M=0x7fffffff;bool s[102];int min(int a,int b){ return a<b?a:b;}int prim(int n){ int i; memset(s,false,sizeof(s)); for(i=原创 2012-08-15 09:47:11 · 578 阅读 · 0 评论 -
hdu1301 Jungle Roads(kruskal 备忘)
#include#include#includeusing namespace std;int f[102];struct edge{ int u,v; int w;}e[102];bool cmp(edge e1,edge e2){ return e1.w<e2.w;}int find(int x){ if(f[x]==-1) return x; retur原创 2012-08-15 15:35:14 · 681 阅读 · 0 评论 -
hdu 2544 最短路(Dijkstra 备忘)
#include#includeconst int Max(1000000);int map[105][105],dis[105];bool vis[105];int Dijkstra(int v,int n){ int i,j,cur; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++) dis[i]=map[v][i]; dis[v原创 2012-08-16 16:42:40 · 501 阅读 · 0 评论 -
hdu 1496 Equations(hash备忘)
#include#includeconst int N(1000000);int hash[N],flag[N];int Hash(int k){ int p=k%N; if(p<0) p+=N; while(flag[p]&&hash[p]!=k) p=(p+1)%N; return p;}int main(){ int a,原创 2012-08-17 11:14:31 · 723 阅读 · 0 评论 -
结束进程
/*VS2010编译通过*/#include#include#includeint KillProcess(DWORD Pid){ HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid); if(hProcess==NULL) { puts("OpenProcess Error!"); return 1; }原创 2012-10-01 08:00:25 · 593 阅读 · 0 评论 -
从一个网址下载文件并运行
#include#include#pragma comment (lib, "urlmon.lib")TCHAR ProgramPath[MAX_PATH]=TEXT("mspaint.exe");int DownloadFile(LPWSTR sURL,LPWSTR FileName){ HRESULT hr; hr = URLDownloadToFile(0, sURL,File原创 2012-10-02 10:56:12 · 673 阅读 · 0 评论 -
解决编译Gh0st时error C2065: 'IDC_HAND' : undeclared identifier
这是因为ScreenManager.cpp定义了_WIN32_WINNT为0x0400,而WinUser.h中WINVER必须大于等于0x0500才定义IDC_HAND(WINVER即_WIN32_WINNT,在sdkddver.h中定义)#if(WINVER >= 0x0500)#define IDC_HAND MAKEINTRESOURCE(32649)#en原创 2015-06-19 11:21:10 · 3973 阅读 · 0 评论