123456

 
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 39 下一页

2013年5月13日

关于windbg---Type information missing error for

摘要: 今天用vc6时,发现有些函数用x显示不了:0:000> x ThisCall!Cat::*Type information missing error for Cat::Fun0歪招:用bm直接下断点:0:000> bm ThisCall!Cat::* 1: 00401090 @!"ThisCall!Cat::Func1" 2: 00401060 @!"ThisCall!Cat::Fun0"0:000> x ThisCall!Cat*Type information missing error for Cat::Func1Type in 阅读全文

posted @ 2013-05-13 15:53 hgy413 阅读(229) 评论(0) 推荐(0) 编辑

REPNZ SCANS

摘要: 重复前缀指令任何一个串操作指令,都可以在前面加一个重复前缀,以实现串操作的重复执行,重复次数隐含在CX寄存器中REP;REP前缀用在MOVS、STOS、LODS指令前,每次执行一次指令,CX减1;直到CX=0,重复执行结束REPZ;也可以表把为REPE,用在CMPS、SCAS指令前,每执行一次串指令CX减1,并判断ZF标志是否为0;只要CX=0或ZF=0,则重复执行结束REPNZ;也可以表达为REPNE,用在CMPS、SCAS指令前,每执行一次串操作指令CX减1,并判断ZF标志是否为1,只要CX=0或ZF=1,则重复执行结束。串扫描指令SCASSCASB;字节串扫描:AL-ES:[DI],DI 阅读全文

posted @ 2013-05-13 11:07 hgy413 阅读(266) 评论(0) 推荐(0) 编辑

2013年4月24日

SVN两个版本间比较

摘要: 用beyonecompare3 比较,选择·注意要刷新下,关键点!:1.左边文件夹有点微红,表示这个有差异2.右击文件夹,选择Compare Contents....,再在弹出界面上选择start即可...还有要无视.svn文件夹,可以在Sessions-->Session Settings->Name Filters中设置ExClude Folders为.svn即可 阅读全文

posted @ 2013-04-24 17:20 hgy413 阅读(624) 评论(0) 推荐(0) 编辑

2013年2月18日

8Windows概要

摘要: 8.24 EPROCESS结构lkd> !process 93c 0Searching for Process with Cid == 93cCid Handle table at a84d9000 with 1384 Entries in usePROCESS 8583c318 SessionId: 1 Cid: 093c Peb: 7ffdc000 ParentCid: 0d30 DirBase: ce266920 ObjectTable: baff6238 HandleCount: 69. Image: notepad.exe其中8586c318即是进程的E... 阅读全文

posted @ 2013-02-18 20:21 hgy413 阅读(244) 评论(0) 推荐(0) 编辑

windbg学习24(!idt)

摘要: !idt显示指定的中断分配表(interrupt dispatch table (IDT))中的中断服务例程(interrupt service routine (ISR))最典型的自陷int 2e,其中断表使用的是:lkd> !idt 2eDumping IDT:2e: 82c8369e nt!KiSystemService如不指定IDT,会简短的显示目标机中所有处理器的IDT:lkd> !idtDumping IDT:37: 82c29104 hal!PicSpuriousService3751: 85e672d8 ataport!IdePortInterrupt (KINTE 阅读全文

posted @ 2013-02-18 20:03 hgy413 阅读(382) 评论(0) 推荐(0) 编辑

win7下windbg本机内核调试

摘要: 操作比较简单:1.开启调试:2.重启电脑3.File--kernel Debug...--Local,点击确定如提示NT symbols are incorrect, please fix symbols,用.symfix+设置下,再.reload /f即可 阅读全文

posted @ 2013-02-18 18:23 hgy413 阅读(384) 评论(0) 推荐(0) 编辑

2013年2月16日

4断点和单步执行

摘要: 4.12在调试器中设置断点当我们在调试器中设置断点,调试器会先把这里的本来指令的第一个字节保存起来,然后写入int3指令,4.13断点命中对于window这种保护模式下的多任务操作系统,INT3异常的处理函数是操作系统的内核函数(KiTrap03),因此执行INT3会导致CPU执行nt!kitrap03函数,KiTrap03对X86 CPU的断点异常会有一个特殊的处理,会将程序指针寄存器的值减1出于上面的原因,我们在调试器中看到的程序指针指向的仍是INT3指令的位置,而不是它的下一条指令,这下做目的有以下两点:1.调试器在使用INT3断点时,总是只替换一个字节,因此,如果程序指针指向下一个指令 阅读全文

posted @ 2013-02-16 17:36 hgy413 阅读(338) 评论(0) 推荐(0) 编辑

3中断和异常

摘要: 3.13异常来自于CPU本身,是主动产生的,而中断来自于外部设备,是中断源发起的,CPU是被动的3.2异常分为3类:错误,陷阱,中止错误类异常通常可以被纠正,如内存页错误,错误异常处理程序返回时,CPU执行的第一条指令仍是刚才导致异常的那条指令,所以如果导致异常的情况没有消除,会再次产生异常陷阱类异常会执行紧接关要执行的下一条指令,如INT3中止类异常主要用于报告严重错误,不允许恢复继续执行,3.5中断和异常处理的核心数据结构是中断描述符表(IDT)响应的全过程:1.cs和EIP的低16位入栈2.标志寄存器低16位入栈3.清除标志寄存器的IF标志,以禁止其他中断4.清除标志寄存器的TF,RF, 阅读全文

posted @ 2013-02-16 15:05 hgy413 阅读(126) 评论(0) 推荐(0) 编辑

2013年1月31日

2.CPU基础

摘要: 2.4.2 标志寄存器 DF(Direction flag) 方向标志,为1时使用字符串指令每次操作后递减变址寄存器(ESI和EDI),为0时递增.CF位可以由STC和CLC指令来设置和清除,DF位可由STD和CLD指令来设置和清除(ST:set,CL: clear)随意写段代码测试: __asm { pushad int 3 CLC STC CLC popad }2.4.4 控制寄存器 其中CR0和CR4包含了很多与CPU工作模式关系密切的重要标志位2.4.5其他寄存器 EIP指向的是CPU要执行的下一条指令,其值为该指令在当前代码段中的偏移地址,如果一条指令有多个字... 阅读全文

posted @ 2013-01-31 17:58 hgy413 阅读(211) 评论(0) 推荐(0) 编辑

2013年1月17日

windbg技巧---看和改标志位--创建进程时断下

摘要: 0:000> sxe cpr0:000> sx ct - Create thread - ignore et - Exit thread - ignore cpr - Create process - break epr - Exit process - break ld - Load module - output ud - Unload module - ignore ser - System error - ignore ibp - Initial breakpoint - break iml - Initial module load - ignore out - Debu 阅读全文

posted @ 2013-01-17 11:28 hgy413 阅读(210) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 39 下一页

导航