Softice的界面和操作都比较简单,只要熟悉一些基本的命令之后就可以开始利用它为我们服务了。有一点要提醒大家:Softice在WINDOWS启动之前装入系统中,然后将WINDOWS载入(因为要控制、拦截
WINDOWS的动作),所以它工作于系统的0级(即特权级)。当在WINDOWS下用热键呼出Softice后,它就控制了整个系统,此时任何其它的程序(包括系统时钟)都将处于停止状态。
  本文只是介绍Softice的基本使用方法,有关Softice的详细使用方法请参阅随软件附带的命令手册和操作手册,本站“相关资料”中有Softice的中文使用说明。

★ 如何呼出/退出Softice?
★ Softice的界面图
★ Softice预定义功能组合键的作用
★ Softice的常用命令用法介绍

◆ 如何呼出/退出Softice?——在WINDOWS下可以随时用热键CTRL+D组合键呼出内存中的Softice,按F5功能键退出Softice ◆

  FAQ问题解答:
  用CTRL+D不能呼出Softice怎么办?
    ——如果确保成功安装了Softice,对于 windows 9x请检查批处理文件autoexec.bat中是否有winice.exe这一句,对于windows NT请在“开始-〉程序-〉NuMega Softice”下选择“Start SoftICE”启动Softice试试。
  Softice的屏幕没有任何显示?
    ——在“开始-〉程序-〉NuMega Softice”下选择“Display Adapter Setup”重新设置显卡
  Softice中鼠标功能出现异常?
    ——在“开始-〉程序-〉NuMega Softice”下选择“Mouse Setup”重新设置鼠标
  在显卡设置中选择了“Universal Video Driver”选项,但是Softice的呼出的仍然是全屏DOS界面?
    两个对策:
    ——1. 将winice.dat的初始化命令行(即INIT)中的“LINES XX”数改小,例如:LINES 40
    ——2. 在显卡设置中将“Manufacturer”强制改为“StandardVGA”,然后“Test”,成功后退出。
  注意:以上的修改都要重新启动系统后才能生效!!!

◆ Softice的界面图(由于Softice工作在系统0级,所以没有办法截取它的界面,这里用TRW2000的界面图来代替,两者基本上是一样的)◆

  ★ 关于寄存器区:修改寄存器的值有两种办法:1. 直接用鼠标点击需要修改的地方进行修改;2. 用修改指令“R”,例如:R EAX ->修改寄存器EAX,R FL ->修改标志位(用“Insert”键改变标志位状态),R FLZ ->改变零标志位的状态(在0和1之间切换)。修改完寄存器值后按ESC键退回命令行状态区。

  ★ 关于数据区:修改数据区的值有两种办法:1. 直接用鼠标点击需要修改的地方(16进制显示区或者字符形式显示区)进行修改;2. 用修改指令“E”,例如:E XXXXXXXX ->修改内存地址XXXXXXXX处的数据,用TAB键在16进制显示区和字符形式显示区之间切换。修改完寄存器值后按ESC键退回命令行状态区。
          查看数据区的内容的两种方法:1. 用ALT+↑和↓上下箭头移动数据显示区域;2. 直接用鼠标点击数据窗口最右边的↑和↓上下箭头(图中没有显示出来)来移动显示区域。

  ★ 关于程序区:机器代码的显示/关闭必须通过指令“CODE ON/OFF”来切换,Softice的默认工作画面是没有显示机器代码的。注意:程序的领空地域如图所示,图中的画面正在破解WINZIP这个程序,当 你看到“WINZIP32!.TEXT”字样时说明程序已经返回到WINZIP的领空了^_^
          查看程序区的内容的两种方法:1. 用CTRL+↑和↓上下箭头移动程序代码显示区域;2. 直接用鼠标点击程序窗口最右边的↑和↓上下箭头(图中没有显示出来)来移动代码显示区域。

  ★ 关于命令区:是我们输入各种命令,完成各种操作和控制,进行破解的地方。

  ★ 关于动作状态区:输入命令时显示命令的用法及格式。

  ★ 关于堆栈区:只有TRW2000具有这个窗口区域。

◆ Softice预定义功能组合键的作用 ◆

F1:
F2:
F3:
F4:
F5:
F6:
F7:
F8:
F9:
F10:
F11:
F12:
SHIFT+F3:
CTRL+F8:
CTRL+F9:
CTRL+F10:
CTRL+F11:
CTRL+F12:
ALT+F1:
ALT+F2:
ALT+F3:
ALT+F4:
ALT+F5:
ALT+F8:
 帮助
寄存器显示/关闭切换
源程序/反汇编代码切换(程序有源程序时可用)
Softice界面/屏幕原始画面显示切换
退出Softice窗口
进入/退出代码窗口
程序运行到光标所在处
单步跟踪
在光标所在位置设断点
单步执行(跳过子程序CALL)
程序执行到ES:ESP指向的地方
程序执行到RET指令处,即从子程序CALL中返回
改变数据窗口的显示格式,按照“字节->字->双字->短实型->长实型->10字节实型”的方式循环显示
模拟跟踪模式中单步跟踪
退出当前模拟跟踪模式
模拟跟踪模式中单步执行
从历史跟踪缓冲区的最后一条开始显示指令
从最初的一条指令开始模拟跟踪
显示/关闭寄存器窗口
显示/关闭数据窗口
显示/关闭程序窗口
显示/关闭监视窗口
清除命令窗口中的字符
模拟跟踪模式中反方向单步跟踪

