Log in

View Full Version : help with a cbuilder component


criss Axel
June 19th, 2004, 06:03
Hi,

I have a problem with a component for CBuilder6. Like many other you can't run the program with the component ("test.exe" without having CBuilder opened. But like not many other i was not able to figure the protection scheme. The component is called I will read the FAQ 1.0.
The problem is that if you try openning the prog. without the IDE opened
it shows a nasty erorr: "Erorr reading memori adress at xxxxxxxxxx in module vcl60.bpl......".
I loaded test.exe with ollydbg and i foud that the procedure of finding if IDE is opened is taking place before the exe's entry point. I looked at the component's .bpl wich is loading with test.exe but i can't figure out the function responsable for the message erorr.
My question is can someone help me about this kind of protection?
I looked on the net for a solution but nothing.

Thanks.

dELTA
June 19th, 2004, 16:11
I can tell you for sure that the IDE check is not performed before the executable's entrypoint (well, if it's not placed in some statically linked dll of course, but then you should really know which one it is if it's your own program), and no, we don't allow crack requests here.

criss Axel
June 20th, 2004, 04:47
I don't espect to be allowed to ask crack requests. I'm asking only for a hint or something like that.
The dll is loaded first by the IDE and then statically by my program. So when i start my prog. the dll checks if it was already loaded by the IDE.
What function does that or else, how can it be done. I haven't found the function usually used by other components - FindWindow.
And because it causes an error, not displaying a message or something like that, i have no idea how to find the function responsable for the IDE check.

Thanks

dELTA
June 20th, 2004, 14:18
Single step the DLLMain of the dll of the component, that should most likely get you to the error soon enough, making it possible to see why it happened.

criss Axel
June 21st, 2004, 05:25
Thanks for the ideea i would go for it, but i was lucky and found what functions it uses to find out if the IDE was opened: getwindow and getwindowclass.
Stupid me
It was doing some other checks and if every thing was OK it sets byte 1 to some location. Then it uses the byte to figure it out if it has to mess up with @Forms@Aplication function hence the ugly error and if it shows the component on the form (a button for example).

I've found an other pack of components (only visual components - the one it was interesting me was the popupmenu with the possibility of displaying a text verticaly like win98 start menu).
I've fixed all the inconvenients of the trial version (i think) but in the instalation exe i have the possibility of installing the full version with source code.
The problem is i can't manage to find the to serials (for full version and for source code) in that Wise Installer.
I've found a forum about wise installer but it doesn't help, i've found the wise installer password but i need other passwords.
I've unpacked the installer but the files i'm interested in, are crypted (xxxxx.obj.eox or xxxxx.hpp.eox). There is no exe in the installer besides uninstaller.exe so i don't know how to decrypt those files.
The procedure of cheking the serials is damn big and complicated but i know that in the end if it gets a 3 as a result it's displaying a wrong pass message and goes all over again.
If someone knows how to break this kind of protection or knows how this wise installer works i apreciate every hint.


Thanks