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

Facedancer v3.0.0 #78

Merged
merged 24 commits into from
Feb 20, 2024

Conversation

antoinevg
Copy link
Member

@antoinevg antoinevg commented Dec 19, 2023

This PR replaces the core Facedancer v2.x implementation with facedancer.future and marks the beginning of facedancer v3.x development.

If you're using scripts or training materials that depend on features or APIs deprecated in v3.x, or simply seeking the old applets and examples, you can still access them in the v2.9.x branch.

@antoinevg antoinevg mentioned this pull request Jan 4, 2024
@antoinevg antoinevg self-assigned this Jan 4, 2024
@antoinevg antoinevg force-pushed the antoinevg/facedancer-v3 branch 3 times, most recently from 039531c to f5eec58 Compare January 18, 2024 08:18
@xairy
Copy link
Contributor

xairy commented Jan 18, 2024

Would it be possible to port the facedancer-keyboard-interactive.py legacy example to the new framework? It took me some time to implement it, quite a pity seeing it being just removed.

@antoinevg
Copy link
Member Author

antoinevg commented Jan 19, 2024

The legacy keyboard examples based on USBKeyboard have been deprecated in favour of the rubber-ducky example which uses a USBKeyboardDevice implementation based on Facedancer 3.0's new HID Class definitions.

I've got a bit much on my plate for the next few months to tackle porting the rest of the legacy keyboard examples myself, but if you are interested a good place to start would be to look at:

@antoinevg antoinevg mentioned this pull request Jan 23, 2024
@antoinevg antoinevg changed the title Facedancer v3.0 Facedancer v3.0.0 Feb 19, 2024
@antoinevg antoinevg force-pushed the antoinevg/facedancer-v3 branch 3 times, most recently from 57a0a52 to 1f2109c Compare February 19, 2024 14:24
antoinevg and others added 13 commits February 20, 2024 09:56
The to_this_endpoint() decorator based on the _wrap_with_field_matcher() helper did not compare the
requests index against the endpoints address but against the static value 0b10001111.
…multiple interfaces

The to_this_interface() decorator based on the _wrap_with_field_matcher() did
not check the "index" field of the request. Thus always the first interfaces
request handler was run.
USBDevice.handle_generic_get_descriptor_request() is called from
USBInterface and USBDevice. Both callers passed themself as "self",
which is technicially not correct, as "self" always has to be
of type USBDevice.

Now the signature is changed, so that it shows all
possible types correctly.
@antoinevg antoinevg marked this pull request as ready for review February 20, 2024 08:14
@antoinevg antoinevg changed the base branch from main to v3.0.x February 20, 2024 08:41
@antoinevg antoinevg merged commit 1ddaf94 into greatscottgadgets:v3.0.x Feb 20, 2024
1 check passed
@antoinevg antoinevg deleted the antoinevg/facedancer-v3 branch February 20, 2024 09:20
@antoinevg antoinevg mentioned this pull request Feb 20, 2024
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

Successfully merging this pull request may close these issues.

3 participants