mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-14 18:48:13 -07:00
lf em 4x70 writekey
--> lf em 4x70 setkey
This commit is contained in:
parent
ba83ac065e
commit
cc2bae2f4d
9 changed files with 91 additions and 91 deletions
|
@ -250,20 +250,20 @@ then `Aᵥ' = Aᵥ`.
|
|||
|
||||
```
|
||||
REM using the key and auth values from the research paper
|
||||
lf em 4x70 writekey --key A090A0A02080000000000000
|
||||
lf em 4x70 setkey --key A090A0A02080000000000000
|
||||
REM expect a tag response of `60 9D 6`
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
REM repeat using 31 additional keys in the same "block"
|
||||
lf em 4x70 writekey --key A090A0A02080000000000001
|
||||
lf em 4x70 setkey --key A090A0A02080000000000001
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
lf em 4x70 writekey --key A090A0A02080000000000002
|
||||
lf em 4x70 setkey --key A090A0A02080000000000002
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
lf em 4x70 writekey --key A090A0A02080000000000003
|
||||
lf em 4x70 setkey --key A090A0A02080000000000003
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
REM ... and so on, for a total of 31 more keys
|
||||
lf em 4x70 writekey --key A090A0A0208000000000001E
|
||||
lf em 4x70 setkey --key A090A0A0208000000000001E
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
lf em 4x70 writekey --key A090A0A0208000000000001F
|
||||
lf em 4x70 setkey --key A090A0A0208000000000001F
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
```
|
||||
|
||||
|
@ -287,11 +287,11 @@ then `Aᵥ' ^ Aᵥ <= 0x1`.
|
|||
|
||||
```
|
||||
REM using the key and auth values from the research paper
|
||||
lf em 4x70 writekey --key A090A0A02080000000000000
|
||||
lf em 4x70 setkey --key A090A0A02080000000000000
|
||||
REM expect a tag response of `60 9D 6`
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
REM repeat using 31 additional keys in the same "block"
|
||||
lf em 4x70 writekey --key A090A0A02080000000000020
|
||||
lf em 4x70 setkey --key A090A0A02080000000000020
|
||||
REM 50% chance that this is the correct FRN value
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F1A0
|
||||
REM 50% chance that this is the correct FRN value
|
||||
|
@ -313,7 +313,7 @@ in a successful authentication:
|
|||
|
||||
```
|
||||
REM modify the key's lowest nine bits
|
||||
lf em 4x70 writekey --key A090A0A02080000000000100
|
||||
lf em 4x70 setkey --key A090A0A02080000000000100
|
||||
REM 1/16 chance for each of these to work:
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F100
|
||||
lf em 4x70 auth --rnd 3FFE1FB6CC513F --frn F355F110
|
||||
|
@ -451,60 +451,60 @@ influence a given output bit?
|
|||
|
||||
| sₙ | Output Bit | Bits in `K` | Delta from s(N-1) | Hex Value |
|
||||
|-------|-------------|-------------|-------------------|------------------|
|
||||
| `s₁` | ` ` | `K[39..95]` | `K₃₉` | `0x80_0000_0000` |
|
||||
| `s₂` | ` ` | `K[38..95]` | `K₃₈` | `0x40_0000_0000` |
|
||||
| `s₃` | ` ` | `K[37..95]` | `K₃₇` | `0x20_0000_0000` |
|
||||
| `s₄` | ` ` | `K[36..95]` | `K₃₆` | `0x10_0000_0000` |
|
||||
| `s₅` | ` ` | `K[35..95]` | `K₃₅` | `0x08_0000_0000` |
|
||||
| `s₆` | ` ` | `K[34..95]` | `K₃₄` | `0x04_0000_0000` |
|
||||
| `s₇` | `Aᵥ₂₇` | `K[33..95]` | `K₃₃` | `0x02_0000_0000` |
|
||||
| `s₈` | `Aᵥ₂₆` | `K[32..95]` | `K₃₂` | `0x01_0000_0000` |
|
||||
| `s₉` | `Aᵥ₂₅` | `K[31..95]` | `K₃₁` | `0x00_8000_0000` |
|
||||
| `s₁₀` | `Aᵥ₂₄` | `K[30..95]` | `K₃₀` | `0x00_4000_0000` |
|
||||
| `s₁₁` | `Aᵥ₂₃` | `K[29..95]` | `K₂₉` | `0x00_2000_0000` |
|
||||
| `s₁₂` | `Aᵥ₂₂` | `K[28..95]` | `K₂₈` | `0x00_1000_0000` |
|
||||
| `s₁₃` | `Aᵥ₂₁` | `K[27..95]` | `K₂₇` | `0x00_0800_0000` |
|
||||
| `s₁₄` | `Aᵥ₂₀` | `K[26..95]` | `K₂₆` | `0x00_0400_0000` |
|
||||
| `s₁₅` | `Aᵥ₁₉` | `K[25..95]` | `K₂₅` | `0x00_0200_0000` |
|
||||
| `s₁₆` | `Aᵥ₁₈` | `K[24..95]` | `K₂₄` | `0x00_0100_0000` |
|
||||
| `s₁₇` | `Aᵥ₁₇` | `K[23..95]` | `K₂₃` | `0x00_0080_0000` |
|
||||
| `s₁₈` | `Aᵥ₁₆` | `K[22..95]` | `K₂₂` | `0x00_0040_0000` |
|
||||
| `s₁₉` | `Aᵥ₁₅` | `K[21..95]` | `K₂₁` | `0x00_0020_0000` |
|
||||
| `s₂₀` | `Aᵥ₁₄` | `K[20..95]` | `K₂₀` | `0x00_0010_0000` |
|
||||
| `s₂₁` | `Aᵥ₁₃` | `K[19..95]` | `K₁₉` | `0x00_0008_0000` |
|
||||
| `s₂₂` | `Aᵥ₁₂` | `K[18..95]` | `K₁₈` | `0x00_0004_0000` |
|
||||
| `s₂₃` | `Aᵥ₁₁` | `K[17..95]` | `K₁₇` | `0x00_0002_0000` |
|
||||
| `s₂₄` | `Aᵥ₁₀` | `K[16..95]` | `K₁₆` | `0x00_0001_0000` |
|
||||
| `s₂₅` | `Aᵥ₉` | `K[15..95]` | `K₁₅` | `0x00_0000_8000` |
|
||||
| `s₂₆` | `Aᵥ₈` | `K[14..95]` | `K₁₄` | `0x00_0000_4000` |
|
||||
| `s₂₇` | `Aᵥ₇` | `K[13..95]` | `K₁₃` | `0x00_0000_2000` |
|
||||
| `s₂₈` | `Aᵥ₆` | `K[12..95]` | `K₁₂` | `0x00_0000_1000` |
|
||||
| `s₂₉` | `Aᵥ₅` | `K[11..95]` | `K₁₁` | `0x00_0000_0800` |
|
||||
| `s₃₀` | `Aᵥ₄` | `K[10..95]` | `K₁₀` | `0x00_0000_0400` |
|
||||
| `s₃₁` | `Aᵥ₃` | `K[ 9..95]` | `K₉` | `0x00_0000_0200` |
|
||||
| `s₃₂` | `Aᵥ₂` | `K[ 8..95]` | `K₈` | `0x00_0000_0100` |
|
||||
| `s₃₃` | `Aᵥ₁` | `K[ 7..95]` | `K₇` | `0x00_0000_0080` |
|
||||
| `s₃₄` | `Aᵥ₀` | `K[ 6..95]` | `K₆` | `0x00_0000_0040` |
|
||||
| `s₃₅` | `Aₜ₁₉` | `K[ 5..95]` | `K₅` | `0x00_0000_0020` |
|
||||
| `s₃₆` | `Aₜ₁₈` | `K[ 4..95]` | `K₄` | `0x00_0000_0010` |
|
||||
| `s₃₇` | `Aₜ₁₇` | `K[ 3..95]` | `K₃` | `0x00_0000_0008` |
|
||||
| `s₃₈` | `Aₜ₁₆` | `K[ 2..95]` | `K₂` | `0x00_0000_0004` |
|
||||
| `s₃₉` | `Aₜ₁₅` | `K[ 1..95]` | `K₁` | `0x00_0000_0002` |
|
||||
| `s₄₀` | `Aₜ₁₄` | `K[ 0..95]` | `K₀` | `0x00_0000_0001` |
|
||||
| `s₄₁` | `Aₜ₁₃` | `K[ 0..95]` | ... | |
|
||||
| `s₄₂` | `Aₜ₁₂` | `K[ 0..95]` | ... | |
|
||||
| `s₄₃` | `Aₜ₁₁` | `K[ 0..95]` | ... | |
|
||||
| `s₄₄` | `Aₜ₁₀` | `K[ 0..95]` | ... | |
|
||||
| `s₄₅` | `Aₜ₉` | `K[ 0..95]` | ... | |
|
||||
| `s₄₆` | `Aₜ₈` | `K[ 0..95]` | ... | |
|
||||
| `s₄₇` | `Aₜ₇` | `K[ 0..95]` | ... | |
|
||||
| `s₄₈` | `Aₜ₆` | `K[ 0..95]` | ... | |
|
||||
| `s₄₉` | `Aₜ₅` | `K[ 0..95]` | ... | |
|
||||
| `s₅₀` | `Aₜ₄` | `K[ 0..95]` | ... | |
|
||||
| `s₅₁` | `Aₜ₃` | `K[ 0..95]` | ... | |
|
||||
| `s₅₂` | `Aₜ₂` | `K[ 0..95]` | ... | |
|
||||
| `s₅₃` | `Aₜ₁` | `K[ 0..95]` | ... | |
|
||||
| `s₅₄` | `Aₜ₀` | `K[ 0..95]` | ... | |
|
||||
| `s₁` | ` ` | `K[39..95]` | `K₃₉` | `0x80_0000_0000` |
|
||||
| `s₂` | ` ` | `K[38..95]` | `K₃₈` | `0x40_0000_0000` |
|
||||
| `s₃` | ` ` | `K[37..95]` | `K₃₇` | `0x20_0000_0000` |
|
||||
| `s₄` | ` ` | `K[36..95]` | `K₃₆` | `0x10_0000_0000` |
|
||||
| `s₅` | ` ` | `K[35..95]` | `K₃₅` | `0x08_0000_0000` |
|
||||
| `s₆` | ` ` | `K[34..95]` | `K₃₄` | `0x04_0000_0000` |
|
||||
| `s₇` | `Aᵥ₂₇` | `K[33..95]` | `K₃₃` | `0x02_0000_0000` |
|
||||
| `s₈` | `Aᵥ₂₆` | `K[32..95]` | `K₃₂` | `0x01_0000_0000` |
|
||||
| `s₉` | `Aᵥ₂₅` | `K[31..95]` | `K₃₁` | `0x00_8000_0000` |
|
||||
| `s₁₀` | `Aᵥ₂₄` | `K[30..95]` | `K₃₀` | `0x00_4000_0000` |
|
||||
| `s₁₁` | `Aᵥ₂₃` | `K[29..95]` | `K₂₉` | `0x00_2000_0000` |
|
||||
| `s₁₂` | `Aᵥ₂₂` | `K[28..95]` | `K₂₈` | `0x00_1000_0000` |
|
||||
| `s₁₃` | `Aᵥ₂₁` | `K[27..95]` | `K₂₇` | `0x00_0800_0000` |
|
||||
| `s₁₄` | `Aᵥ₂₀` | `K[26..95]` | `K₂₆` | `0x00_0400_0000` |
|
||||
| `s₁₅` | `Aᵥ₁₉` | `K[25..95]` | `K₂₅` | `0x00_0200_0000` |
|
||||
| `s₁₆` | `Aᵥ₁₈` | `K[24..95]` | `K₂₄` | `0x00_0100_0000` |
|
||||
| `s₁₇` | `Aᵥ₁₇` | `K[23..95]` | `K₂₃` | `0x00_0080_0000` |
|
||||
| `s₁₈` | `Aᵥ₁₆` | `K[22..95]` | `K₂₂` | `0x00_0040_0000` |
|
||||
| `s₁₉` | `Aᵥ₁₅` | `K[21..95]` | `K₂₁` | `0x00_0020_0000` |
|
||||
| `s₂₀` | `Aᵥ₁₄` | `K[20..95]` | `K₂₀` | `0x00_0010_0000` |
|
||||
| `s₂₁` | `Aᵥ₁₃` | `K[19..95]` | `K₁₉` | `0x00_0008_0000` |
|
||||
| `s₂₂` | `Aᵥ₁₂` | `K[18..95]` | `K₁₈` | `0x00_0004_0000` |
|
||||
| `s₂₃` | `Aᵥ₁₁` | `K[17..95]` | `K₁₇` | `0x00_0002_0000` |
|
||||
| `s₂₄` | `Aᵥ₁₀` | `K[16..95]` | `K₁₆` | `0x00_0001_0000` |
|
||||
| `s₂₅` | `Aᵥ₀₉` | `K[15..95]` | `K₁₅` | `0x00_0000_8000` |
|
||||
| `s₂₆` | `Aᵥ₀₈` | `K[14..95]` | `K₁₄` | `0x00_0000_4000` |
|
||||
| `s₂₇` | `Aᵥ₀₇` | `K[13..95]` | `K₁₃` | `0x00_0000_2000` |
|
||||
| `s₂₈` | `Aᵥ₀₆` | `K[12..95]` | `K₁₂` | `0x00_0000_1000` |
|
||||
| `s₂₉` | `Aᵥ₀₅` | `K[11..95]` | `K₁₁` | `0x00_0000_0800` |
|
||||
| `s₃₀` | `Aᵥ₀₄` | `K[10..95]` | `K₁₀` | `0x00_0000_0400` |
|
||||
| `s₃₁` | `Aᵥ₀₃` | `K[ 9..95]` | `K₀₉` | `0x00_0000_0200` |
|
||||
| `s₃₂` | `Aᵥ₀₂` | `K[ 8..95]` | `K₀₈` | `0x00_0000_0100` |
|
||||
| `s₃₃` | `Aᵥ₀₁` | `K[ 7..95]` | `K₀₇` | `0x00_0000_0080` |
|
||||
| `s₃₄` | `Aᵥ₀₀` | `K[ 6..95]` | `K₀₆` | `0x00_0000_0040` |
|
||||
| `s₃₅` | `Aₜ₁₉` | `K[ 5..95]` | `K₀₅` | `0x00_0000_0020` |
|
||||
| `s₃₆` | `Aₜ₁₈` | `K[ 4..95]` | `K₀₄` | `0x00_0000_0010` |
|
||||
| `s₃₇` | `Aₜ₁₇` | `K[ 3..95]` | `K₀₃` | `0x00_0000_0008` |
|
||||
| `s₃₈` | `Aₜ₁₆` | `K[ 2..95]` | `K₀₂` | `0x00_0000_0004` |
|
||||
| `s₃₉` | `Aₜ₁₅` | `K[ 1..95]` | `K₀₁` | `0x00_0000_0002` |
|
||||
| `s₄₀` | `Aₜ₁₄` | `K[ 0..95]` | `K₀₀` | `0x00_0000_0001` |
|
||||
| `s₄₁` | `Aₜ₁₃` | `K[ 0..95]` | ... | |
|
||||
| `s₄₂` | `Aₜ₁₂` | `K[ 0..95]` | ... | |
|
||||
| `s₄₃` | `Aₜ₁₁` | `K[ 0..95]` | ... | |
|
||||
| `s₄₄` | `Aₜ₁₀` | `K[ 0..95]` | ... | |
|
||||
| `s₄₅` | `Aₜ₀₉` | `K[ 0..95]` | ... | |
|
||||
| `s₄₆` | `Aₜ₀₈` | `K[ 0..95]` | ... | |
|
||||
| `s₄₇` | `Aₜ₀₇` | `K[ 0..95]` | ... | |
|
||||
| `s₄₈` | `Aₜ₀₆` | `K[ 0..95]` | ... | |
|
||||
| `s₄₉` | `Aₜ₀₅` | `K[ 0..95]` | ... | |
|
||||
| `s₅₀` | `Aₜ₀₄` | `K[ 0..95]` | ... | |
|
||||
| `s₅₁` | `Aₜ₀₃` | `K[ 0..95]` | ... | |
|
||||
| `s₅₂` | `Aₜ₀₂` | `K[ 0..95]` | ... | |
|
||||
| `s₅₃` | `Aₜ₀₁` | `K[ 0..95]` | ... | |
|
||||
| `s₅₄` | `Aₜ₀₀` | `K[ 0..95]` | ... | |
|
||||
|
||||
## 128k table ... too large to fit in IoT flash memory
|
||||
|
||||
|
@ -725,7 +725,7 @@ Updating the pin code:
|
|||
|
||||
`lf em 4x70 info`
|
||||
|
||||
2. Because Lockbit 0 was set, send the PIN to unlock:
|
||||
2. Because Lockbit 0 was set, unlock with the PIN:
|
||||
|
||||
`lf em 4x70 unlock --pin AAAAAAAA`
|
||||
|
||||
|
@ -737,7 +737,7 @@ Updating the pin code:
|
|||
|
||||
4. Write the new pin code as DEADBEEF
|
||||
|
||||
`lf em 4x70 writepin --pin DEADBEEF`
|
||||
`lf em 4x70 setpin --pin DEADBEEF`
|
||||
|
||||
5. Set lockbit0 to 1 (based on existing data in block1):
|
||||
e.g, `AD08 | 4000 == ED08`
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue