105860103 发表于 2015-12-26 17:40:20

.Net反编译和调试神器 DnSpyv1.5

BAML to XAML decompiler
Speed up treeview and text editor scrolling. Must be enabled in the settings. Doesn't support word wrapping or some characters (eg. chinese characters).和de4dot的作者是同一人,NET程序动态调试工具,值得大家使用。使用参考文章:(用dnSpy破译某旅游系统5.2版)http://www.myexception.cn/c-sharp/2030174.html
下载地址:https://github.com/0xd4d/dnSpy/releases
源代码下载地址:https://github.com/0xd4d/dnSpy/releases
BinariesLatest release: https://github.com/0xd4d/dnSpy/releasesLatest build (possibly unstable): https://ci.appveyor.com/project/0xd4d/dnspy/build/artifactsFeatures
[*]Assembly editor
[*]Decompiler
[*]Debugger
[*]Tabs and tab groups
[*]Themes (blue, dark, light and high contrast)
ThemesdnSpy looks for *.dntheme files in the <dnSpy-bin-dir>\dntheme directory and the user's %APPDATA%\dnSpy\dntheme directory. If you wish to override a standard theme, copy the file to %APPDATA%\dnSpy\dntheme and edit the file.Keyboard shortcuts
KeyDescription
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
BackspaceNavigate back in history
Alt+Left ArrowNavigate back in history
Alt+Right ArrowNavigate 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+F9Delete 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+TOpen a new tab
Ctrl+WClose current tab
Ctrl+F4Close current tab
Ctrl+TabGo to next tab
Ctrl+Shift+TabGo to previous tab
Ctrl+KOpen 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+SSave code
Ctrl+Shift+SSave all modified assemblies and netmodules
Ctrl+OOpen 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.
F7Give text editor keyboard focus
Ctrl+Alt+0Give text editor keyboard focus
Ctrl+Alt+LGive 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+EnterToggle 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
CreditsFor license info, authors and other credits, see README.txt.Build instructionsFirst grab the code using git:git clone https://github.com/0xd4d/dnSpy.gitcd dnSpygit 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.DependenciesThe 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.

lhglhg 发表于 2015-12-26 19:30:11

看样子,不错的。可惜下载不了、、

0xcb 发表于 2015-12-26 21:06:21

de4dot用的多,这个应该是这半年作者才发力的,给力呀,wpf还有春天吗,

105860103 发表于 2015-12-26 21:13:38

0xcb 发表于 2015-12-26 21:06
de4dot用的多,这个应该是这半年作者才发力的,给力呀,wpf还有春天吗,

作者是个牛人,更新得很快,而且出的工具都很给力

0xcb 发表于 2015-12-26 22:07:24

105860103 发表于 2015-12-26 21:13
作者是个牛人,更新得很快,而且出的工具都很给力

已经去Star,并且Fork了一份,:D

左岸麦田 发表于 2015-12-27 01:20:46

感谢楼主分享。

waddt123 发表于 2015-12-27 03:02:27

英文的。。。还是用.NET Reflector好了。。。

erui 发表于 2015-12-27 10:38:06

不错,谢谢楼主分享

zhang132 发表于 2015-12-27 18:50:30

学习一下吧。

speedboy 发表于 2015-12-27 19:11:34

0xcb 发表于 2015-12-26 21:06
de4dot用的多,这个应该是这半年作者才发力的,给力呀,wpf还有春天吗,

2015年7月开始投放的1.0版本。
页: [1] 2 3
查看完整版本: .Net反编译和调试神器 DnSpyv1.5