mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
CHG: one step closer to finish merging @marshmellow42 's 4x05 changes.
This commit is contained in:
parent
b87ad7964e
commit
d216a5711b
3 changed files with 130 additions and 102 deletions
|
@ -1030,6 +1030,33 @@ int CmdVchDemod(const char *Cmd) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//by marshmellow
|
||||
int CheckChipset(bool getDeviceData) {
|
||||
|
||||
if (!getDeviceData) return 0;
|
||||
|
||||
uint32_t word = 0;
|
||||
save_restoreGB(1);
|
||||
|
||||
//check for em4x05/em4x69 chips first
|
||||
if (EM4x05IsBlock0(&word)) {
|
||||
save_restoreGB(0);
|
||||
PrintAndLog("\nValid EM4x05/EM4x69 Chipset found\nTry `lf em 4x05` commands\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
//TODO check for t55xx chip...
|
||||
// if ( t55xxIsBlock0(() {
|
||||
// save_restoreGB(0);
|
||||
// PrintAndLog("\nValid T55xx Chipset found\nTry `lf t55xx` commands\n");
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
save_restoreGB(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//by marshmellow
|
||||
int CmdLFfind(const char *Cmd) {
|
||||
int ans = 0;
|
||||
|
@ -1038,7 +1065,9 @@ int CmdLFfind(const char *Cmd) {
|
|||
char testRaw = param_getchar(Cmd, 1);
|
||||
if (strlen(Cmd) > 3 || cmdp == 'h' || cmdp == 'H') return usage_lf_find();
|
||||
|
||||
if (!offline && (cmdp != '1')){
|
||||
bool getDeviceData = (!offline && (cmdp != '1') );
|
||||
|
||||
if (getDeviceData) {
|
||||
CmdLFRead("s");
|
||||
getSamples("30000", false);
|
||||
} else if (GraphTraceLen < minLength) {
|
||||
|
@ -1054,11 +1083,14 @@ int CmdLFfind(const char *Cmd) {
|
|||
size_t testLen = minLength;
|
||||
|
||||
// only run these tests if device is online
|
||||
if (!offline && (cmdp != '1')){
|
||||
if (getDeviceData) {
|
||||
|
||||
// only run if graphbuffer is just noise as it should be for hitag/cotag
|
||||
if (graphJustNoise(GraphBuffer, testLen)) {
|
||||
|
||||
if (CheckChipset(getDeviceData) )
|
||||
return 1;
|
||||
|
||||
ans=CmdLFHitagReader("26");
|
||||
if (ans==0)
|
||||
return 1;
|
||||
|
@ -1073,6 +1105,9 @@ int CmdLFfind(const char *Cmd) {
|
|||
}
|
||||
}
|
||||
|
||||
// identify chipset
|
||||
CheckChipset(getDeviceData);
|
||||
|
||||
ans=CmdFSKdemodIO("");
|
||||
if (ans>0) {
|
||||
PrintAndLog("\nValid IO Prox ID Found!");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue