naides
June 18th, 2002, 13:45
I recently started using WinXP when I updated my computer. The OS was pre-installed in the new box. Consequently I moved all my toys and tools to the new invironment, including an update to Dstdio 2.6.
Now the problem: There was a piece of software I had previously worked on on my old Win98 box. I had used the nag screen " No can do unless you have the dongle" to break near the protection with the old trick of using HWND command to find out the handle of the nag screen and then BMSG .......wm_destroy.
When I tried the same trick on the XP machine, the behavoir was quite different:
1. The handle of the "OK" button does not belong to the app module, but to one of the kernel dlls, USER32.dll which used to be the case with win98.
2. When I Bmsg to the handle of the dlg window, sice breaks on the application module code instead of the user32.dll as it was typical on W98. Needless to say, the code is not even near the place the nag was generated, (which I know from the Win98 debuging sesion) and is not useful, as it is, to isolate the protection checks.
I realize that the new OS has a different scheme to handle the flow of msgs. However, it seems to spoil and very useful RCE attack point.
Questions: Has anybody observed this behavoir and found a way to work around it So one may still take advantage of message-driven breakpoints??
Thanks in advance
Now the problem: There was a piece of software I had previously worked on on my old Win98 box. I had used the nag screen " No can do unless you have the dongle" to break near the protection with the old trick of using HWND command to find out the handle of the nag screen and then BMSG .......wm_destroy.
When I tried the same trick on the XP machine, the behavoir was quite different:
1. The handle of the "OK" button does not belong to the app module, but to one of the kernel dlls, USER32.dll which used to be the case with win98.
2. When I Bmsg to the handle of the dlg window, sice breaks on the application module code instead of the user32.dll as it was typical on W98. Needless to say, the code is not even near the place the nag was generated, (which I know from the Win98 debuging sesion) and is not useful, as it is, to isolate the protection checks.
I realize that the new OS has a different scheme to handle the flow of msgs. However, it seems to spoil and very useful RCE attack point.
Questions: Has anybody observed this behavoir and found a way to work around it So one may still take advantage of message-driven breakpoints??
Thanks in advance