123456

 

05 2013 档案

windbg学习 ----.lines
摘要:.lines 命令启用或者禁用对源码行信息的支持-e 启用源码行支持。 -d 禁用源码行支持。 -t 打开或关闭源码行支持。如果.lines没有指定参数,.lines 命令的默认行为就是在是否支持源码行之间切换0:005> bp `antihook.cpp:371`WARNING: Line information loading disabled0:005> bl 0 eu 0001 (0001) (`antihook.cpp:347`)0:000> .lines -e*** ERROR: Symbol file could not be found. Defaul... 阅读全文

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

windbg学习 gc ----j(Execute If-Else)----.if
摘要:当一个条件断点的末尾包含一个执行命令时,需要使用gc命令例如,如果使用g (Go)命令来到达该断点,则恢复为自由执行。但是如果使用单步或跟踪来到达该断点,也会以单步或跟踪的方式来恢复执行j Expression Command1 ; Command2j Expression 'Command1' ; 'Command2'Expression 要求值的表达式。如果表达式的值是非0值,则执行Command1 。如果表达式的值为0,则执行Command2Command1 当Expression 为非0值(TRUE)时要执行的命令字符串。可以通过在命令字符串两边加上单引 阅读全文

posted @ 2013-05-29 21:40 hgy413 阅读(530) 评论(0) 推荐(0) 编辑

windbg学习---?? 和 ?
摘要:双问号(??)命令根据C++表达式规则来计算和显示表达式的值??命令根据当前线程和进程上下文来对表达式中的符号进行求值所以用??后,就不用显式@@c++指定了如果要使用MASM表达式规则来为Expression 表达式的一部分进行求值,可以将这部分用圆括号括起来并在前面添加两个at符号( @@ )。(?) 命令可用于计算和显示一个表达式的值?命令的输入和输出依赖于使用MASM表达式语法还是C++表达式语法具体来说就是.expr0:000> .expr Current expression evaluator: MASM - Microsoft Assembler expressions如 阅读全文

posted @ 2013-05-29 21:02 hgy413 阅读(201) 评论(0) 推荐(0) 编辑

windbg学习-------.expr和masm表达式
摘要:.expr 命令指定默认的表达式求值器0:000> .exprCurrent expression evaluator: MASM - Microsoft Assembler expressions0:000> .expr /s masmCurrent expression evaluator: MASM - Microsoft Assembler expressions0:000> .expr /qAvailable expression evaluators:MASM - Microsoft Assembler expressionsC++ - C++ source ex 阅读全文

posted @ 2013-05-28 17:37 hgy413 阅读(328) 评论(0) 推荐(0) 编辑

windbg学习----!vadump和.hh和!vprotc
摘要:!vadump扩展命令显示所有的虚拟内存区域以及它们对应的保护信息0:000> !vadumpBaseAddress: 00000000RegionSize: 00010000State: 00010000 MEM_FREEProtect: 00000001 PAGE_NOACCESSBaseAddress: 00010000RegionSize: 00010000State: 00001000 MEM_COMMITProtect: 00000004... 阅读全文

posted @ 2013-05-28 13:04 hgy413 阅读(372) 评论(0) 推荐(0) 编辑

$<, $><, $$<, $$><, $$>a< (Run Script File)
摘要:$aa $$> $$> $$> $$> $> $> $> $>aa $$>aa<这种,第一个分号前的是传入的参数,之后就是cmd1;cmd2;cmd3这样了 阅读全文

posted @ 2013-05-21 20:24 hgy413 阅读(208) 评论(0) 推荐(0) 编辑

动态创建的Combobox显示下拉滚动条
摘要:注意:1. 创建时属性为:WS_CHILD|CBS_DROPDOWN|CBS_HASSTRINGS|CBS_NOINTEGRALHEIGHT|WS_VSCROLL2.设置高度时,把rc的高度设大点,比如combobox固定高度为28,可以设置为128,就相当于设置了CBS_NOINTEGRALHEIGHT的高度 阅读全文

posted @ 2013-05-15 11:45 hgy413 阅读(284) 评论(0) 推荐(0) 编辑

ThisCall调用分析
摘要:C++程序的成员函数默认使用的调用约定是thiscall,这种约定是把this指针放到ECX寄存器中.This调用协定也是要求被调用函数负责清理栈,因此不支持可变数时的参数,当我们在C++类中定义了可变数量参数的成员函数时,偏译器会自动改为使用C调用约定,当这种调用时,编译器会将所有参数压入栈中,再将this指针压入栈:关键两点:1.this时,是被调用函灵敏清理栈 2.如果可变参数,则使用C约定,由调用者来清理写个小demo测试:#include "stdafx.h"#include enum MEAL {BREAKFAST, LUNCH, SUPPER};class C 阅读全文

posted @ 2013-05-13 17:46 hgy413 阅读(401) 评论(0) 推荐(0) 编辑

关于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 阅读(231) 评论(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 阅读(274) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示