SoftIce基础入门

冰点密码破解 — 强悍的调试器 SOFTICE 阅读详情
 

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

51单片机的SoftICE调试 SST公司51单片机的SoftICE调试 阅读详情

相关推荐

SoftICE安装配置一日谈

1、选择虚拟机考虑到SoftICE是一款能够调试系统级代码的强大的调试工具,近日新装小小Vista,实在不想花太多风险和时间去尝试两者的兼容程度,看了网文若干,大多只讨论到Windows 2000的SoftICE安装,索性作罢,便动起了虚拟机的主意。2、为什么不行在选择虚拟机的时候,首先考虑的是Virutal PC,由于它体积小,轻量级,并且是可以在微软的站点免费获得,所以列入首选,可

O.Nixie的专栏 2010

Softice入门

Softice的界面和操作都比较简单,只要熟悉一些基本的命令之后就可以开始利用它为我们服务了。有一点要提醒大家:Softice在WINDOWS启动之前装入系统中,然后将WINDOWS载入(因为要控制、拦截WINDOWS的动作),所以它工作于系统的0级(即特权级)。当在WINDOWS下用热键呼出Softice后,它就控制了整个系统,此时任何其它的程序(包括系统时钟)都将处于停止状态。  本文只是

我的程序世界 1万+

使用虚拟机+SoftICE进行源码级驱动调试【入门】ZZ--ATU的大地

导读: 操作系统:  Win2000SP4虚拟机:    VMWare5.5SoftICE:  DriverStudio3.2自带的SoftICE二、安装注意事项win2000sp4的安装略过VMWare5.51、VMtools会对SoftICE有影响,导致无法Ctrl+D呼出SoftICE2、如果你已经安装了VMTools,可以在虚拟机的控制面板->添加删除程序 删除;-)3、如果你的V

xu的blog 1759

SOFTICE 使用说明 (断点)

作者:kill      第 四 章 如何使用中断点指令 §4.1 序言 Soft-ICE 具有以往只有硬体除错器才具有的中断点能力。因为 80386 晶片的 威力和弹性,使我们不需要额外的硬体设备就能有更强大的中断点能力。 中断点的触发可以由记忆体某位址的读取、记忆体范围的读取、程式的执行及 埠的存取来达成。Soft-ICE 赋与每个中断点一个一位的 16 进位号码( 0 - F ) 。这个中断

小虎的空间 908

SOFTICE使用说明中文版

