nullpt.rs

nullpt.rs · Personal blog · on HN since 2022

A reverse engineering blog dissecting obfuscation and bot protection, including TikTok's VM, Nike's bot defenses, and anti-debugging tricks.

What HN saysHN links it in discussions of TikTok tracking and anti-debugging; commenters cite the TikTok VM post as evidence of obfuscated data collection.
25HN people shared it
16linked it in comments
16stories submitted
1.2Kstory points
1 year agolast shared
2022people per year2026

Most-shared posts

  1. 1
  2. 2
    Breaking the 4Chan CAPTCHA
    1 people · 580 points · first shared 2024 · 349 comments on HN
  3. 3
    Reverse Engineering Vercel's BotID
    1 people · 109 points · first shared 2025 · 18 comments on HN
  4. 4
    Breaking WebAuthn, FIDO2, and Forging Passkeys
    1 people · 61 points · first shared 2025 · 50 comments on HN
  5. 5
    Compiling a Custom Browser to Bypass Anti-Bot Measures
    1 people · 6 points · first shared 2023 · discussion on HN
  6. 6
    Feed.atom
    1 people · first shared 2022
  7. 7
    Feed.json
    1 people · first shared 2022
  8. 8
    Feed.rss
    1 people · first shared 2022
  9. 9
    Reverse Engineering TikTok's VM Obfuscation (Part 1)
    13 people · 8 points · first shared 2022 · discussion on HN
  10. 10
    Evading JavaScript Anti-Debugging Techniques
    4 people · 4 points · first shared 2023 · 1 comments on HN
  11. 11
    Devirtualizing Nike.com's Bot Protection (Part 1)
    4 people · 2 points · first shared 2023 · discussion on HN
  12. 12
    Devirtualizing Nike.com's Bot Protection (Part 2)
    3 people · 4 points · first shared 2023 · discussion on HN
  13. 13
    Show HN: I'm building a browser for reverse engineers
    2 people · 423 points · first shared 2025 · 55 comments on HN

What HN people wrote when they linked it

nullpt_rs · 2025-10-07
I actually wrote a separate blog post about this! Changing the debugger keyword :) see: https://nullpt.rs/evading-anti-debugging-techniques
nicce · 2025-04-21
> 2. Despite tiktok having a giant target painted on its back for its perceived connections to the CCP, I haven't really seen any evidence that it does any more tracking/fingerprinting that most other websites (eg. facebook) or security services (eg. cloudflare or recaptcha) already do. Take a look for request parameters in TikTok vs. Instagram for example. Every request for TikTok forces you to pass most of the information that browser can collect from the end-user before server responds: https://www.nullpt.rs/reverse-engineering-tiktok-vm-1
inverted_flag · 2025-02-07
wumeow · 2025-01-20
No, they absolutely export malware still. All of DJI's apps need to be sideloaded on android because the obfuscated data collection they do is not allowed in Play Store apps[0]. TikTok uses an obfuscated VM to do user tracking[1]. Then there's the malware that the US government has to routinely delete from compromised computers [2][3] Chinese software deserves the reputation it has. [0] https://arstechnica.com/information-technology/2020/07/chinese-made-dr… [1] https://www.nullpt.rs/reverse-engineering-tiktok-vm-1 [2] https://arstechnica.com/tech-policy/2025/01/fbi-forces-chinese-malware… [3] https://arstechnica.com/security/2024/01/chinese-malware-removed-from-…
chatmasta · 2024-07-10
This researcher [0] found the optimal solution was to use a custom build of Firefox with the `debugger` keyword changed to something else :) [0] https://www.nullpt.rs/evading-anti-debugging-techniques
tamimio · 2024-07-10
> I'm sure there are more advanced anti-debugger techniques with different denial-of-service vectors. Just rename debugger to banana. Edit: I see you have posted it below already! https://www.nullpt.rs/evading-anti-debugging-techniques
sllabres · 2023-11-15
Yes, but automatic obfuscation can be interesting, if not only simple substitution methods presented here. E.g. something like [1] (Devirtualizing Nike.com's Bot Protection) discussed here [2]. Or something like this [3] (Analysis of Obfuscation Techniques Found in Apple FairPlay) [1] https://www.nullpt.rs/devirtualizing-nike-vm-1 [2] https://news.ycombinator.com/item?id=34285747 [3] https://news.ycombinator.com/item?id=37307653
TobyTheDog123 · 2023-04-13
This was inevitably going to get more popular after the new API pricing was announced. Unfortunately this also means they're going to start being more aggressive on bot detection. We may soon find ourselves needing to run headless browsers to scrape data, like with TikTok: https://nullpt.rs/reverse-engineering-tiktok-vm-1
metadat · 2023-01-14
For reference, here is part 1 from last week: https://www.nullpt.rs/devirtualizing-nike-vm-1 https://news.ycombinator.com/item?id=34285747 (121 comments)
keewee7 · 2022-12-25
Snapchat's API call obfuscation: https://hot3eed.github.io/snap_part1_obfuscations.html This one about TikTok was recently on the HN front page: https://www.nullpt.rs/reverse-engineering-tiktok-vm-1
dleeftink · 2023-08-22
Quite a few ways, whether through device/session fingerprinting [1], in-app browser keystroke tracking [2], frequent third-party post requests [3], individiual app usage patterns [4], geo-tracking [5], dark-patterned user onboarding [6] and continual facial recognition [7]. A canary blog series kicked off by the company itself is worth keeping an eye on to see the 'myths' they want to debunk most scrupously (such as keytracking)[8]. [1]: https://www.nullpt.rs/reverse-engineering-tiktok-vm-1 [2]: https://krausefx.com/blog/announcing-inappbrowsercom-see-what-javascri… [3]: https://app.urlgeni.us/blog/new-research-across-200-ios-apps-hints-sur… [4]: https://www.nytimes.com/2021/12/05/business/media/tiktok-algorithm.htm… [5]: https://www.afr.com/technology/tiktok-admits-collecting-location-data-… [6]: https://au.reset.tech/uploads/resettechaustralia_policymemo_tiktok_fin… [7]: https://www.npr.org/2021/02/25/971460327/tiktok-to-pay-92-million-to-s… [8]: https://newsroom.tiktok.com/en-us/tiktok-truths-a-new-series-on-our-pr…
dns_snek · 2024-02-27
I'm sure that happens, but I haven't done any work with gyro data myself. There's similar logic for mouse cursor movements, there are libraries out there that will generate a natural looking curve that moves the cursor from one position to another, with imperfections that emulate human hand movement. > Why do we even need an actual device? We can emulate if we even need to and set our headers to look like we're coming from a device browser. This one is much harder, your browser, OS, and hardware leave a uniquely identifiable fingerprint (with Javascript enabled). A website can render some graphical pattern on a <canvas> or audio in an audio context, and the resulting output will have minute differences that originate from your rendering and audio pipelines. Check out: https://amiunique.org/fingerprint https://browserleaks.com/ https://fingerprint.com/ https://coveryourtracks.eff.org/ You can try to fake these, but it all depends on the sophistication of the target website. You can quickly end up in really deep rabbit holes: https://www.nullpt.rs/devirtualizing-nike-vm-1

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close