zoukankan      html  css  js  c++  java
  • .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%dnSpydnthemedirectory. If you wish to override a standard theme, copy the file to %APPDATA%dnSpydntheme 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
    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.

  • 相关阅读:
    点击对应不同name的button,显示不同name的弹窗(弹窗功能)
    点击添加本地图片的前端效果制作
    巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁)
    移动端取消touch高亮效果
    手机网站的几点注意
    图片自动切换+链接
    使用DOM的方法获取所有li元素,然后使用jQuery()构造函数把它封装为jQuery对象
    使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息
    利用jQuery扩展接口为jQuery框架定义了两个自定义函数,然后调用这两个函数
    jQuery链式语法演示
  • 原文地址:https://www.cnblogs.com/micro-chen/p/5613135.html
Copyright © 2011-2022 走看看