◆ Softice的常用命令用法介绍 ◆

--------------------------------------------------------------------------------
 
命令形式 作 用 说 明

--------------------------------------------------------------------------------
 
. 定位当前指令 当上下移动浏览代码窗口中的内容时用这个命令能立即回到当前CS:EIP指令处,不用再慢慢的移动代码窗口返回来。

--------------------------------------------------------------------------------
 
? 表达式 计算表达式的值 Softice内置的计算器,16进制为默认方式,下列均表示16进制数:FF、123、0x123;10进制数须在前加+号(正数)或-号(负数),例 如:+42、-123、-FF(对应10进制数-255)、+(20)(对应10进制数+32);字符形式加''号,例如:'A'、'ddcrack'。 计算结果分别以16进制、10进制和ASCII字符方式显示,例如:
? EAX
00000045 00000069 "E"
? 0073173+00066400
00796573 007955827 "yes"

--------------------------------------------------------------------------------
 
A [地址] 写入汇编代码 用过DOS下DEBUG的人对这个命令都不会陌生,用法:
A  从当前CS:EIP处开始汇编
A XXXXXXXX  从程序地址XXXXXXXX处开始汇编

--------------------------------------------------------------------------------
 
U [地址] 反汇编代码 U  从当前屏幕中最后一条指令的下一条指令开始反汇编
U XXXXXXXX  从程序地址XXXXXXXX处开始反汇编

--------------------------------------------------------------------------------
 
BC list | * 清除断点 BC 3  清除断点3
BC *  清除所有断点

--------------------------------------------------------------------------------
 
BD list | * 禁止断点 BD 3  禁止断点3
BD *  禁止所有断点

--------------------------------------------------------------------------------
 
BE list | * 恢复被禁止的断点 BD 3  恢复断点3
BD *  恢复所有断点

--------------------------------------------------------------------------------
 
BH 显示历史断点 显示Softice中曾经设置过的断点

--------------------------------------------------------------------------------
 
BL 列出当前断点 显示当前Softice中所有设置的断点,包括激活的和被禁止的断点,被禁止的断点前有“*”号表示。

--------------------------------------------------------------------------------
 
BPE 断点号 编辑断点 BPE 3  编辑断点3

--------------------------------------------------------------------------------
 
BPINT 中断号 对指定中断设置断点 BPINT 13  在13号中断上设置断点

--------------------------------------------------------------------------------
 
BPIO 端口号 对指定I/O端口设置断点 BPIO 378  在对端口378进行操作时中断

--------------------------------------------------------------------------------
 
BPM [地址] 对指定内存地址设置断点 BPM XXXXXXXX  在对内存地址XXXXXXXX单元中的数据进行操作时中断

--------------------------------------------------------------------------------
 
BPR [开始地址] [结束地址] 在内存地址范围设置断点 BPR XXXXXXXX ********  在对内存地址从XXXXXXXX到********单元中的数据进行操作时中断

--------------------------------------------------------------------------------
 
BPX [地址] 在指定处设置断点 这是破解中最常用的命令之一了^_^
BPX  在当前光标所在处设置断点
BPX XXXXXXXX  在XXXXXXXX处的指令上设置断点
BPX GetDlgItemText  在API函数GetDlgItemText上设置断点

--------------------------------------------------------------------------------
 
CODE ON/OFF 显示/关闭指令机器码 默认是不显示的,在需要的时候再打开它,否则屏幕会显得混乱。

--------------------------------------------------------------------------------
 
D [地址] 显示内存地址内容 可以具体指定下面的模式:DB 字节; DW 字; DD 双字; DS 短实型; DL 长实型; DT 10b长实型,默认是DB,即字节方式。
D  将从继上次命令之后的地址开始显示
    D XXXXXXXX  显示内存地址XXXXXXXX单元中的内容

--------------------------------------------------------------------------------
 
E [地址] 修改内存单元 可以具体指定下面的模式:EB 字节; EW 字; ED 双字; ES 短实型; EL 长实型; ET 10b长实型,默认是EB,即字节方式。
E  修改从继上次命令之后的地址单元
    E XXXXXXXX  修改内存地址XXXXXXXX单元中的内容

--------------------------------------------------------------------------------
 
H / HELP [命令] 获取帮助信息 H  获取所有帮助信息
HELP BPX  获取指令BPX的帮助信息

--------------------------------------------------------------------------------
 
LINES 行数 设置SoftICE界面的行数 LINES 45  设置SoftICE的界面显示行数为45行

--------------------------------------------------------------------------------
 
VER 查看SoftICE的版本号

--------------------------------------------------------------------------------
 
X 退出Softice 将控制权交还给被SoftICE中断的程序,快捷键是F5,我们经常用到的。

