Ok, here is what I found, so perhaps someone could get some advantage of it.
checksum dependency:
navigator = NO
IP = NO
hour = NO
server IP = NO
domain = YES
page size = YES ??? after changing my page, the checksum changed
page modification date = YES ??? same as the page size.
The method I figured it would be fast to do it:
You will need the googlenav.dll (download the google toolbat .cab file from Google and extract the googlenav.dll from it.
If you dissasemble googlenav.dll (breaking the terms of service... but who the fuck cares?) you can see that it imports several other modules:
Wininet.dll
CRYPT32.dll
It includes several more, but these are the important.
The googlenav.dll will export these functions:
DllCanUnloadNow
DllGetClassObject
DllInfoA
DllRegisterServer
DllUpdated2
DllUpdated
DllVersionStringA
DllVersionStringW
As you can see, it does not export the PR nor the crc.
That is quite logical if you take in mind that it uses the WININET.dll HttpSendRequestA function. If you take a look at the WININET.dll imported functions, it almost starts it's own browser.
The CRYPT32.dll will use CryptQueryObject to help making the crc code.
Now the glitch is that you have a dll that will query by itself the page rank and some other info, so it could be included in any other browser or program and give the same results. The best method I guess it's to do that is just adding this dll to a program that makes page queries and then consults the dll.
The page rank is a value returned in pure text, so it could be captured by the browser (page rank checker program), or just the output on the googlenav.dll could be redirected to the program that checks the PRs. If you capture the reply, you will not violate google's license because you would not need to modify their dll. If you decide to modify the dll and make it redirect the output to something else, you will be breaking google's license (but who cares?). In any case, if you are about to modify the googlenav.dll (and break google's license) then it's just a better idea to modify the WININET.dll statements and make it load your own modification of wininet.dll, so it would modify several of the query methods. After all, the WININET.dll is used to comunicate with google's servers once the crc is calculated, so make it comunicate with your program instead of google's server.
Hope this helps you. I know almost nothing about windows because I'm unix geek, so I can't help much more. If you know any programmer familiar with windows internals, I think he could take some advantage of this post.
|