It could be that you never thought about modifying a complement of some application, especially in your browser. The truth is that this is feasible and quite simple. The idea here is to modify options, language, and other features of a 3D viewer for Internet Explorer.
There is an interesting application called 3DMeNow, which means two photographs can generate a three-dimensional head with expressions, movements and many details.
The strange thing is that the first version (1.0) of this program was quite more complete than the next version (1.5) which removed the possibility of exporting to video (probably to be included as another application), removed the possibility of creating torsos and most importantly for this article: added an ugly advertising in the viewer embedded in the browser.
See what I mean (the image is supposed to be my virtual head):
The current menu is as follows, the final option displays a window with the credits of the application. Personally, even if it is necessary, I think that generally looks ugly this option in the elements embedded in the browser, which should be as clean as possible:
Where is the plugin?
This question is essential, the best would be to take a look at the page code that generates the program as demonstration or "preview":
Clear how the water?, isn't it?, good CLSID refers (as said many times before) to the unique service, library, object code. In this case we go directly to the Windows registry editor:
In fact, not could have been clearer. Within the known key InprocServer32 It was our search plug-in:
The extension OCX directly denotes that it is an ActiveX control, something like an embeddable application softwares and programs of the set of Microsoft Office (through the box of controls, on the Visual Basic toolbar), supported development environments such as Visual Studio (would mean extremely easily we could make our own player of expensive 3d in C#)(, Visual Basic or other language), and web pages viewed in Internet Explorer and probably Netscape.
Starting to put hand
Using Resource Hacker, Exescope or XN Resource Editor We review the plug-in. For some reason, the image of the Corporation is not defined as a resource, probably not erase it or change. Anyway here is work to make translating and deleting things to leave the add menu as well:
Save, close and check these small changes:
Everything goes well, but what to do with the ugly image of the corner.
In image search
I mean try to hit you where is located the small image. If he was not as a resource, was probably embedded in the code, in a different format to the BMPbecause otherwise I would have figured in resources.
The main formats we have now would be PNG, GIF and JPEG. We can analyze a representative of each format with an editor to see how it is the header of each file to get an idea:
Each format in particular has a readable word at the beginning, PNG, GIF and JFIF respectively.
Now we simply seek those keywords within the OCX file using an editor hexagesimal:
Ladies and gentlemen, it seems we have a winner.
Using heuristics, but to the eye
Reviewing nine occurrences of JFIF, there is one that stands out, as in front of the word JFIF has 6 bytes identical to that he saw with Notepad editor.
Look down and discover the end of image (this part is to the eye, we should simply note, for example that the bytes are beginning to form words in English that could be the library code):
Copy this piece of code to a file and review its contents:
Certainly, that was the picture that we were looking. To replace it, simply paste a new image in the editor hexagesimal, although we should keep the length of the original image, i.e. the new should be lower and we must not change anything down, i.e. If we delete 100 bytes and put an image of 80 bytes in the space of the old image, we must add 20 bytes in white.
Thus for example would be if we replace the image by a blank image made in mspaint (the head was moved deliberately to demonstrate the result):
Such an outcome is not very elegant, a better solution is remove the image or in the same way, invalidate the current without causing exceptions to complement internal JPEG decoder.
To remove the white box most likely cancel the size of the image, if what precedes JFIF is fixed, including the string JFIF, the bytes that follow must be the size of the image. Investigate the format JPEG would require a little more work, simply delete the bytes that follow up to a considerable length and tested:
If we want to achieve an improvement in compression of the file (for example in zip or rar format) can clean more down fill with zeros. However, with this latest change, we achieve a nice result:
We must set up SnagIt to capture a default area and save this screenshot directly to numbered files, the combination to activate the capture will be CTRL Mayus P. Thus with the design of a small code can capture all frames (automatically moving the scroll bar's) 3dMeNow, thanks to GroundControl):
Then, we can compile the video in Macromedia Flash or Adobe Premiere. Although we could directly capture video screen, this would provide us with less control, quality and fluidity. As example of the compilation of images is the following video:
A simple example in Visual Basic
To test the player a little, I made a simple plug-in interface and I included the model shown in this article, you need the libraries of Visual Basic 6.0 to operate.
To download the program Click hereto view the code for the application, Download the source from here. It has an approximate size of 2.5 megabytes and includes everything you need. The voice added to the animation is an extraction of the introduction of the track "The Dark Secret", "Symphony Of Enchanted Lands II" from the Rhapsody group.
Macromedia Flash, Shockwave and many other applications and browser add-ons could be modified to our whim thanks to small "tricks" similar to those reported in this article.
Just keep in mind keep a copy of the original version to restore the snap when something bad happens and we lose the functionality that we gave.