网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络安全首页 | 安全在线 | 病毒防治 | 黑客攻防 | 漏洞研究 | 黑客编程 | 破解手记 |
您现在的位置: 超人气学院 >> 网络安全 >> 破解手记 >> 文章正文 用户登录 新用户注册
汇编环境下的源代码调试           
汇编环境下的源代码调试
作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:58:34

 


Author:Hume[Afo]/冷雨飘心
(本文针对MASM32开发环境而写,本文例子下载:http://www.miecn.com/bbs/usr/10/10_685_7.zip)
===================================================
对AF(asm fans)来说,程序中潜在的未知错误是不可避免的也是最头痛的事情之一.如何在ASM环境下调试程序成了整个环节中耗时很多的工作.

许多其它编译器都附带了源代码级的调试器,VC,TC大家都不会陌生,这使得用这些高级语言调试成了一件相对easy的事情,你可以迅速进入事故现场并排除之.ASM不同,微软并没有为他提供一个集成的开发和调试环境,我们一切都得自己来!

好在我们有强大的SoftIce,这使得汇编下的调试工作变得简单,关于SICE下的源代码调试于很多文章,后面将附上罗云彬罗老的一篇介绍文章,在附带的例子里将提供Sice调试的具体实例,你要作的是修改 \hd目录下的debug.bat的内容使其指向你机器上的SICE路径,然后执行dbg.bat文件,then ok,Go!

一、TRW下的源代码调试的实现

调试的另一个选择是使用trw2000,他同样支持源代码调试.具体如何操作呢,

下载DBGLOAD插件使tr支持Coff符号调试.可从TRW的主页下载,不赘述.

首先编写一个目标程序,如win,显示一个窗口并带有一个菜单,菜单只有一项,即EXIT,在编译时打开ml的Zi选项,产生调试符号,如:

ml /c /coff /Zi win.asm

link打开两个选项:/DEBUG 和/DEBUGTYPE:CV(同时便于用SICE调试)

Link /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:CV [/MAP:win.map] win.obj res\wnd.res

呵呵,用trw2K 直接Load win.exe,trw会自动加载.pdg文件和源文件,用src调整源代码状态,终于我们在trw下也实现了源代码级调试,酷吧!

注:/MAP:win.map可不选,这里主要是为了说明下面的符号调试

附:关于mapsym的符号调试

下面用Mapsym转化.map-->.sym

mapsym.exe -ms win.map

MAPSYM是用来把链接产生的.map文件转化为tr可用的.sym文件.参数格式如下:

Usage: -> Mapsym [-nologo] [-almnst] [-c pefile] -o outfile] infile

-a include alphebatic sort arrays
-l list map file information
-e edit symbols for NTSD parser
-m use module name from infile
-n omit line number information
-nologo omit signon logo
-o outfile symbol outputfile
-s enable line number support [default]
-t include static symbols


这个文件在DDK里,如果你没有DDK可在我主页软件资源找到下载,例子里面已经内含.



按照trw的说明书如果包含行号的话,应该可以加载原文件而实现源代码调试,可惜试验未能成功,只能进行符号调试,哪位成功请指点一二.



附:二、SoftIce下的源代码调试的实现 (Author:罗云彬)
在 Windows 编程中,Soft-ICE 是一件必不可少的调试工具,但 Windows 程序的编程中有很多的时候是和数据结构和 API 打交道,经过编译以后,原来的 mov stRect.left,eax 之类的代码也就变成了 mov [xxxx],eax,invoke UpdateWin

[1] [2] 下一页

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     Softice使用指南---配[2611]
     中文编辑排版专家—Dr[2442]
     一个破解注册码的例子[1436]
     C语言学习系统v3.0破解[1413]
     获得键盘扫描码[1243]
     破解ComposerforRingT[1082]
     自动脱壳之ProcDump应[990]
     流光4.5完全破解[978]
     VisualBasic程序之Sma[978]
     PE文件结构剖析[891]
    相 关 文 章
    8088汇编跳转
    学友计算机等级考试试题汇
    ResourceBuilder1.1.0完全
    简明x86汇编语言教程(1)
    简明x86汇编语言教程(2)
    简明x86汇编语言教程(3)
    简明x86汇编语言教程(4)
    简明x86汇编语言教程(5)
    破解基础知识(2)8088汇编速
    汇编注册机源代码
    汇编语言的准备知识--给初
    汇编语言的准备知识--给初
    汇编语言的准备知识--给初
    汇编语言的准备知识--给初
    举例说明在汇编语言中,[]的
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)