W32Dasm是一个强大的反汇编工具,操作简单,使用方便。通常被程序员使用,当然也可被用来Crack软件了,很适合Cracker使用。我在这把与crack相关的功能简述如下:

1.0 开始
2.0 保存反汇编文本文件和创建方案文件
3.0 反汇编文本代码的基本操作
4.0 复制汇编代码文本
5.0 装载32位的汇编代码动态调试
6.0 运行,暂停或终止程序
7.0 单步跟踪程序
8.0 设置激活断点
9.0 偏移地址和虚拟地址转换 
1.0 开始

1.1 运行W32Dasm,在这里以windows95自带的计算器为例:calc.exe。

1.2 从Disassembler(反汇编)菜单选择Disassembler Options(反汇编程序选项)选项将出现如下对话框

1.3 在Disassembler(反汇编)菜单,选择Open File(打开文件)选项或按工具栏按钮

1.4 选择你要打开的文件就可。
注意:你反汇编文件后,如字符己超过屏幕外,这时你要选择合适的字体(在Font字体选项中Select Font选择字体) ,然后设为默认字体(Save Default Font)即可。 当然一般以默认值就可。

2.0 保存反汇编文本文件和创建方案文件(Save The Disassembly Text and Create A Project File )

略。

3.0 反汇编源代码的基本操作

3.1 转到代码开始(Goto Code Start)

在工具栏按或从菜单的转到(Goto)选项选择转到代码开始(Goto Code Start) 或按Ctrl S, 这样光标将来到代码的开始处,用户可通过双击鼠标或用shift+上下光标键改变光标的位置。

注:代码的开始处是反汇编代码列表清单汇编指令的开始,而不是代码运行的起点,程序运行的起点称为程序入口点(Program Entry Point)

3.2 转到程序入口点(Goto Program Entry Point)

在工具栏按或菜单的转到(Goto)选项选择 转到程序入口点(Goto Program Entry Point)或按F10,这样光标将来到程序入口点(Entry Point),这里就是程序执行的起始点,一般动态调试时LOAD时也就停在此处。

3.3 转到页(Goto Page)

在工具栏按或菜单的转到(Goto)选项选择转到页(Goto Page)或按F11,这时跳出一对话框,输入页数可跳转到相关页面去

3.4 转到代码位置(Goto Code Location)

在工具栏按或菜单的转到(Goto)选项选择转到代码位置(Goto Code Location)或按F12,一个对话框将出现,充许用户输入代码偏移地址,以跳转到此位置上去。

3.5 执行文本跳转(Execute Text Jump)

这功能是在Execute Text(执行文本)菜单选项里的,执行跳跃(Execute Jump)功能激活条件是光标在代码的跳转指令这行上(这时光条是高亮度的绿颜色)。此时工具条Jump To按钮也激活。如图:

此时按或菜单选项Execute Jump(执行跳跃)或按右光标键,光条将来到跳转指令所指到的位置。在这例子里,将来到:004076CE xor eax,eax 这一行代码处:

如要返回到上一次跳跃,请参考3.6.

3.6 返回到上一次跳跃Return From Last Jump

这功能是在Execute Text(执行文本)菜单选项里的,此指令仅仅是在 执行文本跳转功能完成后才激活。当这条件成立时,按钮将激活。按或在菜单里选项返回到上一次跳跃(Return From Last Jump)或按左光标键,光条将返回到上一次跳跃位置处。

3.7 执行呼叫Execute Text Call

这功能是在Execute Text(执行文本)菜单选项里的,此功能激活的条件是光条在CALL指令一行。在这一行时光条将发绿,按钮将激活。执行时光条将会来到CALL所指的地址处。
如下图: 光条在0040751D call 004073D4 一行。

此时按或在菜单的执行呼叫(Execute Text Call)或按右光标键,光条将来到CALL所指的地址004073D4这一行

如要返回到刚才起点的0040751D call 004073D4 一行,参考3.8的返回呼叫。

3.8 返回呼叫(Return From Last Call)

