Skip to content

Linux support? #1

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

Open
tiann opened this issue Aug 31, 2021 · 6 comments
Open

Linux support? #1

tiann opened this issue Aug 31, 2021 · 6 comments

Comments

@tiann
Copy link

tiann commented Aug 31, 2021

Is there any plan for Linux support?

@Lonami
Copy link
Owner

Lonami commented Aug 31, 2021

First issue 🎉

I would like to refactor this repository into something more library-like (more oriented as building blocks for a bigger program than just the functions scattered around as I need in order to complete Cheat Engine's tutorial).

Once that's done, I would love to support more than just Windows. I don't have plans to do this myself, but anyone is more than welcome to contribute. We only really need a few building blocks from the system (enumerating modules, reading and writing memory, for the most part).

If you're willing to contribute let me know and I'll be happy to offer some guidance.

@tiann
Copy link
Author

tiann commented Sep 2, 2021

I am familiar with Linux/Android platform and i am willing to contribute it.

There is many winapi in the code now, we should refact it and add a layer to abstract the os dependent things, but i am not so good at Rust :(

For Linux, it is easy to add memory search feature, but the debug mode is a little hard because the ptrace is not easy to write it correct. And also, for Android platform, normal apps can not run as root, it must use a socket to communicate with a remote root daemon process to do privileged operations, so the lib must provide a remote mode(just like CE's ceserver), otherwise it can only work on adb shell and would never work on Android App.

By the way, your blog is really great :)

@Lonami
Copy link
Owner

Lonami commented Sep 2, 2021

I'm thinking we could have a private mod os with a file (or submodule) for each OS (think win.rs, nix.rs, and remote.rs for Android) where OS-specific code lives. Then we could refactor the code to use those functions from os (which would conditionally re-export depending on the target OS) to use these. This can get tricky if the API varies wildly (e.g. ptrace as you mention, with which I have 0 experience). What do you think? Could you think of a better approach?

@tiann
Copy link
Author

tiann commented Sep 2, 2021

I think making a private mod is a good way

@Lonami
Copy link
Owner

Lonami commented Sep 2, 2021

Would you like to give it a go? If not, I'll see if I can put some time aside for it.

@pwh-pwh
Copy link

pwh-pwh commented Jan 15, 2024

I think making a private mod is a good way
weishu, I am your fan. Are you still interested in writing this memory modification library written in rust?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants