x64dbg / dotx64dbg Goto Github PK
View Code? Open in Web Editor NEWx64Dbg plugin that enables C# plugins with hot-loading support and scripting.
License: MIT License
x64Dbg plugin that enables C# plugins with hot-loading support and scripting.
License: MIT License
Excited about this project.
Installed both of the requirements linked to in the log, but still getting this error message.
Unable to load Dotx64Dbg, make sure you have following installed:
- .NET 6.0 Runtime (https://dotnet.microsoft.com/download/dotnet/6.0)
- Visual Studio 2019 Runtime (https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0)
I've also clone the repo and was able to successfully build it.
Running x64dbg version snapshot_2023-03-04_02-26
Here is my placement of the plugin files:
Am I missing something?
One thing that I noticed is the dictionary used in the menu system should probably be a ConcurrentDictionary
(not sure) because sometimes when calling ReloadPlugin
here:
ArgumentException
or NullReferenceException
like:
or even deadlock the application at startup. I also, for testing, added a Thread.Sleep(100)
before calling ReloadPlugin
, and seems to "solve" the problem. That's why I think I could be a concurrency problem
Originally posted by @Guila767 in #48 (comment)
It currently wants to compile every *.cs file, when VS is loaded the .vs and obj folder can contain private source files which should not be compiled.
Commands currently require the function signature of bool Command(string[] args)
or void Command(string[] args)
. In a lot of cases the arguments are unused and should be made optional.
GuiRefXXX APIs to add references
When I use the command the first time I run x64dbg, I get an error:
Exception: System.MissingMethodException: Method not found: 'System.Collections.Immutable.ImmutableArray`1<Microsoft.Diagnostics.Runtime.ClrInfo> Microsoft.Diagnostics.Runtime.DataTarget.get_ClrVersions()'.
at DotInfo.Plugin.Init(String[] args)
at Dotx64Dbg.Plugins.<>c__DisplayClass44_0.<RegisterPluginCommand>b__0(String[] args)
at Dotx64Dbg.Commands.CommandHandler(String cmd, Int32 argc, IntPtr ptr)
at Dotx64Dbg.Commands.<>c__DisplayClass8_0.<Register>b__0(Int32 argc, IntPtr argv)
The error disappears if you add a couple of spaces in the source code to run hotreload.
After reloading x64dbg, the error reappears until you run hotreload through adding spaces...
P.S "Microsoft.Diagnostics.Runtime.DataTarget.get_ClrVersions" is a method from the nuget package.
To make things a bit easier the menu should be something like
Dotx64Dbg
-> Run Script
-> Create Plugin
-> Settings
-> Seperatator
-> Loaded Plugin 1
-> Open in Editor
It currently uses the same folder for both versions, should be separate.
When code is compiled and the debugger wants to terminate it freezes.
I am encountering issues with this plugin that is designed for 32-bit, while running it on Windows 11, snapshot_2023-09-16_13-36. x64dbg keeps crashing upon launch. I require immediate assistance to resolve this problem.
Probably Instruction.Id
should be Instruction.Mnemonic
and Decoder
should have an alias Disassembler
Would be good to basically export the GotoDialog
from the GUI an expose it with a quick API that returns a duint
(this also requires changes in x64dbg).
and i also want to get the bplist
本地预配向导和预配代理。
若要开始生成 .NET 应用,请下载并安装 .NET SDK (软件开发工具包)。
[
Currently each plugin is built every startup, it should instead use a cached build when available.
It crashes x64Dbg entirely because ljwhost.dll triggers int3 when its missing.
Reference: https://developercommunity.visualstudio.com/t/tmp-files-created-in-solution-directory/180376
This needs to be detected to avoid unloading the plugin entirely for a brief moment, this also disables hotloading because of this effect.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.