相关推荐
-
使用GDB查看和修改寄存器的值
gdb查看,修改CPU中寄存器的值 打印寄存器的值 debug的时候,如果想查看register中的内容,可以使用"i register"命令,i是info命令的缩写,表示列出寄存器的信息。 (gdb) i registers rax 0x7ffff7dd9f60 140737351884640 rbx 0x0 0 rcx ...
-
逆向学习笔记(4)——动态反调试技术
1.SEH异常处理 windows中存在许多的异常处理类型,如下: EXCEPTION_DATATYPE_MISALIGNMENT (0x80000002) EXCEPTION_BREAKPOINT (0x80000003) 断点异常 EXCEPTION_SINGLE_STEP (0x80000004) 单步执行 EXCEPTION_ACCESS_VIOLATION (0x8000000
-
Windows软件调试学习笔记(七)—— 单步步入&单步步过
软件调试学习笔记(七)—— 单步步入&单步步过单步步入设置单步异常处理单步异常实验1:单步异常的设置与处理单步步过实现思路实验2:实现单步步过 单步步入 描述: 单步步入的实现依赖于单步异常。 当我们需要观察每一行代码(包括函数内部的代码)执行之后寄存器与内存的变化,通常会采用单步步入。 当使用单步步入时,可采用在下一行代码的首字节设置INT 3断点的方式实现。 CPU为我们提供了一种更为方便的方法,即使用陷阱标志位(TF位)。 设置单步异常 TF位:置1 处理单步异常 单步产生的异常与硬件断
-
反调试学习
1. INT 2D INT 2D 原为内核模式中用来触发断点异常的指令,也可以再用户模式下触发异常。但程序调试时不会触发异常,只是忽略。在调试模式中执行完INT 2D后,下条指令的第一个字节将被忽略,后一个字节会被识别为新的指令继续执行。INT 2D的另一个特征是,使用F7 F8命令跟踪INT 2D时,程序不会停在下条指令开始的地方,而是一直运行,知道遇到断点,就像使用F9命令运行程序一样,原因
-
软件调试之陷阱标志
陷阱标志 IA-32处理器支持的调试陷阱标志共有3种。 1. 8086支持的单步执行标志(EFLAGS的TF位)。 2. 386引入的任务状态陷阱标志(TSS的T标志)。 3. 奔腾Pro引入的分支到分支单步执行标志(DebugCtl寄存器种的BTF标志)。 1.单步执行标志 标志寄存器(FLAGS)的TF(Trap Flag)位。当TF为1时,CPU每执行完一条指令便会产生一个调试异常(#DB),中断到调试异常处理程序,调试器的单步执行功能大多是依靠这一机制来实现的。 调试异常的向量号是1,
-
手机射频中的常见术语
2G:GSM/CDMA 3G:EVDO/WCDMA 4G:TD-LTE/FDD-LTE BB:BaseBand基带 PA:功率放大器,比如B1的,在PA之前是0,经过PA后是22.5db或者22db。 TRX:主集接收和发送的公共端 DRX:分集接收,4G专用 PRX:主集接收,2G,3G,4G使用 FDD:频分双工,联想和电信使用,,移动终端和基站上行和下行使用不同频率电波传输 TDD:时分双工,中国移动使用,移动终端和基站上行和下行使用相同频率电波传输。 T...
-
C语言实现基于单步调试器
主进程通过创建远程进程来进行调试设置 eFlag 寄存器中的 tf 标志位,使程序执行一条指令后,产生单步执行异常。在异常处理过程中,记录程序执行时所有数据(每一步的 EIP、八个寄存器的值等)。
-
windows核心编程---异常处理程序与软件异常
CPU抛出的异常是硬件异常,操作系统和应用程序抛出的异常是软件异常。硬件或软件异常被抛出时,可用:__try { } __except(exception filter// 异常过滤程序) { // 异常处理程序 }一个__try后,只需跟一个__except或__finally(终止处理程序)。-异常过滤程序,异常处理程序 异常过滤程序,异常处理程序 主要有系统实现。只在__try块中发生异常
-
SEH异常处理机制
1.SEH是windows操作系统提供的异常处理机制。 2.在程序中可以使用__try、__except、__finally关键来实现异常处理。 3.SEH属于系统级的异常处理,是不同于C++中try、catch的。SEH诞生的更早一些。 4.异常处理过程: 正常情况:程序执行->抛出异常->程序SEH处理函数->系统默认SEH处理函数。 调试情况:程序执行->抛出异常->调试器中断处理->程序SEH异常处理->系统默认异常处理 如果程序没有异常处理函数
-
冬天OS(六):中断
-------------------------------------------------------- 初始化 8259A -------------------------------------------------------- 上一节我们编写了 Makefile ,享受到了 Makefile 带给我们的便利,这节我们乘着 make 的便利来设置中断... 一,in...
-
通过硬件断点对抗hook检测
前言 我们知道常见的注入方式有IAT hook、SSDT hook、Inline hook等,但其实大体上可以分为两类,一类是基于修改函数地址的hook,一类则是基于修改函数代码的hook。而基于修改函数地址的hook最大的局限性就是只能hook已导出的函数,对于一些未导出函数是无能为力的,所以在真实的hook中,Inline hook反而是更受到青睐的一方。 hook测试 这里我用win32写了一个MessageBox的程序,当点击开始按钮就会弹窗,这里我写了一个Hook_E9函数用来限制对Message
-
[原创]windows-SEH详解
SEH是window操作系统默认的异常处理机制,逆向分析中,SEH除了基本的异常处理功能外,还大量用于反调试程序(这里SEH时保存在栈中的,漏洞利用的时候会用到) 1.SEH SEH是windows操作系统异常处理机制,在程序源代码中使用__try,__except,__finally关键字来具体实现。 2.OS异常处理的办法 2.1正常运行时候的异常处理方法 进程运行过程中若发生异常,OS会委托进程进行处理。若进程代码中存在具体的异常处理(如SEH异常处理器)...
-
调试寄存器(DRx)理论与实践
导读: 标 题:DRx寄存器的使用(待续) (4千字)发信人:hume 时 间:2003-06-18 17:33:11详细信息:调试寄存器(DRx)理论与实践By Hume/冷雨飘心前言+牢骚:生活的苦痛就象烈火,时时煎熬着伤痕累累疲惫不堪的那颗心。我拼力挣扎,然而却无济于事……太残酷了….上帝也在苦笑。
-
常见动态反调试技术总结
软件安全|反调试技术|动态反调试技术总结
-
EXCEPTION_RECORD structure
Describes an exception.描述异常的结构体 Syntax C++ typedef struct _EXCEPTION_RECORD { DWORD ExceptionCode; DWORD ExceptionFlags; struct _EXCEPT
-
浅析Windows异常处理结构与实现
浅析Windows异常处理结构与实现 Windows异常处理是操作系统处理程序错误的一种手段,一般有两种:SHE(结构化异常处理)和VEH(向量化异常处理),而UEF(TopLevalEH顶层异常处理)是基于SHE的(这之后应该还有一种VCH),下面我就从上面三方面分析一下Windows异常处理结构。 一、异常处理的个人理解简述 当正在运行一个程序产生了一个异常后,就会利用自身的异常处理来...
-
如何定位Release程序崩溃原因
1 案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃(异常),这时Windows会提示该程序执行了非法操作,即将关闭。请与您的供应商联系。呵呵,这句微软的“名言”,恐怕是程序员最怕见也最常见的东西了。 在一个大型软件的测试过程中,初期出现程序崩溃似乎成了不可避免的事。其实测试中出现程序崩溃并不可怕,反而是测试的成功。作为开发的我们更需要关心的是程序
-
DrX调试寄存器使用 二 (转)
DrX调试寄存器使用 二 (转)[@more@]DrX调试寄存器使用 二XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />...
18 楼 achun 2010-10-30 11:47
w3c不是什么迷途知返,而是需要把两种模型能通过新的属性,在同一个页面上实现支持是最好的了
如楼主说的:
百分比模式 w3c的盒子不好用一样(如果有边框和间距的设置)
IE6的那个盒子在一个问题上也是不好使:
<img style="width:50;height:50px;border:10px solid red;" src="your.gif" />
<div style="background-color:#ccc;width:50;height:50px;border:10px solid red;"></div>
img的元素的width,height成了一个特例!!!
IE6盒子的这种不一致性,,,会把人弄疯掉的
事实上设计者由于情况的不同,对这个的需求是很随意的
比如我举一个例子,margin的特性,我认为margin是要这样用的
保持相邻元素见的间隔,而不是增加间隔
A和B之间的间隔到底是多少呢?
<b style="margin:20px;">A</b><b style="margin:20px;">B</b>
标准是:40px;
我感觉更方便:20px;
<b style="margin:10px;">A</b><b style="margin:20px;">B</b>
标准是:30px;
我感觉更方便:20px;//取最大值
<b style="margin:-10px;">A</b><b style="margin:20px;">B</b>
标准是:10px;
我感觉更方便:10px;//先满足最大值需求,在满足最小值需求
所以总结一句话就是
margin 规则是,间距<=设定值(其实这个说法不标准,其实是计算问题)
那我这个想法是否合理呢?不讨论了,这个容易拍砖
还是期待,w3c好好规划这个问题吧,多为设计者考虑考虑
17 楼 kaneg 2010-06-15 14:14
16 楼 xdsnet 2010-06-13 12:34
当然
确实经典
15 楼 andey007518 2010-06-13 12:30
==================
14 楼 wese345 2010-06-13 10:22
13 楼 t42dw 2010-06-13 09:34
看了你的文章终于知道原因了,呵呵如果以后还有机会做美工这个认识肯定很有用
12 楼 shinezhou 2010-06-13 09:32
11 楼 xingqiliudehuanghun 2010-06-13 09:06
会发现根本不是那样,这个文章中这个Box模型是IE5的也就是混杂模式下的盒子
模型。只要添加DOCTYPE IE6的盒子模型就和W3C基本一样了。
10 楼 hax 2010-06-13 01:55
至于w3c的盒子模型在排版时遇到的困难,其实原因在于缺少高级排版特性,比如multicolumn,而设计者必须用其他方式来模仿才导致的。
9 楼 qn_lf 2010-06-12 22:53
8 楼 wannago 2010-06-12 22:14
那么ie6定义这个box就是:长-1px,宽-1px,
看起来怪怪的。
7 楼 七月十五 2010-06-12 20:15
6 楼 CrystalBear 2010-06-12 17:29
5 楼 jkfzero 2010-06-12 17:11
4 楼 全冠清 2010-06-12 17:02
3 楼 fkpwolf 2010-06-12 16:28
2 楼 hellas 2010-06-12 12:38
1 楼 trarck 2010-06-12 12:34