Hacker Newsnew | past | comments | ask | show | jobs | submit | ewpratten's commentslogin

I’m doing that (similar scale and same language) with a base model M4 mini. Works great. Anything more is overkill imo.

Thanks! Yeah, guess it's mostly nitpicky choice between M4 Pro and M3 Ultra, and both would work fine ultimately.

I mean, I think the non-Pro base model M4 would be just fine for a CI box. Unless you are compiling something the whole of Chromium all day every day.

Meh, if I'm buying new hardware, (and I'm not that price sensitive,) I'd rather go with the best CPU the model has available when I get it. And no, just a whole bunch of Rust projects, so no compiling of Chromiums, just compilation of other Rust browsers.

I completely agree with you. In my opinion, using GPS as Stratum 0 feels like a cheat. I do hope to some day (definitely not any time soon) own an atomic clock of some kind though.

Regarding PPS, the L76B does this cheaty thing where it actually sends the PPS signal over UART. They provide a calculation to go from “Time of first byte” to a regular PPS signal on the receiving side.


Regarding the Cloudflare part of this, I’d recommend taking a look at “Authenticated Origin Pulls”. It lets you perform your validation at the TLS layer instead of doing it with IP ACLs if that interests you.


You should probably be looking at the Cargo.toml file(s) (for direct dependencies at least) instead of the lock file as the lock file will include dependencies used for dev/testing.


It’s automated in the kind of way that makes a lot of sense to people familiar with the internal HR systems.


Think of it like a subset of MIFARE.

In a simple sense, NTAG cards can do NFC things, but MIFARE can do lots more (access control for example)..and also NFC things..somewhat.

Magic mifare refers to special cards that let you bypass the write-lock of genuine mifare cards. These are mostly used for cloning keys (either for red-team pentesting or for people who want a copy of an office key for whatever reason)


It's not really a subset:

MIFARE Classic uses a proprietary and mandatory encryption/authentication algorithm and is therefore not ISO 14443-4 compliant. As a result, NFC-compliant readers don't need to support it, and in fact non-NXP ones (including many popular Android phones) usually don't.

On the other hand, as you say, MIFARE Classic supports capabilities beyond NFC/NDEF, but there are fully NFC-compliant tags that do so as well (e.g. MIFARE DESfire, which properly stacks encryption in an ISO 14443-4 compliant way).


Ah, thanks, so I guess to write tags like URLs and things I don't really need Mifare cards, the NTAG cards are fine. Thanks for the info!


Ya, I have no clue tbh.

This is one of those cases where I know I really should investigate further, but I'm taking this one step at a time. Perhaps digging in to the "why" will become a follow-up post


I didn't intend for what I wrote to be a criticism; that's on me. I just found it funny the most interesting step was akin to "... and now you've drawn the animal", if you understand the reference.


But what happens if you dump the card with the Proxmark? Surely you should be able to see some differences.

Actually, I have all the components, so I'll try this now and report back.


