.net 反编译利器 dnspy
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的更多相关文章
- 8款非常不错的.Net反编译利器
本人搜集了下8款非常不错的.Net反编译利器: 1.Reflector Reflector是最为流行的.Net反编译工具.Reflector是由微软员工Lutz Roeder编写的免费程序.Refle ...
- 游戏反编译工具dnSpy
dnSpy使用的工具下载地址为: https://github.com/cnxy/dnSpy/archive/v4.0.0.zip 或 dnSpy官方下载地址: https://github.com/ ...
- [转][C#].Net反编译利器
来自:https://www.cnblogs.com/zsuxiong/p/5117465.html 有以下8款非常不错的.Net反编译利器: 1.Reflector Reflector是最为流行的. ...
- 【原创】Java批量反编译利器(jd-gui)介绍
Java反编译利器(jd-gui)介绍 当要做白盒测试或安全测试时,我们需要借助工具扫描被测代码,相信大家都遇到过没有源代码,而需要反编译的情形吧,也可能大家用过jad工具,我这里介绍下方便的工具jd ...
- Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正
Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正 http://blog.csdn.net/jiangwei0910410003/article/details/51 ...
- 一个APK反编译利器Apktool
一个APK反编译利器Apktool APK 本地化 [http://www.andmoto.com/viewthread.php?tid=3873] 说起APK的汉化,目前大部分教程都是让用H ...
- 转载文章----IL反编译利器——Ildasm.exe和Reflector.exe:
转载地址:http://www.cnblogs.com/yangmingming/archive/2010/02/03/1662546.html 一:Ildasm.exe简介 这一微软VS自带工具, ...
- Java反编译利器-Jad, Jode, Java Decompiler等及其IDE插件
转自:http://blog.csdn.net/superbeck/article/details/5189231 对于长年使用Java的程序员,大部分应该都会或多或少的使用到反编译软件.毕竟,不可能 ...
- java 反编译利器JD-JUI
下载地址: http://download.csdn.net/download/suixingbugai/4145221
随机推荐
- Keil C51里关于堆栈指针的处理
Keil C是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好.这是用C语言写代码的好处之一,如果用汇编写,得费一大番功夫给各个变量安排内存物理地址 ...
- esxi5.5 安装,虚拟机复制
尝试在vmware workstation上安装hadoop,感觉太慢了. 好在家里的台式机配置还可以,所以就想在它上面虚拟出几台服务器出来. 台式机配置如下: 虚拟出来三个应该没问题了吧. 第一步, ...
- UVA12186--树型DP
树型DP第一题...就是从boss到底层员工是一个树型结构,底层员工想加薪,如果每个boss都有超过T%的员工要求加薪,他就会往更高的bOSs传达,问如果让根节点的大boss接到加薪要求,最少要有多少 ...
- 04747_Java语言程序设计(一)_第7章_图形、图像与多媒体
例7.1小应用程序用6种字型显示字符串,显示内容说明本身的字型. import java.applet.*; import java.awt.*; public class Example7_1 ex ...
- linux学习方法之二
相信不少想学习linux的新手们正愁不知道看什么linux学习教程好,下面小编给大家收集和整理了几点比较重要的教程,供大家学习,如需想学习更多的话,可到wdlinux学堂寻找更多教程. 安装php扩展 ...
- hdu1016Prime Ring Problem
就是说,给你一个数n, 要你把1到n都连在一起成环. 每一个数不可反复, 且相连的两个数的和要是素数. 把全部情况输出来. 我是用dfs暴力出来的. 首先把素数打表, 然后每次顺时针预測下一个数 ...
- CAS原理与协议
SSO英文全称Single Sign On,单点登录. SSO是在多个应用系统中,用户仅仅须要登录一次就能够訪问全部相互信任的应用系统. SSO的解决方式非常多,比方收费的有UTrust.惠普灵动等, ...
- Android应用程序资源的查找过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8806798 我们知道,在Android系统中, ...
- BFC,IFC,GFC,FFC的定义及功能
What's FC?一定不是KFC,FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定 ...
- php使用session来保存用户登录信息
php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php //数据库的位置 define('DB_HOS ...