SOFTICE使用说明中文版,对wdm编程很有用。-SOFTICE use the Chinese version of `programming useful.

基于CRU和WorldClim的高分辨率(1km)气候数据生成

基于CRU和WorldClim的高分辨率(1km)气候数据生成

lhq7842955的博客 1693

SoftICE使用说明(六)

   §5.5 公用指令 指令: A --- 组译程式码 S --- 搜寻资料 F --- 将资料填入记忆体 M --- 搬移资料 C --- 比较两记忆区块 A --- 组译程式码 语法: A [address] 解说: Soft-ICE 的组译器允许你把程式码直接组译进记忆体中。这个组译器支援基 本的 8086 程式码及 80186 、80286 真实定址模式的扩充。但是运算辅助器及 8038

Keep Go…… 974

安路科技FPSoC开发实战:从芯片特性到边缘计算应用

本文深入解析安路科技FPSoC芯片在边缘计算领域的开发实战,重点介绍SALDRAGON系列芯片的异构计算架构优势,包括RISC-V/ARM处理器与FPGA的协同工作。通过工业控制和智能视觉应用案例,展示硬件加速实现与低功耗设计技巧,帮助开发者高效利用FPSoC进行边缘计算应用开发。

weixin_29248611的博客 376

使用SoftICE调试程序入门

SoftICE是Numega公司出品的强大的程序调试工具,它可以运行dos,win3.1,win9x,winme,winnt,win2k等多种操作系统,是跟踪调试程序的有力的工具。这篇文章是我在自己使用SoftICE的过程中总结的关于SoftICE软件的安装、使用的方法与心得。   注意:以下讲述的是SoftICE version 4.05 for win2k,其他版本和它大同小异,如果你的Sof

6658

复现:Mamba-UNet:降水临近预报的创新解决方案

Mamba-UNet通过其创新的双分支Mamba融合模块、多尺度时空注意力模块和动态分位数加权损失函数,在降水临近预报领域取得了显著的性能提升。它不仅在多种降水场景下表现出色,尤其在预测强降水事件方面展现出了强大的能力。这一创新模型为降水临近预报提供了一种新的解决方案,有望在未来的研究和应用中发挥更大的作用,为应对气候变化带来的挑战提供有力支持。随着技术的不断发展和优化,我们期待Mamba-UNet在更广泛的气象预报任务中发挥更大的价值,为各行各业提供更精准、更可靠的降水预报服务。

hanfeng5268的博客 914

【网络与爬虫 53】Scrapy-Prometheus实战指南:打造企业级爬虫监控体系的终极解决方案

本文深入探讨Scrapy-Prometheus集成技术,通过费曼学习法从监控痛点出发,详细讲解如何在Scrapy爬虫中集成Prometheus指标收集系统。涵盖从基础配置到企业级监控体系的完整实战指南,帮助开发者构建可观测性强、可维护性高的分布式爬虫监控平台,实现爬虫性能的精准监控和智能告警。

熵数实验室 1584

SOFTICE安装及使用

SOFTICE的安装  1、SOFTICE目前最新版本是4.01,运行setup.exe开始安装,出现的第一对话框是“欢迎”并说明NuMega公司的版权。点下步出现输入姓名、公司、序列号对话框,此时按要求输入信息。接着出现选择安装目录,Windows 95/98用户必须注意长文件名的问题,为了减少不必要的麻烦最好是建一简单的目录如c:/softice;而WINDOWS NT没有这问题。2、较为麻烦

5745

Vue2 - 详细实现网页 “开启录音并生成音频文件,上传到服务器效果“,浏览器录制外部音频调用麦克风并传到后端,兼容全部浏览器、支持 PC 网页或手机 H5 网页、可本地播放试听(详细示例运行代码)

vue,nuxt,uniapp,网页网站,麦克风,网页录音,MediaRecorder,浏览器录音,移动端h5网页,手机端录音,web网页录音,recorder-core官方文档,Recorder,非https怎么本地录音,录音报错失败,录音后怎么播放音频,如何获取录音mp3文件,解决一直不提示麦克风权限,小白详细教程,实时录音,调用浏览器麦克风录音,浏览器不兼容,wav,mp3,vue怎么实现网页录音呢,vue2网页录音并上传到服务器,web如何实现录制音频,vue网页录音,音频录制播放和上传服务器,vu

🏆 前端领域优质创作者 6003

(转载)SoftIce的安装、配置以及一些基本操作

SoftIce的安装、配置以及一些基本操作From: http://www.77169.org/Article/Class1/Class14/200502/14899.htmlSoftIce的安装  1、SOFTICE目前最新版本是4.01,运行setup.exe开始安装,出现的第一对话框是“欢迎”并说明NuMega公司的版权。点下步出现输入姓名、公司、序列号对话框,此时按要求输入信息。接着出现选

Kendiv's Box 4536

Allegro基本规则设置指导书之Spacing Region

当网络需要在Region中需要按照自身的规则匹配时,可以创建Region Class来匹配。Region也支持Class to Class规则,点击ok即可。Allegro基本规则设置指导书之Spacing Region。下面介绍基本规则设置指导书之Spacing Region。给创建好的Region 匹配一个规则。空白的地方创建一个Region。

weixin_54787054的博客 564

基于matlab实现的水果识别系统设计

本项目针对多种常见水果混合的图像,利用 Matlab 软件,对水果的识别进行研究。根据水果和背景的差别选取阈值,对去噪增强对比度后的图像进行二值化处理。再对图像进行边缘检测,选定连通区域,标记后再对不同种水果的颜色,形状,大小等特征进行快速识别水果,从而实现对水果的正确分拣。:水果识别、MATLAB、数字图像处理。

热情、奔放、快乐编程! 4854

Compuware Softice的烦恼

一日与ZVROP讨论一个溢出问题,为了分析,特地去安装SOFTICE,原版的那个没有装,DS3.2又很大。所以下载了一个Compuware.SoftICE.4.3.1.Lite.Edition。仅仅10M,安装方便,开始觉得满意。而装好后,问题慢慢就来了。例如bpx住messageboxa,messageboxw,之后,就写了个直接调用messagebox函数的程序,但softice并没有断下来。

sunwear的专栏 9980

华为OD机试2025A卷 - 分苹果(Java & Python& JS & C++ & C )

华为OD机试2025A卷 - 分苹果(Java & Python& JS & C++ & C )

算法大师! 720

使用VMWare+SoftICE的方法总结

使用VMWare+SoftICE的方法总结: 1)安装VMWare和操作系统Windows2000 Professional。具体步骤省略... 2)在虚拟的操作系统Windows2000 Professional内安装SoftICE。我这里安装的是DriverStudio 2.7,  其中附带有SoftICE软件。 3)通过SoftICE的设置程序Setting对一些不合适的缺省设置进行修改。比

ljtt的专栏 3451

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

有关SoftICE的详细操作指导教程

有关SoftICE的详细操作指导教程      一 命令: . 作用: 在代码窗口中定位当前指令 语法: . 用法: 当代码窗口可见时, .命令(点命令)使得当前的CS:EIP 所指向的指令可见, 并且高亮显示. 另外,此命令也把 SoftICE 从其他内存区域中切回原先弹出的内存区域. 详见后面的ADDR命令. 点评:    当你在代码窗口中上下浏览时,有可能走得

齐子龙的专栏 2107

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SOFTICE 初使用

由于某些原因,需要用到SoftICE调试工具,期间经历了不少痛苦的历程.打算写出来,也算做个记录吧.我下载的Driver Studio 3.2.如果蓝屏或者你的鼠标会动不了,键盘卡住不动,请下载补丁.还有一种情况比较特殊我遇到的:键盘是PS/2 接口,而鼠标是USB接口,这时候似乎没其他的办法,只有花钱让接口统一了.SoftICE第一次调试程序当初第一次调试程序时,网上查了无数的资料,还是不得其解

zhangmiaoping23的专栏 3292

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

VMware中windows 2000 server 启动softice时候的问题

                   作者: sunwear     在vmware GSX SERVER 上装了windows 2000 server sp4 后。没有装显卡驱动,望着640*480 的16位色屏幕,感觉很不舒服也不适应,为了图方便就安装了VMWARE TOOLS,VM工具包里面自带了显卡驱动,这样就好多了。  我这次装windows2000的目的就是为了装SOFTICE

要饭's Blog 2739

SOFTICE之后继有人——Syser

双机内核调试总是有一些局限性,首先呢,速度不是那么的快,再者在虚拟机里面像需要DX支持的大型网络游戏一般式运行不起来的,而且Windbg运行起来总是那么古板。这些问题也就形成了单机内核调试器的存在空间。 以前一直是不怎么使用SOFTICE,只是最近终于对Windbg厌烦了,

Augusdi的专栏 5831

用SOFTICE破解WINZIP的过程

<!--google_ad_client = "pub-8708154125552291";google_ad_width = 300;google_ad_height = 250;google_ad_format = "300x250_as";google_

immcss的专栏 877
上一篇: 无驱动回复SSDT
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值