- Add auto-detection fallback for MAC mode in value operations
When MAC mode fails with length errors, automatically retry with
plain mode for better compatibility across different card types
- Fix MAC transmission behavior for value operations
Remove CREDIT, LIMITED_CREDIT, and DEBIT from EV1D40TransmitMAC
array to match real card behavior and prevent authentication issues
- Change default algorithm from DES to 2TDEA
Real DESFire cards seem to use 2TDEA by default, improving
out-of-the-box compatibility with factory cards
- Update help text for value commands to follow client patterns
Standardize "Crypt algo (deft: 2TDEA)" format for consistency
- Add online test suite for DESFire value operations
New pm3_online_tests.sh script validates value file creation,
credit/debit operations in both plain and MAC modes with real cards
Added LANG=C to the script to enforce the English language so that it does not break when the system language is not English.
Signed-off-by: Hanra <37299738+HenraL@users.noreply.github.com>
Openssl@1.1 was disabled 2024-10-24 due to not being supported upstream and blocked from install. Updated to openssl@3.5 in order for compilation to be successful on machines installed after that date. Older machines is encouraged to update.
Signed-off-by: apply-science <106422483+apply-science@users.noreply.github.com>
While building proxmark3 in an environment without `git` installed, I
noticed the following errors on stderr:
```
mkversion create test env: 'git': No such file or directory
stat: cannot statx '../README.md': No such file or directory
```
The first line "env: 'git': No such file or directory" is expected, as
git is not installed.
However, the second line "stat: cannot statx '../README.md': No such
file or directory" is a real error: we're running from top-level
directory, so the correct path for README.md is just "README.md".
CheckExecute() has a flag to tell it if a check needs opencl support or
not and can automatically disable the check if opencl checks are not
requested. Mostly copy and paste the same feature into CheckFileExist
and add it where needed.