.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
随机推荐
- 《Programming WPF》翻译 第6章 4.应用程序全球化
原文:<Programming WPF>翻译 第6章 4.应用程序全球化 如果你打算发布你的应用程序到全球各地,你可能需要为不同地区的用户界面准备不同的版本.至少,这需要解决将文本翻译成适 ...
- leetcode_question_114 Flatten Binary Tree to Linked List
Given a binary tree, flatten it to a linked list in-place. For example, Given 1 / \ 2 5 / \ \ 3 4 6 ...
- 单目录下多文件 makefile编写
makefile很久就接触过了,但是一直没怎么深入的去学习和总结:在项目中我也只是看看makefile或者修改部分语句,全部自己动手写的话还真没有:知识在于沉淀,这句说的非常好,所以现在把自己理解的东 ...
- Mysql 分别按月, 日为组group,进行统计排序order
在数据库中我们经经常使用sql语句对表进行简单的统计排序,对于日期字段.我们能够简单的对其进行order. 对于复杂一点的能够按日期中的年.月,日分别进行group,order. 按年份进行group ...
- PHP获取中英文混合字符串长度及截取
1.字符串长度 PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改 /** * PHP获取字符串中英文混合长度 * @param $str string 字符串 * ...
- Android应用切换皮肤功能实现(二)
原文地址http://www.apkbus.com/forum.php?mod=viewthread&tid=149034&highlight=%E7%9A%AE%E8%82%A4 上 ...
- Chrome 开发者工具详解(2):Network 面板
面板上包含了Elements面板.Console面板.Sources面板.Network面板. Timeline面板.Profiles面板.Application面板.Security面板.Audit ...
- asp.net在后台弹出confirm确认对话框并获取用户选择的值做出相应的操作
在asp项目中,这种情况是经常出现的,前段时间通过查找资料以及自己尝试,找到一种解决方案,但是不知是否有更好的方案,以后发现再进行记录. 一.思路 在本次项目中,在一个函数中需要让用户判断,并根据用户 ...
- (转)ASP.Net 学习路线
入门篇 1.学习面向对象(OOP)的编程思想 许多高级语言都是面向对象的编程,.NET也不例外.如果您第一次接触面向对象的编程,就必须理解类.对象.字段.属性.方法和事件.封装.继承和多态性.重载.重 ...
- feel倍儿爽
今天装的360,在卸载就要权限,在自己的电脑卸载360还要权限,真是一物降一物,安装了个牛逼的卸载软件就卸载了
