Custom Chromium Build to Reverse Engineer Pop-Under Trick

  Рет қаралды 132,807

LiveOverflow

LiveOverflow

Күн бұрын

Пікірлер: 352
@ELYESSS
@ELYESSS 6 жыл бұрын
The popunder developer is gonna put a hit on you
@neut1121
@neut1121 6 жыл бұрын
HAHAHAHAHAHAHAHAH made my day
@threeMetreJim
@threeMetreJim 5 жыл бұрын
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 5 жыл бұрын
@@threeMetreJim it was clearly a joke but ok
@kieranjohn81
@kieranjohn81 4 жыл бұрын
could say he is going to POP a cap 🕶
@Rudxain
@Rudxain 2 жыл бұрын
They're gonna pop a vein lol
@Pesthuf
@Pesthuf 6 жыл бұрын
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 жыл бұрын
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 6 жыл бұрын
@@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 жыл бұрын
@@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 жыл бұрын
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 6 жыл бұрын
Wow, they really are giving the malware developers the finger. Good.
@samus543654
@samus543654 6 жыл бұрын
@@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 2 жыл бұрын
that's fairly easy to bypass with a simple call to eval() since it creates a new "script" for that every time.
@smithwillnot
@smithwillnot 6 жыл бұрын
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 жыл бұрын
Also partly why bug bounty programs are so important!
@ko-Daegu
@ko-Daegu 6 жыл бұрын
Aleksandar Delic Who also get paid when they report it hmmmmm
@rabbitdrink
@rabbitdrink 6 жыл бұрын
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 жыл бұрын
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?
@jamesherrero7334
@jamesherrero7334 6 жыл бұрын
This actually taught me how to debug JavaScript properly 😂!! win win
@Porama6400
@Porama6400 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
Seem like they having a hard time keeping up 😄😄
@julius_trifinity
@julius_trifinity 6 жыл бұрын
But we're just having as much fun as they are
@JohnDoe-hz1yh
@JohnDoe-hz1yh 6 жыл бұрын
@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 жыл бұрын
that's amazing! thanks for the background info
@JohnDoe-hz1yh
@JohnDoe-hz1yh 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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
@hex7329
@hex7329 6 жыл бұрын
As of December 2018 they are still using tab unders in Chrome 71. Nice work.
@rajkhattar2830
@rajkhattar2830 6 жыл бұрын
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 жыл бұрын
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?
@bravosk8erboy
@bravosk8erboy 6 жыл бұрын
Not many people on KZbin can say this but you actually make the internet a better place. Thank you
@kyriii23
@kyriii23 6 жыл бұрын
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.
@zeroangelmk1
@zeroangelmk1 6 жыл бұрын
I'm no developer, but i'm glad this video popped under my recommendations.
@7027-s6f
@7027-s6f 5 жыл бұрын
Pope Ocelot not yet!
@almarc
@almarc 6 жыл бұрын
LO - That totally makes sense! How didn't i understand that earlier? Me - Yeah, damn right. *Molten brain dripping down to floor*
@definesigint2823
@definesigint2823 6 жыл бұрын
Yeah, and I thought it was L0, not LO, so short for "level 0" (like a ring 0 message) until I read your comment. :/
@smithwillnot
@smithwillnot 6 жыл бұрын
You are the hero we need, but not the one we deserve!
@georgigeeksky8349
@georgigeeksky8349 6 жыл бұрын
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 жыл бұрын
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.
@Ariana-dn4mm
@Ariana-dn4mm 6 жыл бұрын
Oh wow such a simple but effective method, was also expecting something completely insane.
@EmanuelFrias
@EmanuelFrias 6 жыл бұрын
Awesome!! Just in time when I should study for my finals!
@daanvz2612
@daanvz2612 6 жыл бұрын
The amount of work that you put into these video's is incredible. You are probably my favourite channel on KZbin right now. I'm currently studying cyber security and recommending your channel to everyone!
@95mcat
@95mcat 6 жыл бұрын
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 жыл бұрын
It’s dynamically created (eval) code. Unfortunately this doesn’t work there
@lifebarier
@lifebarier 6 жыл бұрын
Whoever is finding these chrome pop-under exploits - full respect. I would never think of anything like that.
@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.
@cannuhlar8229
@cannuhlar8229 6 жыл бұрын
If you clone the repo using --depth 1 arg you will end up with much smaller source code. ~4.5 GB
@Xerdies
@Xerdies 6 жыл бұрын
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 жыл бұрын
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 :)
@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!
@SkrekkLich
@SkrekkLich 6 жыл бұрын
What a great thriller! 10/10 would watch again!
@xYouTubax
@xYouTubax 6 жыл бұрын
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
@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!!
@JonathanGray89
@JonathanGray89 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.
@fission1110
@fission1110 6 жыл бұрын
This was so good. You're the batman of pop under bugs.
@rajshah8143
@rajshah8143 6 жыл бұрын
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 KZbin
@metalpachuramon
@metalpachuramon 6 жыл бұрын
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.
@Kitsudote
@Kitsudote 6 жыл бұрын
I always feel so ashamed when i overlook something obvious like the async functions.. glad to see it happens to the best :)
@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.
@flaffen1902
@flaffen1902 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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.
@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.
@cristianiiacob
@cristianiiacob 6 жыл бұрын
Awesome work! Thanks for your contribution to us all chrome users.
@not-yourbusiness
@not-yourbusiness 6 жыл бұрын
U are incredibly strong into Brower Code and technnics gg can't wait to see what will be next
@TF2Gaming101
@TF2Gaming101 6 жыл бұрын
ignoring the pop-up blocker? you are a genius
@austinmartin9515
@austinmartin9515 2 жыл бұрын
I know this is old, but you can use Burp to remove any debugger() statements so you can still use the Chrome debugger functionality
@TonyVirelli
@TonyVirelli 6 жыл бұрын
You are the hero the world needs!
@CsBence98
@CsBence98 6 жыл бұрын
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
@TNothingFree
@TNothingFree 6 жыл бұрын
Amazing work! JS can be really tricky, especially when trying to secure websites :)
@Jellyg00se
@Jellyg00se 6 жыл бұрын
Well done mate, that was some good investigation work. Keep at it :)
@felchore
@felchore 6 жыл бұрын
Very interesting video, I like how you present your thoughts and how your process information. Nice work !
@x0acake
@x0acake 5 жыл бұрын
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.
@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.
@yoshi314
@yoshi314 6 жыл бұрын
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.
@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.
@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!
@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.
@subcinericius
@subcinericius 6 жыл бұрын
Doing gods work right here!
@flflflflflfl
@flflflflflfl 6 жыл бұрын
This channel is so much fun!
@hblaub
@hblaub 6 жыл бұрын
Cat and mouse in the browser ;-) awesome detective work
@florianm.5128
@florianm.5128 6 жыл бұрын
Amazing work and write-up. You are a hero :)
@digitzero3613
@digitzero3613 6 жыл бұрын
Amazing work as always Sir !
@weiwenang1302
@weiwenang1302 6 жыл бұрын
This website teaches me more practical stuff than my university
@s0lanav
@s0lanav 6 жыл бұрын
You really inspire me, thank you for making videos
@khalidmkhan
@khalidmkhan 6 жыл бұрын
Nearly 100k subs! I thought I'd better sub and help you on your way! Great content.
@morwar_
@morwar_ 6 жыл бұрын
Man this is amazing. Great video.
@trieulieuf9
@trieulieuf9 3 жыл бұрын
Yayyy, Popunder is just tab-under now.
@bulzika
@bulzika 6 жыл бұрын
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.
@ealugovoy
@ealugovoy Жыл бұрын
Amazing work, dear!
@abe_is_live
@abe_is_live 6 жыл бұрын
doing the lords work son
@baldyardigan
@baldyardigan 6 жыл бұрын
can the same things even be found using firefox? From watching this video I found out the Firefox developer tools are quite different.
@AneeshDogra
@AneeshDogra 6 жыл бұрын
You are so cool LiveOverflow. Amazing video.
@tommytomtomtomestini3894
@tommytomtomtomestini3894 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 6 жыл бұрын
You mean "Permissions" on JavaScript? Do it!
@TheTrueSmitch
@TheTrueSmitch 6 жыл бұрын
Amazing work!
@GameCode64
@GameCode64 6 жыл бұрын
@LiveOverflow why dont you use Alert() as an breakpoint when the script stops the debugger?
@LiveOverflow
@LiveOverflow 6 жыл бұрын
Mmhmhmhmmhmhmhhmhmmhmhmmhm. Never thought about that :D
@confuseh
@confuseh 6 жыл бұрын
removing debugger break behavior would be handy but keeping up with the repo updates could be a pain
@omri9325
@omri9325 6 жыл бұрын
It has some limitations. After you call alert native events stops propagating. It might be true for postMessage too.
@0xbenedikt
@0xbenedikt 6 жыл бұрын
Why can't you just do a search & replace of all debugger statements and delete them?
@LiveOverflow
@LiveOverflow 6 жыл бұрын
The debugger statements are inside obfuscated strings that get decrypted and evaled etc.
@solidsnake8392
@solidsnake8392 6 жыл бұрын
You are a beast! Great video 😄
@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.
@RobertGallop
@RobertGallop 6 жыл бұрын
Awesome game of cat and mouse going on, GOOD WORK!
@DiThi
@DiThi 6 жыл бұрын
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?
@janliebrecht1994
@janliebrecht1994 6 жыл бұрын
Really great work, highly aprreciate it =)
@pomelopy
@pomelopy Жыл бұрын
seem like that use artistscope to protect video, have firefox custom aplication
@Itneesh
@Itneesh 6 жыл бұрын
That's just one awesome video :) Thank you
@f1ggyc
@f1ggyc 6 жыл бұрын
Could you use the custom build to disable the debugger statement?
@cjreek
@cjreek 6 жыл бұрын
I'm curious how Google would fix that. Disallow postMessage in onclick-Handlers? Disallow window.open in the message-eventlistener? Both seem to come with possibly unwanted sideeffects that might break harmless code.
@liteoner
@liteoner 6 жыл бұрын
They've fixed it already: bugs.chromium.org/p/chromium/issues/detail?id=833148
@cjreek
@cjreek 6 жыл бұрын
Nice! I might view the diffs and try to understand how they fixed it.
@nolifeorname5731
@nolifeorname5731 6 жыл бұрын
Great video! Nice find
@firstlast9251
@firstlast9251 6 жыл бұрын
What font were you using in Sublime?
@planktonfun1
@planktonfun1 6 жыл бұрын
postmessage allows javascript to send messages from page to tab, page to page, page to locally, doesnt work on IE though.
@MihkelKukk
@MihkelKukk 6 жыл бұрын
doing gods work here
@waqarahmed4200
@waqarahmed4200 6 жыл бұрын
Fabian God mode activated ✔️
@jasondads9509
@jasondads9509 6 жыл бұрын
what is a popunder?
@GottZ
@GottZ 6 жыл бұрын
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.
@RaduPopescu000
@RaduPopescu000 6 жыл бұрын
Great find! (and a nice trick)
@lels3618
@lels3618 6 жыл бұрын
How about creating a webworker and he triggers 2 meesage events which then trigger popups?
@LiveOverflow
@LiveOverflow 6 жыл бұрын
I don’t know, try it ;)
@boem231
@boem231 5 жыл бұрын
Why not do a popup but the popup is the same website and the old website changes
@Trankass
@Trankass 6 жыл бұрын
This channel is awesome
@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.
@abc32167
@abc32167 6 жыл бұрын
I just set option in browser to always open everything in new tab. I just don't see any reason to have multiple browser windows. Never have any problem with popups.
5 жыл бұрын
Got curious if popupunder works for current chrome v77 but I cant find its homepage. :D Hilarious! Good work!
@kabal321321
@kabal321321 6 жыл бұрын
"Fixed, will request a merge to M67 on Monday."
@lolxnn
@lolxnn 6 жыл бұрын
but why it still works? Haven't they fixed it
@NefzaouiAhmed
@NefzaouiAhmed 6 жыл бұрын
dude u got me subscribed after watching 1 minute in
@mikelinsi
@mikelinsi 6 жыл бұрын
Wow, nice work 👍
@samfoxman7046
@samfoxman7046 6 жыл бұрын
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
@LiveOverflow
@LiveOverflow 6 жыл бұрын
yeah, that was also an Idea I had. Maybe looking into that next time ;)
@MuscleTeamOfficial
@MuscleTeamOfficial 6 жыл бұрын
Do it.
@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.
@jagc2206
@jagc2206 6 жыл бұрын
That's some crazy build time, about 5 times of firefox on my I 975k
@ms2649
@ms2649 6 жыл бұрын
The popunder "owner " must hate you really badly for doing this 😆
Making Smallest Possible Linux Distro (x64)
27:43
Nir Lichtman
Рет қаралды 91 М.
Reverse Engineered old Compression Algorithm for Frogger
16:29
LiveOverflow
Рет қаралды 255 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Reverse Engineering PopUnder Trick for Chrome
13:46
LiveOverflow
Рет қаралды 86 М.
MKBHD Ruined My Office!
24:24
Linus Tech Tips
Рет қаралды 4,2 МЛН
Generic HTML Sanitizer Bypass Investigation
14:05
LiveOverflow
Рет қаралды 142 М.
HOW FRCKN' HARD IS IT TO UNDERSTAND A URL?! - uXSS CVE-2018-6128
15:47
The Perfect Dependency - SQLite Case Study
19:32
Tom Delalande
Рет қаралды 93 М.
Why I Use C | Prime Reacts
13:00
ThePrimeTime
Рет қаралды 194 М.
Hacker Tweets Explained
13:47
LiveOverflow
Рет қаралды 161 М.
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 795 М.
JavaScript that drops a RAT - Reverse Engineer it like a pro
15:33