Custom Chromium Build to Reverse Engineer Pop-Under Trick

Поділитися
Вставка
  • Опубліковано 12 вер 2024
  • I wanted to compile a custom Chromium 68 build to totally ignore the obfuscated JavaScript. That was a cool experience, but in the end not necessary - the trick was super simple and works on Mac, Windows and Linux.
    Chromium Issue 833148: bugs.chromium....
    =[ 🔴 Stuff I use ]=
    → Microphone:* geni.us/ntg3b
    → Graphics tablet:* geni.us/wacom-...
    → Camera#1 for streaming:* geni.us/sony-c...
    → Lens for streaming:* geni.us/sony-l...
    → Connect Camera#1 to PC:* geni.us/cam-link
    → Keyboard:* geni.us/mech-k...
    → Old Microphone:* geni.us/mic-at...
    US Store Front:* www.amazon.com...
    =[ ❤️ Support ]=
    → per Video: / liveoverflow
    → per Month: / @liveoverflow
    =[ 🐕 Social ]=
    → Twitter: / liveoverflow
    → Website: liveoverflow.com/
    → Subreddit: / liveoverflow
    → Facebook: / liveoverflow
    =[ 📄 P.S. ]=
    All links with "*" are affiliate links.
    LiveOverflow / Security Flag GmbH is part of the Amazon Affiliate Partner Programm.
    #ReverseEngineering

