117 Comments
- S5S5S5, on 09/23/2008, -6/+96Overly long, here's the summary:
1) Chrome attempts first to use the documented API. If, however, this is unavailable, it drops back to something rather more sneaky; it uses an undocumented system call to try to achieve the same thing
from source code
// Completely undocumented from Microsoft. You can find this information by
// disassembling Vista's SP1 kernel32.dll with your favorite disassembler.
Disassembly—converting the compiled machine code to assembler and then attempting to understand the behavior and organization of a program—is a form of reverse engineering, an activity prohibited by the EULA.
2) This rewriting targets specific API calls. Some of the rewritten functions are documented (for example, the function to create processes, CreateProcess, is fully documented), but many are not (the function to read file attributes, NtQueryFullAttributesFile, is undocumented). Many of these functions do not appear to be widely documented, even by third parties. Some level of reverse engineering (even if only to find the function names in the first place) looks almost inevitable.
3) Even if Google did disassemble Windows, it's rather unlikely that Microsoft would take legal action against the company for Chrome. A right to reverse engineering is widespread, and proving that Google didn't use third-party information would be nigh impossible. But should there even be any question of legality? Even if Microsoft provided the most basic documentation (the names of functions and the data they operate on), this would probably be good enough for the work Google has done in Chrome - mattletron, on 09/23/2008, -1/+76Well done article. It explains the situation in a clear manner without being alarmist. It also highlights the effort the Chrome team put into developing a secure product.
- krystalo, on 09/23/2008, -8/+63Ars > c|net
- Mark2600, on 09/23/2008, -19/+67Still sticking with Firefox.
- mattletron, on 09/23/2008, -2/+45Reading the entire article reveals that while they very likely did use code from uninformed.org that there is other functionality that seems to point to the Chrome team having possibly used reverse-engineering. It isn't conclusive, but it isn't completely debunked.
- mrkurt, on 09/23/2008, -8/+33Did you read past the first page? Did you even read past the headline?
- randoof, on 09/23/2008, -2/+19you?
- netdroid9, on 09/23/2008, -0/+17If you grab the NT kernel symbols or disassemble random executable files from any part of the Windows operating system, you're going to find undocumented API calls. In fact, tons of stuff inside Windows is undocumented, that's what being closed source is about. Most of these API calls are used internally, and sometimes (but not always, given Microsoft's predisposition to third party compatability) change between versions of operating systems. Dig up some reverse engineered API specs, look around sysinternals or browse through the Wine and ReactOS sources, some of it's pretty interesting (for example: CreateProcess does a check against various compatability and software restriction policy settings; NtCreateProcess skips all that ***** and creates a process automatically, which also compromises black-list based group policy settings and no doubt several other security measures). You can build native executables that can run during the Windows boot process using kernel calls, and I'm betting you could write in another subsystem using the same sort of API calls as csrss, winlogon and whatnot. I think Colinux uses that sort of stuff, but injects itself into the operating system with a device driver rather than with a pre-boot executable.
EDIT: *****, that was a bit too long for my liking, I sound like a Microsoft fanboy :( - nullcodes, on 09/23/2008, -6/+22I dont think it's a good idea to use undocumented stuff. Almost by definition that stuff is subject to change, may be unstable, and could break things in future.
- TellarHK, on 09/23/2008, -0/+16Isn't it also possible that Google is a participant in Microsoft's "Shared Source" initiative and came about this information legally through disclosures from Microsoft?
http://www.microsoft.com/resources/sharedsource/de ... - abrasion, on 09/23/2008, -2/+14Yep, google haven't turned evil yet and most products are mind blowingly good for free (docs, search, gmail, earth) but chrome is up against FFox and when properly tuned, it is a monster of a good browser, fantastic features, customisable, constantly getting better and while not super fast, it's no IE either.
Honestly, I kind of wish they'd just work on assisting FFox, I'd like to see multi core / threaded support and more speed, I can't think of much else FF needs besides amazing speed, I want my browsing 3x faster, I don't care how, I don't care if it uses 10gb of disk cache or 1gb of ram (optionally) I just want it to be bloody fast, especially since I seem to hit only about 25 of the same sites constantly. - andyd273, on 09/23/2008, -0/+10Of course, I have a VB6 program that uses documented parts of the API, and it won't fully run under Vista because they changed things anyway.
What Google is doing isn't bad if they are responsible about it. Get ahold of the new alphas, betas and service packs, and thoroughly test them, then if something still breaks, be quick to patch. - infiniphunk, on 09/23/2008, -2/+11I don't think Google are interested in using Wine to run a Microsoft web-browser. They are a little bit above that.
- betterth, on 09/23/2008, -5/+14@Abrasion
You will never see Firefox equate to the stability and speed of Chrome. Remember, Chrome is in early beta, and by all measures can only get better and faster.
The Firefox team just redid a lot of their code base for 3.0, but the amount of work necessary to emulate the changes made by Chrome would be astronomic.
I'm very, very glad Google didn't decide to just 'improve' Firefox and instead tried to make a game-changer. When it comes to software, I'll take revolutionary ideas over evolutionary ones any day.
Anyway, if I were Firefox, I'd take the Cromium source code, take out webkit, throw the Gecko engine inside of it, and build Firefox 4.0 around a Gecko-ified version of Chrome. Voila, you get the multi-process stability and speed of Chrome, the rendering prowess of Gecko, and the speed of Chrome's wonderful javascript vm. - buddyw, on 09/23/2008, -0/+9Ars > (c|net) ^ 2
- mattlohkamp, on 09/23/2008, -0/+8you way?
- ommadawn, on 09/23/2008, -0/+8That's obvious, since c|net < 1
- HonoredMule, on 09/23/2008, -0/+8@netdroid9: You sound more like a pragmatist than fanboy. Never apologize for being able to sound like you've done your research. ;)
- mynameisrod, on 09/23/2008, -4/+12So Google have used undocumented security features in Windows, which Microsoft probably deliberately kept secret so they could have an unfair advantage in writing 'safe' code? Yay, go Google!
- MattCutts, on 09/23/2008, -33/+40Google already debunked this idea: http://news.cnet.com/8301-1001_3-10046395-92.html which says
"But Google itself didn't take that route. "We did not disassemble this code," the company said in a statement. "The source code indicates that the technique came from http://www.uninformed.org/?v=2&a=4. Please also note that...disassembling is just one of several methods one can use to find this information." - AirRaven, on 09/23/2008, -0/+7@freehunter:
You're referring to FF3.1's new Javascript engine, which bears zero relation to Webkit/Chrome.
The question of speed relative to Google's V8's still out there, too. - randoof, on 09/23/2008, -1/+8Did she teach you proper English at the same time?
- Dpack1, on 09/23/2008, -2/+9.....gnireenigne esrever stahw
See what i did there? that's reverse engineering :) - frogman54, on 09/23/2008, -1/+8If you notice, Chrome does steal the "close", "restore", and "minimize" buttons from windows media player. Conspiracy confirmed! Make your own buttons google!
- skinflute, on 09/23/2008, -0/+7The unsupported API function was actually added to Wine *after* Chrome was released, and both the Chrome source and the Wine patch references the same source for the information (http://www.uninformed.org/?v=2&a=4).
- jeuhrn, on 09/23/2008, -1/+7Why didn't you read the article? That's not what it's about at all.
- MattBlackCat, on 09/23/2008, -0/+6Doofus. Why do you think we have patent lawyers?
- estacado, on 09/23/2008, -0/+6Come on. You know how it's built just by looking at it. Glass sheet, wooden panes, hinges, screws.
- skyroket, on 09/23/2008, -0/+5I think you're missing a verb, buddy.
- freehunter, on 09/23/2008, -3/+8According to reports, FF4 is supposed to have an engine, developed seperately, that is faster than Chrome, they call their engine TraceMonkey.
- philhatesyou, on 09/23/2008, -0/+5It's only puzzling if you think Google is trying to compete with Firefox.
- skyroket, on 09/23/2008, -2/+7Dugg for "nigh impossible".
- jerrycan, on 09/23/2008, -1/+5Good stuff. Can I have Flashblock for Chrome. Graphic toggle button would be nice too (as long as they're saying they're lightweight...)
- strictnein, on 09/23/2008, -0/+4Are you really looking for everyone who read the article to respond?
- charlietuna, on 09/23/2008, -1/+5Google is funding Firefox, so it's a puzzling move (though I read about the Gecko vs XUL debate). As long as the DOM and other standards are somewhat stable, this is acceptable. In fact, as I think about it, this is another way to prevent MS from breaking IE more, since it inevitably erodes some of the MS user base.
- charlietuna, on 09/23/2008, -0/+4Never say never. I am old enough to recall a Linux README that emphasized that the kernel will never be ported to non-386 architectures, since that would require a complete rewrite. Well, Linux et al completely rewrote it, and AFAIK x386 essentially evolved into their hardware abstraction layer.
- rbluff, on 09/23/2008, -0/+4Yeah... totally unusable *cough*
- bindermichi, on 09/23/2008, -0/+4because if the compatibility issues with older Windows versions mentioned in the next paragraph.
- abrasion, on 09/23/2008, -0/+4betterth: "You will never see Firefox equate to the stability and speed of Chrome."
Who knows, chrome is pretty amazingly fast - and I've used my fair share of fresh installed browsers and versions on fresh high end machines - it's definitely top dog or close to it.
That being said, I don't care how it's done, who does it or whatever, ultimately I absoloutely can't live without the fucntionality the addons firefox gives me, with about 6 or 7 specific addons, I can have FF3 do precisely what I want, predictably every time, it's fast enough to be honest, I'm just being greedy.
I've been using browsers since lynx and the one thing I've noticed is that very few of them seem to make clever use of the cache, I've speculated many times on how this could be, hell it could even be an Australian thing with a minimum ping of 150ms to most US sites, who knows?
My theory is it's a DNS resolution issue, the browser is confirming if for example this image has changed before displaying it http://digg.com/users/betterth/s.png (your thumbnail as an example) - my browser / OS is trying to resolve digg.com each time, hitting the site each time and checking the file, it's the only thing I can guess based on the speed of browsing.
It's sad that most browsing (from my perspective) still seems the same in the past 5 years.
I realise site complexity is up, but my bandwidth has trippled, my latency has dropped 50%, my ram has gone up 8 or 16 times, my CPU has gone from 300mhz to 3.5ghz, I've got 512mb of video ram (you get the idea)
If chrome can be super quick, so can ffox, it'll come one day, I'm sure, I'm just impatient (I browse too much, clearly :( - maybe 30 hits a day to 10 regular sites, at least)
Thanks for the response, fingers crossed - buddyw, on 09/23/2008, -0/+3I
- KirbyMeister, on 09/23/2008, -1/+4Try it, it's really great.
- Myztry, on 09/23/2008, -1/+4And there's a good chance they'll change, or as BIll put it,
"Excel isn't finished till it works with MSDOS, and doesn't work with DRDOS..." - HareBall, on 09/23/2008, -1/+4Me!
- TheMidnight, on 09/23/2008, -0/+3If Microsoft uses an open-source code base like Chrome, it would be obligated under the GPL to release its own code as open-source, so I seriously doubt Microsoft would use *anything* from Chrome, Linux or otherwise.
- buddyw, on 09/23/2008, -1/+4Maybe because it has 90% market share and it isn't documented for *****?
- charlietuna, on 09/23/2008, -0/+3De-facto standards may seem risky, but as a practical matter once a large fraction of applications rely on them, they develop a life of their own, since changing them would invariably break stuff. Besides that, MS can break de jure standards just as easily, since they wrote the book. In either case people will get pissed off.
- Katana314, on 09/24/2008, -0/+2Complaining about slow and horrible Microsoft products is fine in my book. Complaining about it "because it's Microsoft" is just plain stupid.
- hardeep1singh, on 09/23/2008, -1/+3i did
- The_Dude, on 09/23/2008, -0/+2I love Chrome. It's faster even with ads.
- ParanoydAndroid, on 09/23/2008, -0/+2or maybe: http://digg.com/how_many_question_marks_are_too_ma ...
You seriously thought that one just wouldn't get the point across adequately? -
Show 51 - 100 of 121 discussions



What is Digg?
The Digg Toolbar for Firefox lets you Digg, submit content, and keep track of Digg even when you're not on the Digg site. Download the official