My quick eye-skim didn't see much, but I'll do a byte-for-byte diff. I imagine its a difference in the NDEF headers? (but even that doesn't make sense, since I wrote the headers again from the pm3)


Well it turns out I'm much worse at this than I thought, as I can't even figure out what kind of cards I have. I'm learning, though!


HN formatting is going to do bad things here..

Here's the first 6 blocks of the card after I ran through the instructions of the post, then a ndefformat-only card (that never touched an iphone).

[=] 0 | 0 | 00 56 78 BB 95 08 04 00 02 B2 1E 24 23 27 1E 1D | .Vx........$#'.. [=] | 1 | 14 01 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 | ...�.�.�.�.�.�.� [=] | 2 | 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 | .�.�.�.�.�.�.�.� [=] | 3 | A0 A1 A2 A3 A4 A5 78 77 88 C1 89 EC A9 7F 8C 2A | ......xw.......* [=] 1 | 4 | 00 00 03 12 D1 01 0E 55 04 65 77 70 72 61 74 74 | ....�..U.ewpratt [=] | 5 | 65 6E 2E 63 6F 6D FE 00 00 00 00 00 00 00 00 00 | en.com�.........

[=] 0 | 0 | 00 56 78 BB 95 08 04 00 02 B2 1E 24 23 27 1E 1D | .Vx........$#'.. [=] | 1 | 14 01 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 | ...�.�.�.�.�.�.� [=] | 2 | 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 | .�.�.�.�.�.�.�.� [=] | 3 | A0 A1 A2 A3 A4 A5 78 77 88 C1 89 EC A9 7F 8C 2A | ......xw.......* [=] 1 | 4 | 03 00 FE 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..�............. [=] | 5 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................



Ya, looks like the iPhone is tinkering with the NDEF message itself.

If my Android phone wasn't dead, I'd love to compare an iPhone's write against the Android NFC Tools app's write.

If anyone else has an iPhone, an Android phone, and a Proxmark, I'd be interested in seeing a three-way diff between them all.

EDIT: I'm going to try to cross-post to the DT forum to see if anyone has ideas.


I've got both phones next to me, what do you want me to do exactly?


Wipe the card.

Make a dump after doing "hf mf ndefformat".

Then make a dump after writing a payload from an iPhone. (since iPhone seems to want ndefformat anyways)

Then wipe again and make a dump after writing from Android.



Thank you very much!

Something's clearly up there. You can see that even IOS and Android disagree with each other on what NDEF should look like by a few bytes. Very interesting.


Yep, 89 EC A9 7F 8C 2A 00 00 on iOS versus FF FF FF FF FF FF on Android. Interesting how the number of bytes is different, I should play with them a bit.


There's lots of info about the NDEF "packet" format online.

I used this page as reference when I was putting together the "magic bytes" in the final section of the blog post: https://www.oreilly.com/library/view/beginning-nfc/978144932...


This is fantastic, thanks!

Also, one thing that might be of interest: Even after a wipe and an ndefformat, my Android-written tag can be read by my iPhone 15.

NFC tools will only read it in compatibility mode, though.


Are you sure? The NFC app for iPhone can always read tags. Its specifically getting phones without the app to read them.

Try wiping, then writing a URL from Android.

Then just tap to the iPhone and see if Safari opens or not. It shouldn't


Yes:

https://imgz.org/i9ZqL6Ax.png

I don't know if it's Vivaldi doing that, but I can't imagine they would have added NFC tag reading capability to the browser specifically.

Feel free to email me if you want, btw, as this thread is getting a bit too deep.


If a URL is written using NFCTools on iPhone, iOS will open it in the default browser without using NFCTools, or in the related app (eg Instagram) if there is one.


I find this only to be true when used on the same iPhone where NFCTools was used.

If you try to have another iPhone detect the badge, it appears not to work - unless you use NFCTools on that iPhone, too. I don't have conclusive proof but that's what the evidence seems to indicate.

Are you seeing something different?


Proxmark's "auto" command should get you most of the way to knowing. Then check if any of the "hf mf c*" commands work on it (in which case, you have a gen1a magic card)


Nice, I didn't know about auto, thanks! It turns out I have some Gen 1a "magic" cards (as in, actually in a card form factor), and some tags that seem to be Gen 3, but not magic?


There's approx 4 generations of "Magic".

Gen 1, 1a, 3 and 4 all use special commands to unlock and edit block 0.

Gen 2 treats block 0 as always being r/w. This allows Android phones to directly write to it (but also makes it possible to lock the card).

In terms of pm3 commands, "auto" tries everything. You might also want to use "lf search" or "hf search" to only try one of your antennas and not the other.

The actual Magic part isn't really important here, since my phone doesn't even care about block 0. It just makes it easier to read and wipe the card when you have the extra command set at your disposal.


This is great, thanks! Do you know of any resource to learn more about Mifare cards? Is "beginning NFC" that you linked me to a good general resource?


All my knowledge is trial & error.

I've found the people over in the DT forum are pretty helpful with the cloning and usage aspect of things: https://forum.dangerousthings.com

Additionally, Iceman's Discord people has tons of smart people: https://discord.com/invite/iceman


Thank you!


Hm, its definitely blocks 0-2. All remaining blocks after that are identical.

Going to look further at the actual data in the first 3 blocks momentarily.


Ah, we did the under-the-table thing with NFC stickers in school! Love rickrolling a well-placed phone on a classroom desk lol.

I'm personally not a huge fan of needing to use NFC tags in the real world (parking meters use them for payment around here), but I do like creating tags.


Many of my cards are just repurposed from other things. Lots of hotel keycards can be rewritten to open URLs on phones for example.

I actually have a hotel keycard taped to my washing machine to do some laundry-based automation with my phone. Maybe I should write about that sometime..


Have you thought about getting one implanted?


If you're getting an implant already, why not make it an actual smartcard that you can use for WebAuthN, GPG, SSH etc.? :)

On the other hand, the fear of permanently bricking it or messing up the GlobalPlatform card management key has so far prevented me from doing it myself...


Because those cost $350 as opposed to $89, and the install only costs $60, and there is no stopping you from implanting more than one in different locations.

Many people get the small xEM or xM1 first to play with.

* https://dangerousthings.com/product/apex-flex/ * https://dangerousthings.com/product/xm1/


> there is no stopping you from implanting more than one in different locations.

Good point, although at some point you'll want to make sure your reader implements anticollision properly :)


(glances at chip on my desk)

..yes.

Hopefully getting that installed later this week :)


If anyone is interested in a fun chording layout, check out ASETNIOP. It’s surprisingly easy to use.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: