上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页
摘要: #include "stdafx.h"int main(int argc, char* argv[]){ int sum=0; int i=0; while (i<=100) { sum += i++; } printf("sum=%d\n",sum); return 0;} 既然IDA给我们反编译的时候变化了,我就学习下吧。int __cdecl main(int argc, const char **argv, const char **envp){ signed int v3; // eax@1 int v4; // ecx@1 v4 = 0 阅读全文
posted @ 2012-05-18 19:53 r3call 阅读(314) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h"int main(int argc, char* argv[]){ int sum=0; for (int i=0;i<=100;i++) { sum=sum+i; } printf("sum=%d\n",sum); return 0;} 这是一个求1+2+3+...+100的和的过程。int __cdecl main(int argc, const char **argv, const char **envp){ signed int v3; // eax@1 int v4; // ecx@1 v4 = 0; 阅读全文
posted @ 2012-05-18 19:24 r3call 阅读(256) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h" int main(int argc, char* argv[]){ int a; scanf("%d",&a); if (a==1) { printf("你输入的数据为1\n"); } else if(a==2) { printf("你输入的数据是2\n"); } else { printf("你输入的数据既不是1也不是2\n"); } return 0;} 其实也差不多,分支下还有分支而已,有点像树的感觉。 阅读全文
posted @ 2012-05-18 19:07 r3call 阅读(349) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h"int main(int argc, char* argv[]){ int a; scanf("%d",&a); if (a==1) { printf("你输入的数据为1\n"); } else { printf("你输入的数据不是1\n"); } return 0;} 同样,这个if-else也很简单,重点是要能用IDA认真的学习一遍。和if一样,没多大不同,只是选择的分支多了一个而已,在反汇编的时候,那个是if那个是else,还重要么? 阅读全文
posted @ 2012-05-18 18:51 r3call 阅读(261) 评论(0) 推荐(0) 编辑
摘要: // if语句.cpp : Defines the entry point for the console application.//#include "stdafx.h"int main(int argc, char* argv[]){ int a; scanf("%d",&a); if (a==1) { printf("你输入的数据为1\n"); } return 0;}这个代码看起来更简单,但我们不研究它,我们研究的是它的反汇编代码。这样看来,if语句也很漂亮。不过,当我们遇到一堆if的时候,就会觉得头疼了,因为我们要 阅读全文
posted @ 2012-05-18 18:43 r3call 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 先来看源代码: 1 // 函数的嵌套调用.cpp : Defines the entry point for the console application. 2 // 3 4 #include "stdafx.h" 5 6 int main(int argc, char* argv[]) 7 { 8 int max(int x,int y); 9 int a,b,c,d;10 scanf("%d,%d,%d",&a,&b,&c);11 d=max(max(a,b),c);12 printf("max=%d\n" 阅读全文
posted @ 2012-05-18 18:27 r3call 阅读(927) 评论(0) 推荐(0) 编辑
摘要: 先来看代码 1 // 求两个数中的大者.cpp : Defines the entry point for the console application. 2 // 3 4 #include "stdafx.h" 5 6 int main(int argc, char* argv[]) 7 { 8 int max(int x,int y); //函数的声明 9 int a,b,c;10 scanf("%d,%d",&a,&b);11 c=max(a,b);12 printf("max=%d\n",c);13 retu 阅读全文
posted @ 2012-05-18 18:11 r3call 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 1 //*--------------------------------------------------打开触摸板开始---------------------------------------------------*// 2 HWND hStatus=::FindWindow("Shell_TrayWnd",NULL); //得到任务栏窗口句柄 3 HWND hTray = ::FindWindowEx(hStatus,0,"TrayNotifyWnd",NULL); //获取托盘部分的窗口句柄 4 5 //获得触摸板所在的位置,由用户输入 阅读全文
posted @ 2012-05-18 14:07 r3call 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: 时间 进程 2012-5-17 11:31:17 c:\windows\system32\svchost.exe ======================================================================操作 目标 结果 向其他进程发送消息 (7) ... 阅读全文
posted @ 2012-05-17 11:45 r3call 阅读(260) 评论(2) 推荐(0) 编辑
摘要: 既然别人破过了,那我就要和别人不一样。OD载入,运行,输入假码。点击“查看”----“窗口”找到check按钮,右键,“在classproc上设置消息断点”选择202确定,找到程序,点击check按钮。这时候停在系统领空。点击“查看”-“内存”,在text上F2下断,F9运行。这时候来到程序的消息处理函数位置,但不一定立刻就处理按钮消息。我们往下看找到好几个GetDlgItemXXX之类的函数,这就是处理按钮的了。1 00401218 . /0F87 6F010000 ja 0040138D2 0040121E . |6A 00 push 0 ... 阅读全文
posted @ 2012-05-15 00:27 r3call 阅读(790) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页