这功能是在Execute Text(执行文本)菜单选项里的,此指令仅仅是在执行呼叫Execute Text Call功能完成后才激活。当这条件成立时,按钮将激活。按或在菜单里选项返回呼叫(Return From Last Call)或按左光标键,光条将返回到上一次呼叫位置处。

3.9 导入功能(Imported)

在菜单功能选项里,其作用主要是查看import函数。按或在菜单功能选项里的导入(Imports)命令,执行后将列出当前文件的Import函数。

如要返回到刚才起点的0040751D call 004073D4 一行,参考3.8的返回呼叫。

3.8 返回呼叫(Return From Last Call)

这功能是在Execute Text(执行文本)菜单选项里的,此指令仅仅是在执行呼叫Execute Text Call功能完成后才激活。当这条件成立时,按钮将激活。按或在菜单里选项返回呼叫(Return From Last Call)或按左光标键,光条将返回到上一次呼叫位置处。

3.9 导入功能(Imported)

在菜单功能选项里,其作用主要是查看import函数。按或在菜单功能选项里的导入(Imports)命令,执行后将列出当前文件的Import函数。

5.0 装载32位的汇编代码动态调试

5.1 反汇编windows自带的计算器程序 calc.exe.

5.2 选择菜单调试选项中的加载处理(Load Process),或按Ctrl+L.出现一个加载对话框,你可输入选项命令。现在你可按装载(load)按钮。

Calc.exe现在被W32DASM动态调试,将出现左右两个调试窗口(如下图),在初始化calc.exe程序后,指令将停留在入口点(Entry Point)处。

左边的调试窗口列出各种状态器如:CPU寄存器,CPU控制寄存器,断点,活动的DLL,段寄存器等等;

6.0 运行,暂停或终止程序

6.1 在右调试窗口,按运行(RUN)按钮或按F9,calc.exe将运行起来。

按暂停(PAUSE)按钮或空格键,程序将暂停,这在单步跟踪时经常用到。

按终止(TERMINAT)按钮,程序将停止,退出动态调试环境。

7.0单步跟踪程序

7.1 重新加载 calc.exe

7.2 在程序加载后,停留在入口点,你可按F7或F8单步调试程序,这两个键所不同的是F7是跟进CALL里,F8是路过。

7.3 进入自动调试按 (F5) 和结束自动调试按 (F6) 。

8.0设置激活断点

8.1 重新加载 calc.exe

8.2 在W32DASM的菜单转到选项转到代码处(goto code)功能,填上403198,按确定,你将在W32Dasm的主窗口(此时可能最小化了,把其还原即可)来到403198地址一行。光条在这一行显亮绿色,按F2或用鼠标左点击最左边(同时按住CTRL)设置断点。

这时如断点设置成功,光条最左边有一小段黄条,显示此行为断点。如下图:

如果断点不在这里,整行光条将是黄色的。

当断点设置好后,在左调试窗口中的断点小窗口显示断点情况(右边有一*):

此时按F2或(鼠标左键+CTRL),断点将取消。

8.3 此时按F9程序将运行到相关断点时停止。

9.0 偏移地址和虚拟地址转换

W32DASM、SOFTICE和Hiew(Decode模式)显示的地址都是虚拟地址,但是在Hiew(Decode模式)下,F5功能键查找的地址是偏移地址,因此必须将虚拟地址转换成偏移地址,才能找到正确的地址。常用的方法是在W32DASM下将绿色的光条移到某一行代码上 , 在窗口底部有一行字指示其偏移地址 , 如虚似地址:Code DaTa@0040534e而偏移地址为:@Offset 0000474Eh. 这就是偏移地址。

10.0 结束

