zyantific / zydis-pascal

Zydis Pascal Bindings
MIT License
18 stars 6 forks source link

Looking for an update .. #1

Open MichaelDamsgaard opened 1 year ago

MichaelDamsgaard commented 1 year ago

@flobernd

Sir,

While programming my own profiler as a learning project, I found myself in need of a disassembler for various purposes, mostly when loading libraries during the LOAD_DLL_DEBUG_EVENT in my debugger loop, where I place opcode $CC (or $F1) on every exported API, for later live benchmarking.

I would VERY much like to try out Zydis, but unfortunately I am a Delphi scriptkid, and my experience with Visual Studio is more or less null.

Is it possible that this repository could get (will get) an update so that it will work with current release of Zydis ?

PS: Great (!) work on Zydis !

Thanks in advance :-)

flobernd commented 1 year ago

Hi @MichaelDamsgaard,

is there anything specific you need from the new version of Zydis (e.g. specific instruction sets that are currently not supported by the Zydis version in this repo)?

I can offer to re-generate all the auto-generated files so that they can work with the latest Zydis version. However, updating the bindings will require more work as some of the structs and APIs have changed in the meantime. Besides that, new binary *.lib/*.dll files must be compiled (this is something I could totally do for you).

My time is very limited at the moment therefore I can not promise anything. I for sure don't want to abandon these bindings completely, but it might still take some time.

That being said: With the auto-generated files and binaries, it should not be to hard for you to adjust for the recent changes (they are not that many) an I'm happy to accept PRs. Let me know if you are open for contributing and I will make sure to provide everything I can at this point.

Coldzer0 commented 1 year ago

Hello @flobernd @MichaelDamsgaard

I've been working on an update for the Pascal binding, and I made good progress.

Here's the repo with what I've finished https://github.com/Coldzer0/zydis-pascal-new

Any contribution would be great ^_^

image

flobernd commented 1 year ago

Hi @Coldzer0 ! This is really great to see and gives me motivation to look into it again as well 🙂

If you don't mind, you could create a pull request in this official repository so that your changes can be reviewed. This would as well allow me to work with you on the same branch at the same time.

Coldzer0 commented 1 year ago

The work I did was just a couple of hours work ^_^ So, It needs more work to be completed for a pull request.

A pull request means I should remove all old files and start a new, fresh one with a pull request; what do you think?

flobernd commented 1 year ago

@Coldzer0 No worries, the PR does not have to be complete 🙂 We can work on it incrementally.

I think the easiest way is using the "fork" button in the GitHub UI. You can afterwards clone the forked repo on your dev machine, create a new branch, apply your changes and push it. Again on the GitHub UI you should find an option to create a PR to the original repository (this one).

Coldzer0 commented 1 year ago

@flobernd I just created the Pull request #2