Live data from Hacker News

Show HN: I'm building a browser for reverse engineers

nullpt.rs

21–30 of 58 posts

Re: Show HN: I'm building a browser for reverse engineers

#21

feature request: allow setting breakpoints without having obfuscator debugger statement loops get in the way

I actually wrote a separate blog post about this! Changing the debugger keyword :) see: https://nullpt.rs/evading-anti-debugging-techniques

Re: Show HN: I'm building a browser for reverse engineers

#25
post #16

Earlier quoted context omitted.

Yeah, there's a pretty overwhelming amount of browser APIs and functionality which isn't always (well-)documented to learn about. If I recall correctly Proxies wouldn't be detectable (seems to be supported by https://exploringjs.com/es6/ch_proxies.html#sec_detect-proxi... ) so long as your injected content script runs first (otherwise other code could presumably override the Proxy constructor). You should also be abl…

To note, there are undocumented detections to even Proxys, for example using `in` operator in v8 (such as `proxiedFunc in 1` for some proxied function). Really cool to see a project like this.

How do you use `in` in v8 to detect proxies? I assume its a difference in the exception, but the message and the cause were the same in both direct and proxied `x in 1`.

Re: Show HN: I'm building a browser for reverse engineers

#30
post #9

Not to comment on the rest of article or the author's goals, but it's absolutely possible to use a content script (dynamically injected into the `main` world, as opposed to the default `isolated`, for example: https://github.com/tbrockman/browser-extension-for-opentelem... ) and Proxy's ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... ) to hook (most? if not all) Javascript being executed in the webp…

I have a project (in my rather long project backlog) that involves hooking JS APIs to download youtube videos. I'm worried that if my extension (or a similar extension) gained enough popularity, youtube would start inspecting the relevant JS objects to see if they'd been replaced with proxy instances. Aside from playing a hooking/patching game of cat and mouse, I don't think this is fully solvable without modifying t…

Was just about to comment this I’ve played that exact cat and mouse game before there’s also another fun way to hook I used to like by doing something like Object.defineProperty on Object.prototype to globally hook onto something and you can do lots of stuff with that it’s pretty useful in user scripts
Post reply on HN