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

[idea] PROXMARK WEB CLIENT #2667

Open
LaBestiaEZ opened this issue Nov 29, 2024 · 4 comments
Open

[idea] PROXMARK WEB CLIENT #2667

LaBestiaEZ opened this issue Nov 29, 2024 · 4 comments
Labels
enhancement New feature or request Request

Comments

@LaBestiaEZ
Copy link

LaBestiaEZ commented Nov 29, 2024

Is there any way to comunicate with proxmark via web?. Im thinking about using WEB SERIAL API in javascript to com with proxmark but i cant imagine how to start coding this

My idea is to install proxmark app in backend and excute it in the client using chrome and use proxmark without intalling anything just getting into a link

@LaBestiaEZ LaBestiaEZ added enhancement New feature or request Request labels Nov 29, 2024
@LaBestiaEZ LaBestiaEZ changed the title [idea] [idea] PROXMARK WEB CLIENT Nov 29, 2024
@xianglin1998
Copy link
Contributor

WebAssembly?

@xianglin1998
Copy link
Contributor

https://github.com/xianglin1998/proxmark3/tree/webassembly

@xianglin1998
Copy link
Contributor

How to compile?

  1. Install [emscripten ] -> https://emscripten.org/docs/getting_started/downloads.html
  2. Follow the tutorial to activate your EMSDK environment.
  3. cd to PM3 client dir, pay attention!!! must to client dir. not project root.
  4. exec compile cmd emmake make SKIPREADLINE=1 SKIPREVENGTEST=1 V=1
  5. waitting some time...
  6. After compile success, exec cmd to test emrun proxmark3.html -- --flush (Will open browser for [proxmark3.html])

@xianglin1998
Copy link
Contributor

xianglin1998 commented Dec 19, 2024

What's finished?

  1. compile to WASM
  2. Run by browser and offline mode is work fine.
  3. STDIN & STDOUT & STDERR redirect to HTML by xterm.js

Unfinished

  1. SIMD for hardnested(Now hardnested is disable, so github workflow will be failure cause by HARDNESTED cmd self check.)
  2. [whereami.c] for get path on current env.
  3. Serial communication, port like WEBSERIAL, (WEBSERIAL-polyfill), WEBUSB
  4. FILE R&W related.

Note

  1. Try to consider compatibility issues with serial communication, including both PC and mobile devices.
  2. SIMD needs to consider cross platform compatibility, so only SIMD instructions supported by browsers can be used.
  3. How can I conveniently manage files that are operated in the browser sandbox?
  4. Can I compile WASM as a workflow task and publish it on the GitHub page for PM3 repo?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Request
Projects
None yet
Development

No branches or pull requests

2 participants