--------------------------------------------------------------------------------
 
EXIT 强行退出DOS或WINDOWS程序 当出现致命错误致使Softice弹出后,如果用“X”指令没有用,可以用它试一下。

--------------------------------------------------------------------------------
 
WC
WD
WR
WW 显示/关闭程序窗口
显示/关闭数据窗口
显示/关闭寄存器窗口
显示/关闭监视窗口  其中WC和WD可以指定窗口显示的行数,例如:WD 4 表示显示数据窗口为4行    

//
源码级的调试驱动程序

以Check方式编译驱动程序,
然后用SoftICE的 Symbol Loader 将编译生成的驱动程序 .sys 文件,
然后 Translate 成 .nms ,然后在Symbol Loader 中的 symbols 中加入,就可以实现源码级的调试。

具体,
转换生成Symbols
Symbol Loader -> File -> Open Module -> 选中驱动文件.sys之后 ->
Module -> Translate

加入Symbols
Symbol Loader -> Edit -> SoftICE Initialization Settings... -> Symbols

SoftIce基础入门相关推荐

  1. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  2. MAYA 2022基础入门学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.41 GB |时长:4.5小时 包含 ...

  3. Blender 3.0基础入门学习教程 Introduction to Blender 3.0

    成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识. 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0- ...

  4. 三维地形制作软件 World Machine 基础入门学习教程

    <World Machine课程>涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形. 你会学到什么 为渲染或游戏开发创建高分辨率.高细节的地形. 基于Worl ...

  5. SketchUp Pro 2021基础入门学习视频教程

    SketchUp Pro 2021基础入门学习视频教程 1280X720 MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 流派:电子学习|语言:英语+中文字幕( ...

  6. Maya基础入门学习教程

    Maya基础入门学习教程 视频:.MKV, 1280x720, 共57节课 时长 4小时25分钟,3GB 语言:英语+中文字幕(根据原英文字幕机译更准确)+原英文字幕 指导老师:Shane Whitt ...

  7. Maya2022基础入门学习教程

    Maya2022基础入门学习教程 Maya 2022 Essential Training Maya2022基础入门学习教程 Maya 2022 Essential Training MP4 |视频: ...

  8. Blender基础入门学习教程 Learning Blender from Scratch

    Blender基础入门学习教程 Learning Blender from Scratch 流派:电子学习| MP4 |视频:h264,1280×720 |音频:aac,48000 Hz 语言:英语+ ...

  9. json vue 对象转数组_vue 基础入门(一)修改

    vue基础入门(一) 1. 什么是vue Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标 ...

  10. python 二进制流转图片_Python零基础入门到精通-5.1节:Python程序的执行过程

    教程引言: 系统地讲解计算机基础知识,Python的基础知识, 高级知识,web开发框架,爬虫开发,数据结构与算法,nginx, 系统架构.一步步地帮助你从入门到就业. 5.1.1 在命令行中执行Py ...

最新文章

  1. ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
  2. Google Quest 冠军访谈:3个秘诀,8条建议,还有人在华为做 NLP 研究员
  3. iOS定位服务与地图应用开发:高德地图开发
  4. [Android疑难杂症]动态改变Background后Padding无效的问题
  5. 以独占方式锁定此配置文件失败.另一个正在运行_JVM深入解析:运行时数据区+HotSpot+JMM+堆+GC+JVM优化+类加载
  6. 动态链接库的设计(DLL)
  7. LeetCode6 Z字形变换
  8. 金蝶专业版过账提示运行时错误5_金蝶财务软件的操作流程
  9. 清华大学和ubc计算机哪个好,2021世界大学排名出炉!多大进前20!清华UBC并列!...
  10. 手机上流行的各类谜语大揭密
  11. 进制转换(未完待续)
  12. sql2java-excel(二):基于apache poi实现数据库表的导出的spring web支持
  13. 推荐7款非常棒的将代码片段转换成图片的工具
  14. 图灵奖得主长文报告:是什么开启了计算机架构的新黄金十年?
  15. 黑苹果系统更换SSD的方法
  16. DO447管理任务执行--控制任务执行
  17. 转载:区块链:关于软分叉与硬分叉以及什么是共识
  18. C语言初级篇-----循环语句详解
  19. 【rk100】的各种问题
  20. Delphi2010开发DataSnap服务器(一)

热门文章

  1. ios 切换多任务后台界面应用闪屏
  2. 蓝桥杯单片机头文件导入_CT107D蓝桥杯单片机编程笔记
  3. 5G+北斗融合定位技术介绍
  4. vue 部署上线清除浏览器缓存
  5. 多项式回归分析之预测成本和利润
  6. 外包的水有多深?华为15k+的外包测试岗能去吗?
  7. 【工具】我的键盘(机械键盘)快捷键设置
  8. Python unpickle 命令执行漏洞复现总结
  9. JavaWeb 如何从FTP服务器下载文件 页面如何获取到FTP服务器上的图片进行显示
  10. node启动服务报错Error: listen EADDRNOTAVAIL 192.168.1.137:8023