-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Would PE-COFF be considered? #46
Comments
Yes, PE-COFF support is something that people have been thinking about, as can be seen in some comments. |
@lygstate I would love to add PE-COFF! I meant to add one, but I simply don't have the bandwidth at the moment. Note, I would prefer to do this in a principled manner, and have goblin add the scroll based writers for the various structs (this shouldn't be hard itself, just tedious). This commit is an example of adding the TryIntoCtx for some mach structs: m4b/goblin@0a6a54b#diff-df15384869d381a0999884ce946dda88R237 So two things need to be done:
So for 1., I or probably anyone in goblin repo (@philipc, @willglynn) can give guidance on proper implementations there; even just a PR adding them would get the ball rolling. Write implementations never really hurt :) For 2., I don't know much about PE object file formats, but it shouldn't be too bad. Maybe @sunfishcode can help, or , or @tathanhdinh, who has been doing a lot of great work on PE stuff lately in goblin repo could help or add pointers, etc. I'd also highly recommend a workflow like: #include<stdio.h>
int main() {
printf("Hello, world\n");
return 0;
} and then using Rustc also has a nice cross compilation situation, so a simple hello.rs with |
Anyone working on this might want to BB||S||buy the usual reversing tools. |
I am working on the goblin support for this. |
Hi, i wanted to ask if there is any update on adding Coff support. I am currently making a code generation libary (like LLVM) named CodeGenLib. But it can currently only generate Object-Files for Linux because there is no Coff support only Elf. Without your crate my libary wouldn't exists big thanks |
Maybe the object crate would be of help? It supports emitting ELF, Mach-O, COFF and XCOFF using a single unified api: https://docs.rs/object/latest/object/write/struct.Object.html Cranelift uses it for writing object files too. |
Is it as easy to use as this crate? (I mean the creation of functions, data, linking, etc..) |
Imho it is fairly easy to use. |
@Toni-Graphics i know raito has been working on pe related writer stuff in goblin, and has a crate https://github.com/RaitoBezarius/ifrit/blob/master/README.md for pe writers, but i don't know if it will support your usecases |
Thanks, for your recommendation, but sadly i cannot use the libary for my usecase |
I think the question can be closed now |
No description provided.
The text was updated successfully, but these errors were encountered: