Teen Programmers Unite  


Return to forum top

Very tough problem

Posted by CodeRed [send private reply] at March 27, 2003, 01:59:13 AM

Lets make a contest out of this, prove your 1337/\/355 kind of thing, first to figure out how to do this gets $10, seriously.

If you have ever used Internet Explorer you know the little error pages that come up whenever a page can't be found, the ones that say "Page cannot be displayed" at the top and offer several suggestions for fixing the problem. Well, I, for reasons that are irrelevant, want to change what those pages say. At first I thought this would be a 2 minute job, find the HTML documents on the hard drive and edit them in a text editor right? WRONG. For one thing the HTML code that is those error pages is in a DLL file called shdoclc.dll in the windows/system32 directory of WinXP (and I assume 2k). So, I opened the DLL in a text editor, used the search to find the code I wanted to change, and made the changes. However, I realized I couldn't save the file since it is being used by the windows kernel, so instead I named it shdoclc2.dll. I then renamed the original shdoc3.dll at which point I immediately got a popup from XP saying that a necessary windows file was not found and needed to be replaced. After much searching I found that this little feature is called SFC, the system file checker. I disabled this in the registry and was finally able to replace the shdoclc.dll file with my modified file. The next action I took in Internet Explorer caused it to hang. I used task manager to close it and disconnected from my ISP. When I tried to reconnect I got an error box from the ISP's software saying that "The applicaton or DLL C:\Windows\System32\shdoclc.dll is not a valid Windows image. Please check this against your installation diskette". So basically what I discerned from this is that some windows component is still using a checksum or CRC test on the file to make sure it is the original. I experimented by making various changes to the file and seeing if the check would pick up on it. At first I changed the first character in the file from an "E" to an "F", it caught it. Then I changed one character from an "f" to an "g" then the next character from an "i" to an "h", to see if it were checking ASCII sums, it still caught it. I tried making these changes at the beginning, middle, and end of the file and it caught the change every time. I don't know much about checksums but I did get an indication from another site that that is what it uses, but I know it can be bypassed because there are patches available that change this file.

So there you go, anyone who can come up with a way for me to make a change in this file without it having any adverse effects on my system gets $10.

Posted by CViper [send private reply] at March 27, 2003, 09:02:58 AM

Try "Resource Tuner" ( http://www.restuner.com ).. Unless I'm mistaken, it recalculates the checksums correctly. Also, shdoclc.dll only contains resources (icons, strings, HTML ...), no actuall code.

You could also try to rebuild the DLL, however, you'd have to export exactly the same resources for it to work (and at that point you're more or less back on some thirdparty tools to view you what resources reside in the DLL). Whatever.

Posted by CodeRed [send private reply] at March 27, 2003, 06:04:29 PM

"Also, shdoclc.dll only contains resources (icons, strings, HTML ...), no actuall code"

The HTML is what I want to edit, that is what I meant by code

Posted by CodeRed [send private reply] at March 27, 2003, 09:40:04 PM

w00t!! That program is awesome, it let me do what I wanted and lots more. $10 to you, just PM me your addy :)

Posted by CViper [send private reply] at March 28, 2003, 01:21:37 AM

keep 'em... just glad to help :p

Posted by CodeRed [send private reply] at March 28, 2003, 08:58:25 AM

okay thanks, it was money made by pirating games, so at least you won't have a guilty conscience LOL

Posted by CViper [send private reply] at March 28, 2003, 11:40:42 AM

Pirating games? tsk, tsk.. ;)

You must be logged in to post messages and see which you have already read.

Log on
Save for later automatic logon

Register as a new user
Copyright TPU 2002. See the Credits and About TPU for more information.