Welcome 微信登录

首页 / 软件开发 / 汇编语言

如何分析未文档化的数据结构

如何分析未文档化的数据结构

如何分析未文档化的数据结构2009-02-16 x86asm.com hsly1101 前言:这2天看了Secrets of Reverse Engineering一书,对分析未文档化的API的技术比较有心得,希望各位看了下面的教程,能抛砖引玉灵活的应用在逆向工程和破解技术上,方法是死的,但是人的思维是活,最重要是灵活应用。2 实践:用OllyDbg对NTDLL.DLL进行反汇编,前提你要加入NTDLL.DLL的符号表,这样你才能更好的对未文档化的API进...
演示异常处理之实例七

演示异常处理之实例七

演示异常处理之实例七2009-02-17下面给出一个用于模拟异常和演示异常处理的实例。该实例的逻辑功能是,在屏幕上显示一条提示用户以按键方式选择异常类型的字符,然后模拟指定的异常。该实例演示内容包括:除法出错故障处理、溢出陷阱处理、段不存在故障处理、堆栈段出错处理和通用保护故障处理;还有作为一个独立任务方式出现的陷阱处理程序。 1.源程序组织和清单 为了演示以独立任务方式出现的陷阱处理程序,实例含有两个任务:演示任务和读键盘任务。实例由如下几部分组成: ...
汇编教程:控制转移(2)

汇编教程:控制转移(2)

汇编教程:控制转移(2)2009-02-172.关于实例三的说明 有些步骤的实现方法已在前面的实例中做过介绍,下面就任务内无特权级变换的转移和使用局部描述符LDT等作些说明:(1)实模式下初始化LDT 演示任务使用了局部描述符表LDT,本实例中该LDT在实模式下初始化(当然,也可以在使用LDT前的保护模式初始化)。为了简便,LDT中各描述符的界限和属性值在定义时预置,利用一个子程序设置各段的段基地址。为方便起见,在定义时把各段的段值安排在相应描述符的段...
汇编教程:分段管理机制

汇编教程:分段管理机制

汇编教程:分段管理机制2009-02-17本文介绍保护方式下的段定义以及由段选择子及段内偏移构成的二维虚拟地址如何被转换为一维线性地址。<一>段定义和虚拟地址到线性地址的转换段是实现虚拟地址到线性地址转换机制的基础。在保护方式下,每个段由如下三个参数进行定义:段基地址(Base Address)、段界限(Limit)和段属性(Attributes)。段基地址规定线性地址空间中段的开始地址。在80386保护方式下,段基地址长32位。因为基地址长度...
自己编程实现多引导

自己编程实现多引导

自己编程实现多引导2009-10-12如果你是一个计算机用户相信你一定安装过操作系统,当你用久了一个操作系统,你可能会安装一个新的操作系统,但你往往希望保留现在的操作系统。比如当你有了一个windows98,你可以在上面再安装windows2K或是windowsXP,这是因为Windows的NTloader可以认识比自己更早的操作系统,所以能够给你保留先前的操作系统。但是如果你现在已经拥有了一个windows2K或是windowsXP你要在硬盘上再装个WI...
汇编教程:控制转移(3)

汇编教程:控制转移(3)

汇编教程:控制转移(3)2009-10-123.关于实例四的说明程序中部分片段的背景和实现方法在前面的实例中做过介绍,下面主要就如何实现任务内特权级变换做些说明:(1)通过段间返回指令实现特权级变换实例在两处使用段间返回指令实现任务内的特权级变换。一处是在0级的过渡代码段中用段间RET指令从特权级0变换到特权级3的演示代码段。该处RET指令并不对应CALL指令。实例从实模式切换到保护模式后CPL=0。为了演示如何通过调用门调用内层程序,要设法使CPL>...
AT&T x86 asm语法

AT&amp;T x86 asm语法

AT&T x86 asm语法2009-10-12化境编程界DJGPP 使用AT&T格式的汇编语法。和一般的intel格式的语法有点不同。主要不同点如下:AT&T 语法颠倒了源和目的操作数的位置, 目的操作数在源操作数之后。寄存器操作数要有个%的前缀, 立即数操作数要有个$符号的前缀。 存储器操作数的大小取决于操作码的最后一个字符。 它们是b (8-bit), w (16-bit), 和 l (32-bit).这里有一些例子。 左边部...
防止程序多重启动

防止程序多重启动

防止程序多重启动2009-10-12此文章是接续怜香的"DOS到Win32"系列教程第14篇的后续,阅读之前推荐查看前续文章正如怜香所说,命令行参数在Windows中是无处不在的,只是一般感觉不到,双击一个txt文件,Windows会启动记事本程序并把txt的路径做为参数提供给它,这当然相当的快捷,一般在打开一个文件时会再一次启动相关联的程序,但是你会发现很多多文档(MDI)软件在运行的情况下不会再次启动一个新的实例,而是已经运行的程序...
演示中断处理的实例(实例六)

演示中断处理的实例(实例六)

演示中断处理的实例(实例六)2009-10-12下面给出一个用于演示中断处理的实例。该实例的逻辑功能是,在屏幕的左上角以倒计时方式显示秒为单位的时间,在时间用完后结束。该实例演示内容包括:外部中断处理程序和陷阱处理程序。1.源程序组织和清单本实例由如下几部分组成:(1)全局描述符表GDT。GDT中除了含有常见的几个描述符外,还含有描述时钟中断处理程序所使用的代码段和数据段描述符,以及描述显示程序所使用的代码段和数据段描述符。(2)中断描述符表IDT。为了在...
用汇编语言实现RESET启动和热启动

用汇编语言实现RESET启动和热启动

用汇编语言实现RESET启动和热启动2009-10-12程序名: RESET.ASM/BOOT.ASM 程序类别: 完整的汇编语言程序功能: 用程序完成RESET启动和热启动使用说明: 汇编连接以后转换为com文件运行程序说明:在日常用机过程中,如果出现了异常情况常常需要重新启动系统 .对于IBM PC 以及其兼容机,除了开机冷启动外,还有热启动和R ESET开关复位启动,他们的共同特点是转入BIOS的入口点(即ROM 的起始单元FFFF:0处),执行该处...
强大的sqlalchemy

强大的sqlalchemy

强大的sqlalchemy2009-10-12 codeplayer.blogspot.com 黄毅sqlalchemy 的文档可谓典范,谁叫作者还开发着模板语言(myghty、mako)呢,呵呵。其实 sqlalchemy 的文档就是用 myghty 写的。不过系统复杂了,功能多了,再好的文档也会让人迷路。最近用了用 sqlalchemy ,对这一点感受颇深,故把临时想到的几个比较常用的功能摘录如下,提纲挈领,既为自己整理一下思路,也让新手一窥 sqla...
说清汇编中的栈操作地址问题

说清汇编中的栈操作地址问题

说清汇编中的栈操作地址问题2009-10-12 博客园 飞林沙文章其实很简单,在这里只是想给大家一个提醒。让大家回顾一下曾经的知识而已,大学的知识,现在你还记得么?另外,善意提醒下博客园团队,虽然我理解商业重要性,但是我个人还是希望把培训学校的广告撤下博客园首页的广告行列中,我相信博客园是一个纯洁的技术博客,大家对博客园都非常信任,我们不希望让太多的初学者受到这个影响,个人意见而已。我刚才做一个小软件的破解,一直被堆栈的操作弄得昏昏沉沉,在这里写一下也算是...
<< 21 22 23 24 25 26 27 28 29 30 >>