КОМЕНТАРІ • 353

  • @ELYESSS
    @ELYESSS 6 років тому +814

    The popunder developer is gonna put a hit on you

    • @neut1121
      @neut1121 6 років тому +16

      HAHAHAHAHAHAHAHAH made my day

    • @threeMetreJim
      @threeMetreJim 5 років тому +11

      Except that by showing people how to go about reverse engineering these things, then there will be too many people to put a hit out on. One less programmer won't make a dent, the beauty of sharing the details (assuming it can't help anyone else that might be malicious during the time the bug is being fixed).

    • @Alexmagno7
      @Alexmagno7 4 роки тому +19

      @@threeMetreJim it was clearly a joke but ok

    • @kieranjohn81
      @kieranjohn81 3 роки тому +2

      could say he is going to POP a cap 🕶

    • @Rudxain
      @Rudxain 2 роки тому

      They're gonna pop a vein lol

  • @Pesthuf
    @Pesthuf 6 років тому +614

    I can't help but admire those people for finding these bugs again and again.
    Reverse engineering them is one thing, but actually discovering them is really impressive.
    Don't get me wrong, I hate popunders as much as everyone here.

    • @LiveOverflow
      @LiveOverflow  6 років тому +165

      Nono I get that. I’m impressed too! Hating pop under doesn’t mean I can’t appreciate finding crazy creative bugs to do it ;)

    • @manuellopes1269
      @manuellopes1269 5 років тому +1

      @@LiveOverflow one question how download all files in the devtools ?i can save one file a time but i need save all files and if only one a time is very bad, is possible multi save files in menu sources?

    • @andrisb1
      @andrisb1 5 років тому +2

      @@manuellopes1269 Not sure if it's possible in dev tools. I usually use a separate tool. For MacOS there is Site Sucker that clones the entire site. I remember linux had a few similar tools available as part of Kali Linux

    • @manuellopes1269
      @manuellopes1269 5 років тому

      @@andrisb1 thanks bro , i not have linus only win10

  • @ingeralhaosului
    @ingeralhaosului 6 років тому +204

    For that debugger trap you can use the "never pause here " feature of the of chromes debugger by right clicking on the line number with the debugger statement.

    • @Anonymouspock
      @Anonymouspock 5 років тому +52

      Wow, they really are giving the malware developers the finger. Good.

    • @samus543654
      @samus543654 5 років тому +34

      @@Anonymouspock The Chrome dev tools are incredible and most people use less than 1% of what they offer.

    • @LiEnby
      @LiEnby 5 років тому

      haha thx google xD

    • @puppy0cam
      @puppy0cam Рік тому +3

      that's fairly easy to bypass with a simple call to eval() since it creates a new "script" for that every time.

  • @jamesherrero7334
    @jamesherrero7334 6 років тому +126

    This actually taught me how to debug JavaScript properly 😂!! win win

  • @smithwillnot
    @smithwillnot 6 років тому +369

    Thinking about this makes me realize that there is "battle" between greedy programmers who just want to find exploits to earn money (people who make those pop-under javascript libraries) and guys like you who try their best to quickly figure out their exploits and report them so that they get fixed. Now, every time pop-up/pop-under gets introduced I'll remember this, browsing the internet will never be the same again, at least for me. Thank you for your hard work!

    • @quaternaryyy
      @quaternaryyy 6 років тому +16

      Also partly why bug bounty programs are so important!

    • @ko-Daegu
      @ko-Daegu 6 років тому +1

      Aleksandar Delic
      Who also get paid when they report it hmmmmm

    • @rabbitdrink
      @rabbitdrink 6 років тому +9

      Yes, security software engineers are constantly at war with greedy software engineers.
      Reverse engineering is fun, you should try it. It can even end up doing your homework for you, if your homework is on a site that doesn't have properly written code like iready if you have the world's most tedious tests to do too.

    • @circuit10
      @circuit10 6 років тому +1

      Hansbald Chromium is open source. It would also help the community

    • @gafeht
      @gafeht 6 років тому

      Aleksandar Delic
      Very loose usage of the word "earn" don't you think?

  • @JohnDoe-hz1yh
    @JohnDoe-hz1yh 6 років тому +39

    @LiveOverflow. Funny thing is that back in 2012 a ticket was opened to discuss if it would be possible to pass user gestures over postMessage. Back in 2012 it was quickly dismissed as too difficult to implement and too easy to exploit. Fast forward a couple of years and a couple of replies later this feature was implemented regardless and merged into master. So that discussion back in 2012 lead to this exact and predicted issue. bugs.chromium.org/p/chromium/issues/detail?id=161068.

    • @LiveOverflow
      @LiveOverflow  6 років тому +9

      that's amazing! thanks for the background info

    • @JohnDoe-hz1yh
      @JohnDoe-hz1yh 6 років тому +7

      Simply put, the user gesture is a token that can be used to verify a event is initiated by the user. These tokens are thrown onto a stack from which privileged actions simply pop the first available token. If the stack is empty then the gesture was already consumed or the method was not user initiated. This verification becomes more difficult when your call stack is asynchronous and running in a diferent context (visualized at ~ 4:55 in the video ).

    • @LiveOverflow
      @LiveOverflow  6 років тому +4

      yeah, that's kind of how I imagined it to work. keeping track of that is easy in a synchronous call, but as soon as it could run at anytime, it gets awful.

    • @JohnDoe-hz1yh
      @JohnDoe-hz1yh 6 років тому +6

      For anyone interested, the full scope of this issue can be in the following google doc. It also great practical information on how race conditions are created and the problems cause. docs.google.com/document/d/16BfnRRzCtd5nEyTp7vTI8qbCBMFAls0EKz5s0nJ5vKc/edit#heading=h.tkbr16in6mdm

  • @Porama6400
    @Porama6400 6 років тому +439

    You are a pure genius!
    I'm sure those people who make library flips all the table in their office by now.
    Great job! Thank you for sharing it 😄

    • @WolfrostWasTaken
      @WolfrostWasTaken 6 років тому +49

      They are already thinking about a new way, I'm pretty sure, since there is big money involved. It's a constant war

    • @Porama6400
      @Porama6400 6 років тому +16

      Seem like they having a hard time keeping up 😄😄

    • @julius_trifinity
      @julius_trifinity 6 років тому +8

      But we're just having as much fun as they are

  • @hex7329
    @hex7329 5 років тому +13

    As of December 2018 they are still using tab unders in Chrome 71. Nice work.

  • @rajkhattar2830
    @rajkhattar2830 6 років тому +23

    Even after watching so many of your videos , I'm still boggled by the way you think and approach security, bugs and programming in general. It just seems like second nature .... You find out what is to be done and boom! It's implemented.
    As a beginner , I still get stuck in implementing simplest of tasks, not able to "get" how I can implement something I want to in code , especially when I'm not familiar with the language ...It's highly motivating to watch experienced people like you as it inspires me to work hard till the time I can be as fluent as you are ...till the time code becomes second nature.
    Amazing video :)

    • @LiveOverflow
      @LiveOverflow  6 років тому +10

      It is just experience over a long time ;)

    • @dexterman6361
      @dexterman6361 3 роки тому

      @@LiveOverflow How long, if I may ask? Is it too late to start at 23?

  • @cannuhlar8229
    @cannuhlar8229 6 років тому +22

    If you clone the repo using --depth 1 arg you will end up with much smaller source code. ~4.5 GB

  • @georgigeeksky8349
    @georgigeeksky8349 6 років тому +146

    Thank you for that interesting video! And some people i'm sure are angry for that, but keep up the good work!!

    • @BasiliskHill
      @BasiliskHill 6 років тому +3

      I mean, the people getting angry would also probably be going directly against the ToS and what the developers of the software want to have happen. So yeah, anger them; help out the devs.

  • @zeroangelmk1
    @zeroangelmk1 5 років тому +11

    I'm no developer, but i'm glad this video popped under my recommendations.

  • @95mcat
    @95mcat 6 років тому +10

    If I'm not mistaken you can right click on the number of the line in the dev tools and and choose "Never stop here" to get rid of the debugger

    • @LiveOverflow
      @LiveOverflow  6 років тому +8

      It’s dynamically created (eval) code. Unfortunately this doesn’t work there

  • @almarc
    @almarc 6 років тому +124

    LO - That totally makes sense! How didn't i understand that earlier?
    Me - Yeah, damn right. *Molten brain dripping down to floor*

    • @definesigint2823
      @definesigint2823 5 років тому +4

      Yeah, and I thought it was L0, not LO, so short for "level 0" (like a ring 0 message) until I read your comment. :/

  • @bravosk8erboy
    @bravosk8erboy 6 років тому +1

    Not many people on UA-cam can say this but you actually make the internet a better place. Thank you

  • @smithwillnot
    @smithwillnot 6 років тому +39

    You are the hero we need, but not the one we deserve!

  • @kyriii23
    @kyriii23 6 років тому +1

    Not only are you doing good work by finding these bugs. But you are also explaining and educating the process to get there. This so so entertaining and interesting! Thank you so much for sharing your thought process.

  • @Ariana-dn4mm
    @Ariana-dn4mm 6 років тому +7

    Oh wow such a simple but effective method, was also expecting something completely insane.

  • @lifebarier
    @lifebarier 6 років тому +2

    Whoever is finding these chrome pop-under exploits - full respect. I would never think of anything like that.

  • @itsxxxiang3865
    @itsxxxiang3865 4 роки тому

    In-page push is an extremely interesting ad format! I use MonadPlug in-page push, and cannot believe how much I am making just on this ad format only. Its most certainly the ad format of the future!!

  • @Xerdies
    @Xerdies 6 років тому +1

    I am somewhat sorry to hear that you went through all the trouble of compiling chrome. Still pretty cool :) Also subscribed - Guess I will watch more from you now.

    • @LiveOverflow
      @LiveOverflow  6 років тому +2

      Don’t be! I was happy to have a reason to try it. Learned more stuff!

    • @Xerdies
      @Xerdies 6 років тому

      Thats the best reply one could have given by far. Good view on such things :)

  • @daanvz2612
    @daanvz2612 6 років тому +2

    The amount of work that you put into these video's is incredible. You are probably my favourite channel on UA-cam right now. I'm currently studying cyber security and recommending your channel to everyone!

  • @xYouTubax
    @xYouTubax 6 років тому +2

    Wow already fixed and integrated into chrome 67. Too few big players respond to bug reports that quick. Really nice to see.
    The library makers now need to sell as much licences as they can before chrome 67 hits :D

  • @EmanuelFrias
    @EmanuelFrias 6 років тому +21

    Awesome!! Just in time when I should study for my finals!

  • @x0acake
    @x0acake 5 років тому +1

    I admire the bravery in diving into Chrome source code but FYI you should always assume its unnecessary. window/document/elements are all instances of the EventTarget prototype.
    So you can intercept every event listener with just:
    const orig = EventTarget.prototype.addEventListener;
    EventTarget.prototype.addEventListener = function(){
    const [eventName, fn, capture] = arguments;
    console.log('someone tried to create event listener', eventName, 'for', this, 'with function ', fn);
    orig.apply(this, arguments);
    }
    If you run this in a userscript (with tampermoney) with @run-at document-start, it will capture event listeners before any other javascript has had a chance to load. I use this technique to modify web-based games.

  • @flaffen1902
    @flaffen1902 6 років тому +101

    I've always thought something like Chromium source code is for gurus only. But when I watch how you just casually say "So I've decided to look into Chromium source code to figure out what's happening" and then actually make something useful out of this idea not knowing how it even works inside I get stunned. You seem to view it not as source code, but as a tree of abstractions. And you find and use these abstractions really well. My approach here would be to look for some articles on how Chromium works internally, maybe read Chromium docs, try to finally look at the source code and fail miserably. It's just too big. Plus I'm extremely unexperienced, maybe that's the reason I still look at source code with a bit of uncertainty and frustration. "Will I understand how it works? Do the devs provide good documentation? What if the source code is a mess" and so on. But watching your videos made me think about how I approach such tasks. Thank you, great work!

    • @LiveOverflow
      @LiveOverflow  6 років тому +41

      I totally understand! I stopped being afraid of code and just looked into it. Sometimes it can be very complex and then I give up, but most of the time there is a simple function with a logical name somewhere.

    • @TheAkashicTraveller
      @TheAkashicTraveller 6 років тому +1

      It looks like it helps a lot knowing about frameworks like dom so that, when the dev's use them at least, you don't have to try guessing what such and such dev' decided to call it.

    • @victornpb
      @victornpb 6 років тому +1

      Usually the way I approach it is to look bottom-up and top-down, and try to guess and fill the in between, when trying to figure out how unknown code base works. Very similar to sources and sinks mindset.

    • @JoJoModding
      @JoJoModding 6 років тому +3

      Most programmers look at other code and read about programming, so there tends to be a common mindset about how to write and structure software. If you think about how you would structure your project if you were to try and build something similar, the result is quite likely going to be rather close to the thing you're trying to mimic.
      Also, if you look at class names and a few methods, you can often spot a few design concepts and then work from there.

    • @protowalker
      @protowalker 6 років тому

      Well, he knew he needed DOM, so he looked up what chromium's dom engine was and found that file. Then he ctrl f'd for create element. Code is usually broken up into pieces and it becomes a lot easier to understand after you isolate down to the level you need.

  • @yoshi314
    @yoshi314 6 років тому +2

    80gb of disk space to build chromium? that is insane! i haven't built it in years, but it was never this bad - at least on linux.

  • @christiancastellanos4347
    @christiancastellanos4347 6 років тому

    I love your explanation process, each step is very detailed and your thinking methodology is well documented. Keep up the good work!

  • @Kitsudote
    @Kitsudote 6 років тому +8

    I always feel so ashamed when i overlook something obvious like the async functions.. glad to see it happens to the best :)

  • @JonathanGray89
    @JonathanGray89 5 років тому +6

    I'll be honest, I was quick in figuring out it was an async callback trick (as soon as I fully comprehended the timeline shown at 4:00). I expected you to look into using postMessage to open the popups as soon as you found it as the originator at 6:53. Very nice work though, keep it up.

  • @DaffyDaffyDaffy33322
    @DaffyDaffyDaffy33322 6 років тому

    1 minute of video watched and a quick glance at your other videos earned you an instant subscribe. This stuff is awesome.

  • @CsBence98
    @CsBence98 5 років тому +5

    LO was like, "I better download & build Chromium" and then "Oh cool, I didn't need it after all". I'd have been outraged :P
    Also, since you checked out Chromium, you are able to fix it up for yourself :D

  • @PhrontDoor
    @PhrontDoor 6 років тому

    That's why I used custom builds all the time (when I can).. it lets me get around DEBUG checks and lets me control how much detail I can view.

  • @metalpachuramon
    @metalpachuramon 6 років тому +1

    Awsome! Although I'm suspecting this type of videos will become a popular and requested entry in your channel

  • @vonforum
    @vonforum 6 років тому

    While I agree with you saying that you hate pop-unders, I still love them because I love seeing you reverse engineer obfuscated JS.

  • @hgbugalou
    @hgbugalou 6 років тому

    You are doing God's work. People who lean on these techniques to 'advertise' are the scum of the earth. Seriously, who has ever, ever, made a purchase from a pop under ad? The lengths they go to these days makes me have zero sympathy for sites I use ad block on. Your methods of advertisement via annoying and tricking the end user are just reprehensible. Site owners that rely on ads need to reevaluate their designs that rely on these shady techniques.

  • @austinmartin9515
    @austinmartin9515 2 роки тому +1

    I know this is old, but you can use Burp to remove any debugger() statements so you can still use the Chrome debugger functionality

  • @rajshah8143
    @rajshah8143 6 років тому +1

    aweosme and unique tutorials...thanks for these videos...when most channels focus on using the pentesting tools...this channel really teaches us what underlying hacking is all about...one of my best channels on UA-cam

  • @darkscissors1458
    @darkscissors1458 6 років тому

    These videos are so interesting, you should make more videos where you try to look at malicious code that is obfuscated and try to recreate it like this.

  • @tommytomtomtomestini3894
    @tommytomtomtomestini3894 6 років тому +13

    For the longest time, I've wanted a setting in browsers that would suppress ALL open tab/window functions no matter where the call came from. This setting should be easily accessible so I can allow popup for say, the bank or better yet, create a white list of domains for it.
    Thought of hacking it together into a custom built Firefox, but then I got lazy because I thought of all the FF updates and I'd have to rebuild and maintain the feature.

    • @victornpb
      @victornpb 6 років тому +1

      this is easily doable with built-in blocker rules, I suppose

    • @tommytomtomtomestini3894
      @tommytomtomtomestini3894 6 років тому

      Yeah I know about that feature, but it still lets a lot of popups through. My implementation would be more blunt by just returning from window.open() method in C++ codebase without executing anything at all.

    • @essamal-mansouri2689
      @essamal-mansouri2689 6 років тому +3

      You can probably do that with a plugin or something that inserts window.open equal to some function that doesn't do anything at the top of every page visited. Also, if you actually did have to custom build Firefox, the process of merging new changes, rebuilding and installing the updates on your PC could be largely automated.

    • @Sypaka
      @Sypaka 5 років тому

      You mean "Permissions" on JavaScript? Do it!

  • @MilMike
    @MilMike 6 років тому

    78 GB of source code???? holy crap.... holy crap man. and god bless you for finding that annoyance, you are a hero!

    • @LiveOverflow
      @LiveOverflow  6 років тому

      pure source code is much less. But you need this much disk space to build/compile it. It will generate massive amounts of intermediate build stages.

  • @trieulieuf9
    @trieulieuf9 3 роки тому

    Yayyy, Popunder is just tab-under now.

  • @fission1110
    @fission1110 6 років тому

    This was so good. You're the batman of pop under bugs.

  • @TonyVirelli
    @TonyVirelli 5 років тому

    You are the hero the world needs!

  • @bulzika
    @bulzika 6 років тому +4

    Why not call the original setTimeout function in the modified one, so that you log the function call and also do not break the code. This can also be applied to other interesting JavaScript functions, to get something like JavaScript instrumentation.

  • @TNothingFree
    @TNothingFree 6 років тому +1

    Amazing work!
    JS can be really tricky, especially when trying to secure websites :)

  • @TF2Gaming101
    @TF2Gaming101 6 років тому

    ignoring the pop-up blocker? you are a genius

  • @DiThi
    @DiThi 5 років тому +2

    3:50 I would then call the actual timeout function, but only when it's not calling debugger. There's many ways you can identify the unwanted calls. Maybe just ignoring the calls with 5000 ms.
    (editing comment as I watch the video)
    7:00 That's obviously a web worker.
    14:25 Huh, no web worker necessary?

  • @triularity
    @triularity 2 роки тому

    Another option that might have been possible is to break the link to the script doing the popup (e.g. rename the key/function it's under) and hope whatever is referencing it to be triggered later aborts with an error.

  • @subcinericius
    @subcinericius 6 років тому

    Doing gods work right here!

  • @felchore
    @felchore 6 років тому

    Very interesting video, I like how you present your thoughts and how your process information. Nice work !

  • @weiwenang1302
    @weiwenang1302 6 років тому

    This website teaches me more practical stuff than my university

  • @samfoxman7046
    @samfoxman7046 6 років тому +5

    You could modify V8 to change the debugger keyword to something else, the anti-debugger wouldn't work and you could add the custom keyword to trigger the debugger

  • @cristianiiacob
    @cristianiiacob 6 років тому

    Awesome work! Thanks for your contribution to us all chrome users.

  • @gerot
    @gerot 6 років тому

    nice i think they might just updated it unless it already been out awhile just got the green update required sign on chrome =) i got it almost instantly while watching this video, great content as always!

  • @abe_is_live
    @abe_is_live 5 років тому

    doing the lords work son

  • @not-yourbusiness
    @not-yourbusiness 6 років тому

    U are incredibly strong into Brower Code and technnics gg can't wait to see what will be next

  • @hblaub
    @hblaub 6 років тому

    Cat and mouse in the browser ;-) awesome detective work

  • @ealugovoy
    @ealugovoy Рік тому

    Amazing work, dear!

  • @mariustancredi2192
    @mariustancredi2192 6 років тому

    His code is obfuscated with an open source obfuscation engine, there are a few template that the engine uses to detect unminimization and tampering of anti-debugging code, the templates are here, could help you recognize a few code pattern that this engine generates: github.com/javascript-obfuscator/javascript-obfuscator/tree/master/src/templates
    Basically, the code will match a few small functions with RegExp and enters an infinite loop or just throw an error if the test fails. The template code tries to decoy itself as a library (e.g. cookie manipulation functions), also sometimes it uses Unicode to mask difference in two strings, a lot of good tricks.

  • @Jellyg00se
    @Jellyg00se 6 років тому

    Well done mate, that was some good investigation work. Keep at it :)

  • @KappaXBeta
    @KappaXBeta 5 років тому

    Amazing to see your thinking way, but also poor people who use this script and don't know all the security problems they create by using postmessage

  • @khalidmkhan
    @khalidmkhan 6 років тому

    Nearly 100k subs! I thought I'd better sub and help you on your way!
    Great content.

  • @Mynameisfrancesco96
    @Mynameisfrancesco96 6 років тому

    I would like to see one of your videos about code virtualization and obfuscation. For example VMProtect on windows or any other software that virtualize and obfuscate the assebly of an executable. I obiously don't ask for a guide to reverse it, but just a quick analisys and explaination on how they works. It would be interesting to me. Thank you and great work with this channel.

  • @TheTrueSmitch
    @TheTrueSmitch 6 років тому

    Amazing work!

  • @dantenotavailable
    @dantenotavailable 6 років тому

    Aaand 5 days after the initial report there's a patch commited to the repo... Props to all.
    I love this continuing battle between popunder libraries and LiveOverflow.

  • @nolifeorname5731
    @nolifeorname5731 6 років тому

    Great video! Nice find

  • @flflflflflfl
    @flflflflflfl 6 років тому

    This channel is so much fun!

  • @kabal321321
    @kabal321321 6 років тому +3

    "Fixed, will request a merge to M67 on Monday."

  • @MihkelKukk
    @MihkelKukk 5 років тому

    doing gods work here

  • @Calvin420GetRektM8
    @Calvin420GetRektM8 6 років тому

    Advertising agencies will truly hate you :D

  • @florianm.5128
    @florianm.5128 6 років тому

    Amazing work and write-up. You are a hero :)

  • @s0lanav
    @s0lanav 6 років тому

    You really inspire me, thank you for making videos

  • @GottZ
    @GottZ 5 років тому

    dude. just create a stack trace in settimeout and check if it matches the debugger location. you could also tostring the callback and check if it matches.

  • @morwar_
    @morwar_ 6 років тому

    Man this is amazing. Great video.

  • @digitzero3613
    @digitzero3613 6 років тому

    Amazing work as always Sir !

  • @lightarmanov6266
    @lightarmanov6266 6 років тому

    The war for the popunder

  • @firstlast9251
    @firstlast9251 6 років тому +1

    What font were you using in Sublime?

  • @AneeshDogra
    @AneeshDogra 6 років тому

    You are so cool LiveOverflow. Amazing video.

  • @GameCode64
    @GameCode64 6 років тому +36

    @LiveOverflow why dont you use Alert() as an breakpoint when the script stops the debugger?

    • @LiveOverflow
      @LiveOverflow  6 років тому +54

      Mmhmhmhmmhmhmhhmhmmhmhmmhm. Never thought about that :D

    • @confuseh
      @confuseh 6 років тому +1

      removing debugger break behavior would be handy but keeping up with the repo updates could be a pain

    • @omri9325
      @omri9325 6 років тому +1

      It has some limitations. After you call alert native events stops propagating. It might be true for postMessage too.

    • @0xbenedikt
      @0xbenedikt 6 років тому +1

      Why can't you just do a search & replace of all debugger statements and delete them?

    • @LiveOverflow
      @LiveOverflow  6 років тому +9

      The debugger statements are inside obfuscated strings that get decrypted and evaled etc.

  • @RobertGallop
    @RobertGallop 6 років тому

    Awesome game of cat and mouse going on, GOOD WORK!

  • @X3eRo0
    @X3eRo0 6 років тому +9

    What do I say. I got to watch behind the scene of reporting a bug

  • @ms2649
    @ms2649 5 років тому

    The popunder "owner " must hate you really badly for doing this 😆

  • @M4erSam
    @M4erSam 5 років тому

    fixed now Good job!

  • @ferrisateniese6435
    @ferrisateniese6435 6 років тому

    That's just one awesome video :) Thank you

  • @janliebrecht1994
    @janliebrecht1994 5 років тому

    Really great work, highly aprreciate it =)

  • @asafcohen3562
    @asafcohen3562 5 років тому

    I really like your content

  • @jagc2206
    @jagc2206 5 років тому

    That's some crazy build time, about 5 times of firefox on my I 975k

  • @solidsnake8392
    @solidsnake8392 6 років тому

    You are a beast! Great video 😄

  • @lgoosmasterl
    @lgoosmasterl 6 років тому

    the real MVP

  • @automata8973
    @automata8973 6 років тому +1

    Super awesome. How much time did it take to find the whole popunder bypass for u ?

    • @LiveOverflow
      @LiveOverflow  6 років тому

      maybe ~6h... there is a lot of trial and error, repeating stuff, waiting for compilation, ... etc
      If you want to see how painfully slow I am, you can checkout the popunder livestream I did a while ago.

    • @automata8973
      @automata8973 6 років тому

      Sure I will check it out. But 6h is super less maybe. For me it would have taken days.

  •  5 років тому

    Got curious if popupunder works for current chrome v77 but I cant find its homepage. :D Hilarious! Good work!

  • @waqarahmed4200
    @waqarahmed4200 6 років тому

    Fabian God mode activated ✔️

  • @rootlabs2970
    @rootlabs2970 6 років тому +23

    chromium/src/third-party/blink/renderer/core/dom DAMN!

    • @papagunit
      @papagunit 6 років тому +7

      For something as common as the dom, it's crazy haha

    • @victornpb
      @victornpb 6 років тому

      if you ever tried to read the DOM spec even like level 1, its kinda expected because it is really really big

  • @sloep
    @sloep 6 років тому

    thx man, now let me abuse this while i still can

  • @RaduPopescu000
    @RaduPopescu000 6 років тому

    Great find! (and a nice trick)

  • @johnnm3207
    @johnnm3207 5 років тому

    Awesome, simple but awesome

  • @biehdc
    @biehdc 6 років тому +7

    hehe youre going to shit on the same guy again, cant wait :D

  • @xsipproductions7304
    @xsipproductions7304 6 років тому

    great video!!

  • @mikelinsi
    @mikelinsi 6 років тому

    Wow, nice work 👍