W32Dasm Disassembled

Part5: In Conclusion

by Harlequin

  December  2000


The Essay

This will be my concluding essay in the series as the whole thing has become a little too much to co-ordinate. I may well write a few more functions for W32Dasm but I shall not be writing essays on them. If I make any additions which are of any note I shall probably post them to protools.

This final part is not so much an essay as a do it yourself challenge.
Adding the recent files list in Part3 caused some problems. When a file was selected from the list unpredictable things happened when W32Dasm was closed down. This sometimes resulted in a GPF for W32Dasm but could also cause a GPF for other programs including explorer. Inevitably these GPF's resulted in a system reboot.

I studied this problem as much as I could and am still not 100% sure exactly why they were happening other than a certainty that they were due to the fact that I was writing data into the memory reserved for the W32Dasm commandline.

Anyway I managed to fix this problem, I also managed to fix it by rewriting the code of the w32patch.dll alone, so a new patch is not neccassary! You can find the updated dll and source code in the zip file. However rather than rushing in and just using my updated dll I offer a challenge for you to try to correct this problem yourself. After all if you are reading these essays you must have a desire to try this stuff yourself?

To achieve your goal you should take the source code for the dll from Part4 and re-write it. You will have to alter the combi functions 1,2&3 as they are all used by the recent files function. As you cannot write the data to the commandline section of memory you should copy the commandline to a section of memory of your own. Due to the fact that the W32Patch library is freed after every call you cannot just store the data in a variable within the dll rather you have to write it to the main W32Dasm memory. I used the little bit of space left over after our code from Part2.

Undoubtedly not a lot of you will have the nerve to try this but for those keen enough to get on and help themselves I have included the source code for the updated dll should you get to lost. If you are really trying to sort it out but have run into a dead end and can go no further then feel free to contact me and I will help where I can, as long as you can demonstrate your progress on your own.

 For details of compilation settings for the dll please see the headers in the source code.


Final Notes

The final W32Patch.dll also includes a couple of minor bug fixes for the Part4 Quick Edit function and the addition of a delete button to allow for the deletion of the saved file.

I hope that you have enjoyed this little series as much as I have and that mayby some of you have been helped with one little thing or another. Reversing is far more fun, far more challenging and far more rewarding than simply cracking.

My most sincere thanks go to +Tsehp who has been kind enough to tolerate my mistakes, my corrections and my updates and has continued to host these essays.

Any feedback welcomed.
Mail me at: Mail @ Harlequin00 . cjb . net


Thanks go to:

+Tsehp for posting my essays and taking the time to keep updating the revisions.

zouzouni for his testing/bug reports and suggestions

Everybody out there writing essays! I wouldn't be here without them.

Peter Urbanik for such a great tool


Essay by:       Harlequin
Page Created: 28th December 2000