Binaries

Latest release: https://github.com/0xd4d/dnSpy/releases

Latest build (possibly unstable): https://ci.appveyor.com/project/0xd4d/dnspy/build/artifacts

Features

  • Assembly editor
  • Decompiler
  • Debugger
  • Tabs and tab groups
  • Themes (blue, dark, light and high contrast)

Themes

dnSpy looks for *.dntheme files in the <dnSpy-bin-dir>\dntheme directory and the user's %APPDATA%\dnSpy\dnthemedirectory. If you wish to override a standard theme, copy the file to %APPDATA%\dnSpy\dntheme and edit the file.

Keyboard shortcuts

Key Description
Ctrl+F (Text view) Search
F3 (Text view) Find next match
Shift+F3 (Text view) Find previous match
ESC (Text view) Remove selected markers or close search box
Backspace Navigate back in history
Alt+Left Arrow Navigate back in history
Alt+Right Arrow Navigate forward in history
F5 (Debugger) Debug an assembly
Ctrl+F5 (Debugger) Start without debugging
F5 (Debugger) Continue debugging
Shift+F5 (Debugger) Stop debugging
Ctrl+Shift+F5 (Debugger) Restart debugged program
F9 (Text view) Toggle breakpoint at caret
Ctrl+F9 (Text view) Toggle enable/disable breakpoint at caret
Ctrl+Shift+F9 Delete all breakpoints
F10 (Debugger) Step over
Ctrl+Shift+F10 (Debugger) Set next statement
F11 (Debugger) Step into next method
Shift+F11 (Debugger) Step out of current method
Ctrl+Pause (Debugger) Break
Alt+* (Debugger) Show next statement
Ctrl+D (Text view) Go to token
Ctrl+Shift+D (Text view) Go to MD table row
Shift+Alt+R (Text view) Go to highlighted reference's MD table row
Ctrl+G (Text view) Go to line
Ctrl+X (Text view) Show current instruction in hex editor or open hex editor
Ctrl+T Open a new tab
Ctrl+W Close current tab
Ctrl+F4 Close current tab
Ctrl+Tab Go to next tab
Ctrl+Shift+Tab Go to previous tab
Ctrl+K Open search pane
Ctrl+T (Search pane) Select Type
Ctrl+M (Search pane) Select Member
Ctrl+S (Search pane) Select Literal
Alt+Enter (Text view, Tree view) Edit current type, method, field, etc
F12 (Text view) Follow reference at caret
Enter (Text view) Follow reference at caret
Ctrl+F12 (Text view) Follow reference at caret in a new tab
Ctrl+Enter (Text view) Follow reference at caret in a new tab
Ctrl+Click (Text view) Follow the clicked reference in a new tab
Ctrl+Alt+W (Text view) Toggle word wrap
Shift+Dbl Click (BP/Call stack/Search/etc windows) Open BP/method/etc in a new tab
Ctrl+C (Text view) Copy selected text
Ctrl+B (Text view, IL language) Copy selected lines as IL hex bytes
Ctrl+E (Text view) Edit IL instructions
Ctrl+S Save code
Ctrl+Shift+S Save all modified assemblies and netmodules
Ctrl+O Open assembly
Ctrl+Z (Assembly Editor) Undo
Ctrl+Y (Assembly Editor) Redo
Ctrl+Shift+Z (Assembly Editor) Redo
Ctrl++ (Text view) Zoom In
Ctrl+- (Text view) Zoom Out
Ctrl+0 (Text view) Zoom Reset
Ctrl+Scroll Wheel (Text view) Zoom In/Out
Alt+Click (Text view) Don't follow the clicked reference so it's possible to start selecting text without being taken to the definition. References are only followed if none of Ctrl, Alt and Shift are pressed or if Ctrl is pressed.
F7 Give text editor keyboard focus
Ctrl+Alt+0 Give text editor keyboard focus
Ctrl+Alt+L Give tree view keyboard focus
Ctrl+Alt+B (Debugger) Show Breakpoints window
Alt+F9 (Debugger) Show Breakpoints window
Ctrl+Alt+C (Debugger) Show Call Stack window
Alt+7 (Debugger) Show Call Stack window
Ctrl+Alt+H (Debugger) Show Threads window
Ctrl+Alt+U (Debugger) Show Modules window
Ctrl+Alt+E (Debugger) Show Exceptions window
Alt+4 (Debugger) Show Locals window
Alt+6 (Debugger) Show Memory 1 window
Ctrl+Alt+1 (Debugger) Show Memory 1 window
Ctrl+Alt+2 (Debugger) Show Memory 2 window
Ctrl+Alt+3 (Debugger) Show Memory 3 window
Ctrl+Alt+4 (Debugger) Show Memory 4 window
Shift+Alt+Enter Toggle full screen mode
Tab (Text view) Move to the next reference. Does nothing if the caret is not on a reference.
Shift+Tab (Text view) Move to the previous reference. Does nothing if the caret is not on a reference.
N (Method Editor) Nop instruction
I (Method Editor) Invert branch
B (Method Editor) Convert to unconditional branch
P (Method Editor) Remove instruction and add an equal number of pops that the original instruction popped
S (Method Editor) Simplify instructions, eg. convert ldc.i4.8 to ldc.i4 with 8 as operand
O (Method Editor) Optimize instructions, eg. convert ldc.i4 with 8 as operand to ldc.i4.8
F (Method Editor) Add a new instruction before selection
C (Method Editor) Add a new instruction after selection
A (Method Editor) Append a new instruction
U (Method Editor) Move selection up
D (Method Editor) Move selection down
Del (Method Editor) Remove selected instructions
Ctrl+Del (Method Editor) Remove all instructions
Ctrl+T (Method Editor) Copy selection as text
Ctrl+X (Method Editor) Cut selected instructions
Ctrl+C (Method Editor) Copy selected instructions
Ctrl+V (Method Editor) Paste instructions
Ctrl+Alt+V (Method Editor) Paste instructions after selection
Ctrl+M (Method Editor) Copy operand's MD token
Ctrl+R (Method Editor) Copy RVA of instruction
Ctrl+F (Method Editor) Copy file offset of instruction
Ctrl+R (Text view) Analyze reference at caret
Tab (Hex editor) Switch caret from hex bytes to ASCII or back
Ctrl+C (Hex editor) Copy binary data
Ctrl+Shift+8 (Hex editor) Copy UTF-8 encoded data
Ctrl+Shift+U (Hex editor) Copy Unicode encoded data
Ctrl+Shift+P (Hex editor) Copy data as a C# array
Ctrl+Shift+B (Hex editor) Copy data as a VB array
Ctrl+Shift+C (Hex editor) Copy hex editor screen contents
Ctrl+Alt+O (Hex editor) Copy offset
Ctrl+G (Hex editor) Go to offset
Ctrl+8 (Hex editor) Paste (UTF-8)
Ctrl+U (Hex editor) Paste (Unicode)
Ctrl+B (Hex editor) Paste (#Blob data with compressed length)
Ctrl+L (Hex editor) Show 'Select' dialog box
Ctrl+D (Hex editor) Show only the selected bytes
Ctrl+Shift+D (Hex editor) Show all bytes
Ctrl+Alt+S (Hex editor) Save selection

Credits

For license info, authors and other credits, see README.txt.

Build instructions

First grab the code using git:

git clone https://github.com/0xd4d/dnSpy.git
cd dnSpy
git submodule update --init --recursive

Use Visual Studio 2010 or later or run debugbuild.bat / releasebuild.bat to build it once you have all dependencies. You probably don't need Visual Studio installed to run the *.bat files. The C# compiler is usually installed if you have the .NET Framework installed. Otherwise, download and install Microsoft Build Tools.

Dependencies

The git command above should've downloaded the correct versions. If you can't use git, grab the code from these links. dnlib must have THREAD_SAFE defined when you compile it.

.net 反编译利器 dnspy的更多相关文章

  1. 8款非常不错的.Net反编译利器

    本人搜集了下8款非常不错的.Net反编译利器: 1.Reflector Reflector是最为流行的.Net反编译工具.Reflector是由微软员工Lutz Roeder编写的免费程序.Refle ...

  2. 游戏反编译工具dnSpy

    dnSpy使用的工具下载地址为: https://github.com/cnxy/dnSpy/archive/v4.0.0.zip 或 dnSpy官方下载地址: https://github.com/ ...

  3. [转][C#].Net反编译利器

    来自:https://www.cnblogs.com/zsuxiong/p/5117465.html 有以下8款非常不错的.Net反编译利器: 1.Reflector Reflector是最为流行的. ...

  4. 【原创】Java批量反编译利器(jd-gui)介绍

    Java反编译利器(jd-gui)介绍 当要做白盒测试或安全测试时,我们需要借助工具扫描被测代码,相信大家都遇到过没有源代码,而需要反编译的情形吧,也可能大家用过jad工具,我这里介绍下方便的工具jd ...

  5. Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

    Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正 http://blog.csdn.net/jiangwei0910410003/article/details/51 ...

  6. 一个APK反编译利器Apktool

    一个APK反编译利器Apktool   APK 本地化 [http://www.andmoto.com/viewthread.php?tid=3873]   说起APK的汉化,目前大部分教程都是让用H ...

  7. 转载文章----IL反编译利器——Ildasm.exe和Reflector.exe:

    转载地址:http://www.cnblogs.com/yangmingming/archive/2010/02/03/1662546.html 一:Ildasm.exe简介  这一微软VS自带工具, ...

  8. Java反编译利器-Jad, Jode, Java Decompiler等及其IDE插件

    转自:http://blog.csdn.net/superbeck/article/details/5189231 对于长年使用Java的程序员,大部分应该都会或多或少的使用到反编译软件.毕竟,不可能 ...

  9. java 反编译利器JD-JUI

    下载地址: http://download.csdn.net/download/suixingbugai/4145221

随机推荐

  1. Chrome小技巧:如何下载离线版安装文件

    每当chrome有更新之后,都有不少用户想要下载离线版的安装文件,但苦于找不到下载地址而发愁,其实这个问题很简单,下面我来分享一下方法(仅针对Windows操作系统): 对于稳定版(正式版)Chrom ...

  2. mongodb----修改器

    $inc:增加或者减少指定键值,如果键不存在,就创建一个键. $set:指定一个健的值,如果键不存在,就创建一个键. $unset:删除指定的键. $push:向指定的数组末尾加添加一个元素,如果数组 ...

  3. 3Sum Closest 解答

    Question Given an array S of n integers, find three integers in S such that the sum is closest to a ...

  4. 关于Tcp三次握手的思考

    一.为什么不能使两次握手,两次握手就应该可以保证线路的畅通? 1) 只能建立一个方向的连接,称为半连接 记住TCP是全双工的. A向B发出请求,同时收到B的确认,这时只有A.B知道A到B的连接成功了. ...

  5. win环境下mysql5.6.14的所有变量的默认值

    在windows mysql5.6.14 x64版本下my.ini如下: [mysqld] port  = 3306 socket  = /tmp/mysql.sock basedir=D:/wamp ...

  6. C语言漫谈(二) 图像显示 Windows和Linux

    关于图像显示有很多库可以用,Windows下有GDI,GDI+,D3D等,Linux下有X Window和Wayland,此外还有OpenGL ,SDL等图形库以及各种GUI库. 了解最原始的方式,对 ...

  7. iTunes 重新提交代码步骤

    1.选择View Details 2.右侧Links-Binary Details选项 3.Reject This Binary

  8. 2016-XCTF Final-Richman

    抽时间将XCTF Final中Richman这个题总结了下.题目及ida idb所在的链接在:http://files.cnblogs.com/files/wangaohui/richman-blog ...

  9. 关于document.write()重写页面

    今天碰到了一个以前没注意的问题即:document.write(),在此拿来分享! document.write是最基本的JavaScript命令之一,这个命令简单地打印指定的文本内容到页面上(注意是 ...

  10. 使用图片拉伸resizableImageWithCapInsets

    在仿写QQ会话的时候背景蓝色图片是拉伸而来,但是有些地方是受保护的不能拉伸 所以定义了下面的工具类中的一个方法,专门拉伸图片 UIImageResizingModeStretch:拉伸模式,通过拉伸U ...