Mifare Plus can now be dumped quickly.
This is achieved by using a mix of READ RANGE, skipping reply MACs, requesting data in plaintext (almost) as much as possible, and also avoiding card + crypto restarts.
1K tags now require 3 seconds; 2k require just shy of 6; 4k require 8.
Previously the time for 2k tags was 9 seconds. While the improvement is pretty small, it helps out.
Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
Overhaul of the auth function
Now a new bool can be passed if the auth coming in is meant to be a followup.
This avoids regeneration of Ti. Maybe that's faster.
Not functional for any management key.
Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
This function is primarily used by Mifare Plus auths.
One problem that is present is when using keys 9002 or 9003 to upgrade a card to a new security level, the card will likely spend more time than usual adjusting all settings before it replies, as such causing a timeout.
This increase fixes that.
Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
Minor addition of hfmfsen to autopwn, fix for some GUI element alignment, hardnested and SEN specifically due to overlaps and vague text, and minor edits to hf mf sen to use default-dictionary keys. propagated to internal SEN state to save time
now, one can do "script run mything.py" multiple times without
crashing, and exit codes are correct.
Pm3PyRun_SimpleFileNoExit:
* use XDECREF instead of DECREF (handles possible nullptr).
* don't double-free "er".
* print exit status correctly.
CmdScriptRun:
* allow invoking scripts multiple times.
* fix memleak of argtable contents if help path not triggered.
* configure_c_stdio should be 0 or 1, not < 0.
* py_conf: don't explicitly set options to their default values, it's confusing.
* Call Py_Finalize only when exiting pm3.
main_loop:
* cleanup cmdscript from main_loop. Important to call
Py_Finalize from here in case Qt is used (in which case
main_loop is on Qt thread).
ProxGuiQT::MainLoop:
* reduce timer delay to 0 - there isn't a need to wait here.