Skip to content
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

Support for 32-bit processes #5

Open
alexrp opened this issue Jul 2, 2022 · 6 comments
Open

Support for 32-bit processes #5

alexrp opened this issue Jul 2, 2022 · 6 comments
Assignees
Labels
area: build Issues related to the build system. area: diagnostics Issues related to the call stack tracing APIs. area: documentation Issues related to the documentation. area: hooking Issues related to the function hooking APIs. area: infrastructure Issues related to infrastructure (GitHub, CI, etc). area: injection Issues related to the assembly injection APIs. area: module Issues related to the injected native module. area: samples Issues related to the sample projects. cpu: x86 32 Issues that are specific to x86 (32-bit). state: blocked Issues that are blocked on some other issue/work. type: feature Issues that are classified as feature requests.
Milestone

Comments

@alexrp
Copy link
Sponsor Member

alexrp commented Jul 2, 2022

This would be limited to win-x86 since .NET doesn't even run on win-arm anymore.

@alexrp alexrp added state: deliberation Issues that require considerable deliberation and/or discussion before a resolution can be found. type: feature Issues that are classified as feature requests. area: build Issues related to the build system. area: documentation Issues related to the documentation. area: infrastructure Issues related to infrastructure (GitHub, CI, etc). area: samples Issues related to the sample projects. area: injection Issues related to the assembly injection APIs. labels Jul 2, 2022
@alexrp alexrp added this to the v2.0 milestone Jul 2, 2022
@alexrp alexrp self-assigned this Jul 2, 2022
@alexrp
Copy link
Sponsor Member Author

alexrp commented Jul 2, 2022

Some things that would need to be done:

  • Fetch libnethost.lib for win-x86.
  • Build the native module for win-x86.
  • Do some minor porting work in Vezel.Ruptura.Injection.
  • Port the hook gate machinery.
  • Add a sample that tests win-x64 -> win-x86 injection.

@alexrp
Copy link
Sponsor Member Author

alexrp commented Jul 2, 2022

This is mainly blocked on: ziglang/zig#11926

@alexrp alexrp changed the title Consider support for 32-bit processes Support for 32-bit processes Jul 5, 2022
@alexrp alexrp added state: blocked Issues that are blocked on some other issue/work. and removed state: deliberation Issues that require considerable deliberation and/or discussion before a resolution can be found. labels Jul 5, 2022
alexrp added a commit that referenced this issue Jul 5, 2022
alexrp added a commit that referenced this issue Jul 5, 2022
alexrp added a commit that referenced this issue Jul 5, 2022
alexrp added a commit that referenced this issue Jul 6, 2022
We don't use CreateRemoteThread to invoke it directly, so using cdecl simplifies
finding the symbol for 32-bit (no stdcall name mangling).

Part of #5.
@alexrp alexrp added the area: module Issues related to the injected native module. label Jul 6, 2022
@alexrp
Copy link
Sponsor Member Author

alexrp commented Jul 21, 2022

The hook gate needs to be ported to 32-bit:

throw new NotImplementedException(); // TODO: Implement 32-bit hook gate.

@alexrp alexrp added the area: hooking Issues related to the function hooking APIs. label Jul 21, 2022
@alexrp alexrp modified the milestones: v2.0, v3.0 Jul 23, 2022
@alexrp alexrp added the area: diagnostics Issues related to the call stack tracing APIs. label Jul 28, 2022
@alexrp
Copy link
Sponsor Member Author

alexrp commented Aug 4, 2023

The Zig bug has been recognized as a blocker for Tier 1 support, so seems likely it might be fixed in Zig 0.12.0.

@alexrp alexrp added the cpu: x86 32 Issues that are specific to x86 (32-bit). label Dec 14, 2023
@alexrp alexrp modified the milestones: v3.0, Future Jan 1, 2024
@alexrp
Copy link
Sponsor Member Author

alexrp commented Jan 12, 2024

This will need to be addressed as well:

internal sealed unsafe class ProcessMemoryStream : Stream
{
// TODO: Review some of the casts here.

@alexrp
Copy link
Sponsor Member Author

alexrp commented Apr 30, 2024

I've decided to go forward with #98 so this is only blocked on that now.

@alexrp alexrp modified the milestones: Future, v3.0 Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: build Issues related to the build system. area: diagnostics Issues related to the call stack tracing APIs. area: documentation Issues related to the documentation. area: hooking Issues related to the function hooking APIs. area: infrastructure Issues related to infrastructure (GitHub, CI, etc). area: injection Issues related to the assembly injection APIs. area: module Issues related to the injected native module. area: samples Issues related to the sample projects. cpu: x86 32 Issues that are specific to x86 (32-bit). state: blocked Issues that are blocked on some other issue/work. type: feature Issues that are classified as feature requests.
Development

No branches or pull requests

1 participant