123456

 
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 39 下一页

2012年7月3日

OD实例2-条件断点

摘要: 以下演示如何下条件断点:在调试过程中,经常希望断点满足一定条件时才中断,这类断点称为条件断点,在OD的帮助文档有详细的说明:(1)按寄存器条件中断:用OD打开Conditional_bp.exe,在0040147c,按shift+F2设置条件断点:输入表达式eax == 040000,这样如果eax为0400000h,OD将中断,用OD帮助文档解释下:040000- 所有整数常量都认为是十六进制的,除非后面跟了点EAX - 寄存器EAX的内容,解释为无符号数(2)按存储器条件中断先看下CreateFileA函数:HANDLE WINAPI CreateFile( __in ... 阅读全文

posted @ 2012-07-03 15:54 hgy413 阅读(1072) 评论(0) 推荐(0) 编辑

OD调试实例1--续

摘要: 以下演示如何下消息断点,OD运行TraceMe.exe,单击系统菜单View/Windows(查看/窗口)或单击工具栏的W按钮,如无内容,则执行右键菜单"Actualize"刷新命令现在要对Check按钮下断点,当单击按钮时中断,在Check行上单击鼠标右键,在弹出的右键菜单中,选择"Message breakpoint on ClassProc"当单击事件发生时,会发送WM_LBUTTONUP这个消息,所以,选中这个消息,单击OK,设好消息断点:单击Check按钮,将会中断到windows系统代码中,由于处于系统底层代码里,这时企图使用Alt+F9或C 阅读全文

posted @ 2012-07-03 14:38 hgy413 阅读(202) 评论(0) 推荐(0) 编辑

2012年7月2日

OD调试实例1

摘要: 使用TraceMe.exeOD按F3加载TraceMe,再按F9运行起来,如图所示设置一个断点:Ctrl+G打开跟随表达式窗口OllyDbg里对API的大小写敏感,输入的函数名大小写必须正确,比如以下两种写法都是不正确的:点击OK后,会跳到系统User32.dll的GetDlgItemTextA函数入口处:按Alt+B快捷键或单击B按钮打开断点窗口,如图所示:这里显示的断点不包括硬件断点Ctrl+N:打开当前模块的名称(标签)列表 比如刚开始进入TraceMe时,按Ctrl+N打开的是TraceMe的名称列表在Ctrl+G查找User32.dll的GetDlgItemTextA成功后:输入字符 阅读全文

posted @ 2012-07-02 19:32 hgy413 阅读(268) 评论(0) 推荐(0) 编辑

OD学习笔记1

摘要: 1.在反汇编面板窗口,Hex dump列:设置或取消无条件断点,对应快捷键是F2键2.Comment:增加或编辑注释,对应的快捷键是;键,在反汇编面板窗口按下会出现如下图:3.OD有界面选项(Appearance)和调试选项(Debugging options)等,这些选项配置都保存在ollydbg.ini文件中.4.UDD用来保存当前调试的一些状态,如断点,注释,以便下次调试时继续使用.5.od可以通过两种方式加载目标程序调试,一种是通过createprocess创建进程 另一种是利用DebugActioveProcess函数将调试器捆绑在一个正在进行的进程上.6.F7单步调试,遇到CALL 阅读全文

posted @ 2012-07-02 16:38 hgy413 阅读(355) 评论(0) 推荐(0) 编辑

2012年6月29日

提升权限代码

摘要: BOOL EnableDebugPrivilege(BOOL fEnable){ BOOL fOk = FALSE; // Assume function fails HANDLE hToken; // Try to open this process's access token if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES,&hToken)) { TOKEN_PRIVILEGES tp; tp.PrivilegeCount = 1; LookupPrivilegeValue(NULL,.. 阅读全文

posted @ 2012-06-29 17:39 hgy413 阅读(211) 评论(0) 推荐(0) 编辑

2012年6月28日

DOS命令小结

摘要: 一直觉得自己对DOS命令半知半解,那么就花上几小时好好整理下吧:以下所有图都在自己电脑截的:1.time 显示当前的时间2.date显示日期3.dir显示当前路径下的文件和文件夹4.运行一个exe,直接切换到它的目录下,直接打名字(有没有后缀都可以),回车即可如运行TM.exe:5.在DOS中,有一个当前目录的概念,就是提示符所显示的目录:比如:提示符就是C:\,如果要改变当前目录,可以使用cd windows,就表示更换当前目录为windows目录了,同时提示符也变成c:\DOS,这就表示当前目录变成了C盘的windows目录了在dos中,两个点表示当前目录的父目录,一个点表示当前目录,比如 阅读全文

posted @ 2012-06-28 17:45 hgy413 阅读(146) 评论(0) 推荐(0) 编辑

2012年6月25日

IOCP小记

摘要: IOCP事实上是一个Tread pool,但是它运行于内核,所以相对于用户态的select效率应该高了一点点。它的工作过程一般是这样的:0.CreateIoCompletionPort创建一个完成端口1.事先开好N个线程,这线程的个数一般为处理器个数的二倍+2,线程的参数传完成端口的句柄2.服务器有一个listen线程,当它从已完成三次握手队列中取出一个临时accept套接字时3.accept绑定到0步创建的完成端口4.accept使用WSARecv读取客户端发送的数据,并放入缓冲区,使用OVERLAPPED开头的自定义数据结构,WSARecv接收客户端的数据,并把数据放入缓冲区,让工作线程( 阅读全文

posted @ 2012-06-25 13:46 hgy413 阅读(174) 评论(0) 推荐(0) 编辑

7月计划

摘要: 7.3,OD基础再次巩固, 阅读全文

posted @ 2012-06-25 10:02 hgy413 阅读(93) 评论(0) 推荐(0) 编辑

2012年6月22日

GDI对象句柄表

摘要: 存在着GDI对象表,可以通过未有文档的函数GdiQueryTable查询到:此函数存在于GDI32中,在GDI对象表中,每个Cell应该是一个16字节的结构体:struct { void *pKernel; USHORT nProcess; USHORT nCount; USHORT nUpper; USHORT nType; void *pUser;}GdiTableCell;pKernel指向的是内核地址(页面池),每个GDI对象都有GDI对象表指向的内核数据结构nProcess是进程标识符,说明GDI对象是进程相关的nCount一般为0,但是对于DDB来说,当它被选入一个... 阅读全文

posted @ 2012-06-22 17:06 hgy413 阅读(341) 评论(0) 推荐(0) 编辑

2012年6月16日

socket编程:select 用法 例子

摘要: 服务器:#include #include #include #pragma comment(lib,"ws2_32.lib") #define INT_SERVER_PORT 6002 #define STR_SERVER_IP "127.0.0.1" #define INT_DATABUFFER_SIZE 100 void main(void) { WORD dwVersion = MAKEWORD(2,2); WSAData wsaData; WSAStartup(WINSOCK_VERSION,&wsaDat... 阅读全文

posted @ 2012-06-16 21:25 hgy413 阅读(258) 评论(0) 推荐(0) 编辑

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 39 下一页

导航