Apple Pay still does send a lot of telemetry about your payments though. https://duti.dev/randoms/wip-location-services/
1 karma · joined May 7, 2026
Apple Pay still does send a lot of telemetry about your payments though. https://duti.dev/randoms/wip-location-services/
Pretty public with who I am https://duti.dev/
I say it somewhat jokingly. Most of the challenges were AI, but there was a specific security track that wasn't about AI (but AI bug bounty hunter won. Not too mad, just annoyed at miscommunication about which countries the sponsor was actually in).
> If anything, this is pretty much the opposite of what a hackathon is supposed to be: A place where you meet people you might not even know, come up with an idea on the spot and develop an MVP + pitch it on a tight (time) budget. Taking an idea you've already been working on for months and using it for a hackathon submission feels... odd
The thing I've been working on is a much larger encompassing system where this would just be a small component. No code reused because no code was written for this yet. My task now is to take the shit code written during the hackathon and make it actually usable.
> The first is probably true, but to really judge the impact of it (Did AI generated ideas actually win?) we'd have to see the results
Yes, the winner also won the Lovable and Claude tracks. Lovable track was specifically about vibe-coding.
I am just slightly annoyed yes.
Pretty sure that's how it works across all phones. I know that's how Apple gets their location services database at least.
2025 wrapped: https://duti.dev/blog/2025/2025-in-a-nutshell/
Putting this down as my 2026 goal: At least one commit a day. Stop putting things off.
I get rate limited to around 10mbps in Chongqing. Was slightly higher in Beijing.
Did post the source somewhere at some point but my git server got corrupted and I haven't gone and fixed it. https://github.com/acheong08/apple-corelocation-experiments/...
I wonder if AI is good enough to vibe code my horrible hacks into a full clone of Charles Proxy these days.
Annoying fact: Apple requires you to have a paid developer account to access the Packet Tunnel APIs. You can't even test it in XCode simulator because of how networking works in there. It's insane that I can't even develop for my own phone without paying an extra fee to Apple. The error message when you sideload without a paid account doesn't make it obvious at all and it took me a good day or two before realizing .
Remote: Preferred not, but willing
Willing to relocate: Yes (Europe, North America, Singapore, Far east Asia)
Technologies: Golang, Python, Typescript, Java, Postgres, Docker, Kubernetes, Svelte, React, Ghidra
Resume: https://duti.dev/resume.pdf
Email: acheong@duti.dev
Github: https://github.com/acheong08/
Weird generalist with a mix of cybersecurity, reverse engineering, run of the mill full stack development, and devops for self hosting. I do whatever I find interesting & learn the skills required along the way.
Currently working on my own little startup but looking for a backup option in case it doesn't work out before my graduation (~April 2026).
The incentives are all messed up & universities can't even do anything about it since if they lose students by being more strict, their stats look worse.
Coming from a student, it's disheartening to see seemingly nobody even remotely interested in the subject. Nobody to talk to about interesting research, to work together on projects with, etc. I'd present something quite interesting (e.g. https://duti.dev/randoms/wip-location-services/ on the massive amounts of analytics being sent off by iPhones) and their eyes would just glaze over and say something like "nerd" or "put the fries in the bag".
I'm sure this is not the case for all universities though. I was lucky enough to intern at the University of Cambridge over the summer & it was really cool working with the PHD students there. They were all highly motivated & actively working on research.
My instance https://iv.duti.dev
In fact, it's relatively easy to write a socks proxy that lets you route traffic through a arbitrary protocols. For example, I can serve/visit websites on syncthing with a socks5 proxy as a translation layer: https://github.com/acheong08/syndicate
E.g. https://github.com/CopilotC-Nvim/CopilotChat.nvim was written in a single afternoon while sitting at a social event I didn't enjoy and now there's 60 contributors and I've completely handed over ownership/maintenance to the community
I still use an ancient version of obsidian on my phone because it works with my hacks to self host the native sync server https://github.com/acheong08/obi-sync
For other open source contributions, I generally just add features I want or fix random bugs. I use exclusively open source software for everything, no big tech accounts at all. So contributing only helps myself
> "Will the application has a local repository of songs, will you use database to store songs?"
That question really doesn't make sense since it's specifically an Android development module and the MediaStore API dictates how files such as music are stored. It's definitely not the professor giving the feedback, that much is clear.
I worked on this a while back in parallel. You can dump Apple's entire database in ~2 weeks. Around 3 billion records including China.
You can compress it down to only a few gigs and have everything offline. I also got a ichnaea proxy though not as well tested. Been using it myself and it's alright,
https://github.com/acheong08/apple-corelocation-experiments https://codeberg.org/joelkoen/wtfps/
With this you can build your own MLS using stolen data.
https://github.com/acheong08/ChatGPT-API-agent
Worked pretty well but browsers took up too much memory per tab so automating thousands of accounts (what i wanted) was infeasible
A still working fork: https://github.com/xqdoo00o/funcaptcha
I do apologize for possibly playing a part in causing OpenAI to put up such annoying captchas even after using Cloudflare due to large scale automation of account creation & usage before an API was released…
I found an interesting API that returns the largest network in a given tile but have failed to find the algorithm used to encode the `X-tilekey` field used for positioning. I got close with morton encoding and linear regression which works for most of the UK but deviates as you go North/South.
I'm posting this both to show what I've done and ask for help. If anyone knows how tile keys might work, please let me know (either here or in an issue). A small data sample: https://github.com/acheong08/apple-corelocation-experiments/...
Thank you.
Edit: I was initially planning on showing this way later but I can’t figure out around this problem. Thought HN would be the best place to ask since I’m probably the dumbest user here
Found some interesting things and still working on recording more MITM from my iPhone to see what else is sent.
Another thing is that some features have been partially implemented but not configurable (basically dead code for now) such as ephemeral hidden services. I spent a good few days forking and implementing that myself and am in contact with the devs to see how it could be implemented/merged in a cleaner way. Some of my code: https://gitlab.torproject.org/acheong08/arti/-/compare/main....
I wanted a socks5 proxy over a hidden service to securely expose my machine in a firewall without owning any servers in between or having to mess with port forwarding.
Now working on a new pluggable transport to tunnel tor connections over syncthing relays.
Mostly just for fun, nothing actually too useful yet
https://github.com/v2fly/v2ray-core
https://github.com/XTLS/Xray-core
Here are my configs: https://github.com/acheong08/notes/tree/main/xray
Why this over WireGuard or OpenVPN or commercial solutions? Because it’s obfuscated and you’re much less likely to get caught. Try hosting a small game server on the same machine as well so the traffic doesn’t look too out of place.
It’s interesting how many people query random subdomains (e.g. admin/manage/etc)