强大的W32Dasm反汇编工具使用教程相关推荐

  1. W32Dasm反汇编工具使用教程

    W32Dasm是一个强大的反汇编工具,操作简单,使用方便.通常被程序员使用,当然也可被用来Crack软件了,很适合Cracker使用.我在这把与crack相关的功能简述如下: 1.0 开始 2.0 保 ...

  2. 2.13 强大的自定义变换工具 [Ps教程]

    原文:http://coolketang.com/staticPhotoshop/5a98d348128fe1189bd94b09.html 1. 本节课程将为您演示,[自由变形工具]的使用.首先在系 ...

  3. W32Dasm反汇编基础教程

    转载: https://blog.csdn.net/linjf520/article/details/7519997 W32Dasm是一个强大的反汇编工具,操作简单,使用方便.通常被程序员使用,当然也 ...

  4. qpython3绘图_比Excel制图更强大,Python可视化工具Altair入门教程

    比 Excel 制图更强大,Python 可视化工具 Altair 入门教程 数据转化成更直观的图片,对于理解数据背后的真相很有帮助.如果你有这方面的需求,而且还在使用 Python,那么强烈推荐你试 ...

  5. IDA-逆向分析-工具教程-IDA简介-反汇编工具-功能窗口

    文章目录 1.IDA简介 2.逆向与反汇编工具 2.1.文件识别工具 2.2.PE Tools 2.3.PEiD 3.IDA 窗口 3.1.二进制加载器 3.2.创建数据库 3.3.反汇编窗口 3.4 ...

  6. UltraEdit_chinese_64.exe强大的记事本工具(带官网离线安装包和破解工具)破解教程

    ​ 提供 UltraEdit_chinese_64.exe软件的破解教程,以及相关资源下载. 文章目录 本博文的简述or解决问题? 下载安装包: 说明: 下载工具推荐: 安装步骤: 破解激活: 破解成 ...

  7. 3D游戏设计和创作工具学习教程 3D Game Design Creation Tools

    语言:英语+中英文字幕(根据原英文字幕机译更准确) 大小解压后:1.94G 1280X720 mp4 三维游戏设计和创作工具 用扎实的工作流程开始开发游戏 课程获取:3D游戏设计和创作工具学习教程 3 ...

  8. 【报表技术】IReport 图形化报表开发工具安装教程

    [报表技术]IReport 图形化报表开发工具安装教程 JasperReport简单介绍 JasperReport是一个强大.灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML, ...

  9. wandb: 深度学习轻量级可视化工具入门教程

    本文,就来给大家介绍一款新型的机器学习可视化工具,能够让人工智能研发过程变得更加简单明了. wandb: 深度学习轻量级可视化工具入门教程 引言 wandb 验证数据可视化 自然语言处理 重要工具 极 ...

最新文章

  1. python在线培训-Python入门
  2. 用户自定义的Javascript函数名字与内置函数或宿主函数名字相同时产生的问题。...
  3. SpringBoot 2.0 开发案例之参数传递的正确姿势
  4. 【第二组】项目冲刺(Alpha版本)第三次每日例会 2017/7/13
  5. 关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法
  6. 【LeetCode】345. Reverse Vowels of a String 解题小结
  7. Python 操作 DB2 库_亲测可用
  8. iometer测试方法linux,IOmeter测试指导手册.pdf
  9. 群接龙,JK上报一键化手机脚本autojs
  10. 前端微信小程序面试题总结
  11. win10 python安装以及编辑器pycharm安装
  12. php配置站点报错403,phpstudy V8 报403错误怎么办
  13. 教程:简单十步,在 iTunes 申请 App Store 退款
  14. 利用windows 系统的画图工具获取图片上某一点的颜色RGB值
  15. 小猫打螃蟹-第10届蓝桥杯Scratch省赛真题第2题
  16. Kubernetes 实战——部署基于 Redis 和 Docker 的留言簿
  17. Okhttp之Https
  18. 购买重疾险的十大误区(建议收藏)
  19. CAPL控制程控电源
  20. 使用PS制作圆角图片

热门文章

  1. 成都大数据三大平台正式上线
  2. AngularTypeScript
  3. 软件工程 第一章 软件工程概述
  4. 欧氏空间内积定义_内积空间
  5. Word删除下划线上的文字
  6. 计算机科学与技术考研难度排行,考研专业的难度排名
  7. 真实dom转换为虚拟dom的简单实现
  8. 激活office时,提示CScript错误:无法找到ospp.vbs脚本引擎vbscript
  9. scratch编程 蓝桥杯编程题 红绿灯
  10. 【排序】什么都能排的C语言qsort排序详解【超详细的宝藏级别教程】深度理解qsort排序