RfidResearchGroup / proxmark3

Iceman Fork - Proxmark3
http://www.icedev.se
GNU General Public License v3.0
3.63k stars 981 forks source link

Add `lf em 4x70 recover` command for second half of key recovery #2313

Closed henrygab closed 4 months ago

henrygab commented 4 months ago

Relies on new dependency, id48lib.

After this is enabled, work can begin to validate lf em 4x70 writekey successfully wrote the requested key.

Now uses smaller lookup tables to emulate output filter. No more 128k ROM/FLASH memory requirement, if adding id48lib to ARM binaries.

iceman1001 commented 4 months ago

Nice! Great reseach of yours. Well done indeed!

It will take me some time to read through but I will merge pretty soon :)

The command structure inside the em4x70 will need some refactoring to become like the rest of the client as you noted.

Sidenote, The printandlogex can use the NOLF when you don't want a linefeed

iceman1001 commented 4 months ago

You also would need to add the changes in experimental_lib/CMakefiles

iceman1001 commented 4 months ago

I do understand the use of assert, however it aborts the client and leaves you in the shell.
We have found that pattern to be annoying. We rather gracefully inform the user that the operation failed and they can continue in the pm3 shell.

Reconsider the use of assert.

henrygab commented 4 months ago

Reconsider the use of assert.

OK, assertions are fully disabled for ID48LIB in the PM3 build.

You also would need to add the changes in experimental_lib/CMakefiles

Here, I am lost. Can you please help to make the required changes in experimental_lib/CMakefiles? If I am required to handle this directly, it will likely take many days.

iceman1001 commented 4 months ago

:) No worries, easy merge

henrygab commented 4 months ago

:) No worries, easy merge

Hah! Just that one line? I had looked at all the related libs, and how they had many conditional statements on being skipped, being found, ... I obviously overthought the difficulty of the addition needed. :) Thank you!

iceman1001 commented 4 months ago

Well..

I was guessing your Cmakefile was working. if that was the case, some more testing is need to verify it all works, not just build