ner0
January 27th, 2015, 07:58
Hello,
I need to ask for some help with some reversing I'm trying to achieve.
I used the forum's search function but most topics related try to emulate SuperPro dongles when what I really want to achieve is strip it out or at least bypass it to a degree that the program does not use/decrese the # of available licenses.
I'm trying to find a way to follow an amazing tutorial, by Shub-Nigurrath, on how to remove Sentinel SuperPro from an app (Removing Sentinel SuperPro dongle from Applications.pdf ("https://www.google.com/search?q=Removing%20Sentinel%20SuperPro%20dongle%20from%20Applications.pdf")).
Although I'm a noob reverse-engineer, I try to learn what I can from who I can in order to reach my goal. Unfortunately there is little documentation for my specific case.
So, first off, my main obstacle at this point is that I need to remove Sentinel SuperPro checks from a commercial app that was developed in Visual FoxPro 9. The problem I'm facing is that VFP apps can't really be debugged in a disassembler like traditional C/C++ apps. The signatures won't be useful here, I think, because there is no way to see the SProNet imports/exports in the app.
I was somewhat successful in decompiling the app using ReFox XI and now have access to the source code from there, but I'm not really sure where to go from here. I found most of the app's functions to the SProNet API in the decompiled source code but unfortunately I am not able to recompile the program due to missing dependencies.
One of the options I thought about was to go for the SPro libraries themselves (SXFOXNET.DLL and SXFOXPRO.DLL) which the app uses. If only I could defeat the SproDecrement function so that it never decreases the available license numbers, that would kind of work for now. But this might not be possible without patching a few core anti-tamper calls. As an example, here is sproFormatPacket from both DLLs:
- SXFOXNET.DLL: http://i.imgur.com/EodSmi4.png
- SXFOXPRO.DLL: http://i.imgur.com/INPFJHJ.png
Do you think I can patch the DLLs?
In the tutorial I kind of got the idea that the author was patching the app and not the libraries themselves, now that I think of it maybe I misunderstood that point.
The other approach I thought of is using an executable that the program uses at startup.
This one I was able to decompile and recompile successfully due to being very small and simple.
With it I have access to the same calls that the main program does and what I was trying to do was use the sproReleaseLicense call to, well... release a license before using it. Needless to say that this failed miserably, resulting in the app throwing "invalid packet".
Anyway, I just wanted to know if someone can help me head in the right direction.
If the details I provided are insufficient, I'll gladly provide more, of course.
Thanks.
I need to ask for some help with some reversing I'm trying to achieve.
I used the forum's search function but most topics related try to emulate SuperPro dongles when what I really want to achieve is strip it out or at least bypass it to a degree that the program does not use/decrese the # of available licenses.
I'm trying to find a way to follow an amazing tutorial, by Shub-Nigurrath, on how to remove Sentinel SuperPro from an app (Removing Sentinel SuperPro dongle from Applications.pdf ("https://www.google.com/search?q=Removing%20Sentinel%20SuperPro%20dongle%20from%20Applications.pdf")).
Although I'm a noob reverse-engineer, I try to learn what I can from who I can in order to reach my goal. Unfortunately there is little documentation for my specific case.
So, first off, my main obstacle at this point is that I need to remove Sentinel SuperPro checks from a commercial app that was developed in Visual FoxPro 9. The problem I'm facing is that VFP apps can't really be debugged in a disassembler like traditional C/C++ apps. The signatures won't be useful here, I think, because there is no way to see the SProNet imports/exports in the app.
I was somewhat successful in decompiling the app using ReFox XI and now have access to the source code from there, but I'm not really sure where to go from here. I found most of the app's functions to the SProNet API in the decompiled source code but unfortunately I am not able to recompile the program due to missing dependencies.
One of the options I thought about was to go for the SPro libraries themselves (SXFOXNET.DLL and SXFOXPRO.DLL) which the app uses. If only I could defeat the SproDecrement function so that it never decreases the available license numbers, that would kind of work for now. But this might not be possible without patching a few core anti-tamper calls. As an example, here is sproFormatPacket from both DLLs:
- SXFOXNET.DLL: http://i.imgur.com/EodSmi4.png
- SXFOXPRO.DLL: http://i.imgur.com/INPFJHJ.png
Do you think I can patch the DLLs?
In the tutorial I kind of got the idea that the author was patching the app and not the libraries themselves, now that I think of it maybe I misunderstood that point.
The other approach I thought of is using an executable that the program uses at startup.
This one I was able to decompile and recompile successfully due to being very small and simple.
With it I have access to the same calls that the main program does and what I was trying to do was use the sproReleaseLicense call to, well... release a license before using it. Needless to say that this failed miserably, resulting in the app throwing "invalid packet".
Anyway, I just wanted to know if someone can help me head in the right direction.
If the details I provided are insufficient, I'll gladly provide more, of course.
Thanks.