Print Page | Close Window

Skin and Armadillo

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Skin Framework
Forum Description: Topics Related to Codejock Skin Framework
URL: http://forum.codejock.com/forum_posts.asp?TID=6729
Printed Date: 14 July 2025 at 4:20pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Skin and Armadillo
Posted By: Kite
Subject: Skin and Armadillo
Date Posted: 25 March 2007 at 11:47am
Xtreme SkinFramework doesn't work with Armadillo protection when statically linked. What can be done to make it work?



Replies:
Posted By: Oleg
Date Posted: 26 March 2007 at 3:03am
Hi,
 
we tried Armadillo  and it use same methods as unicows which can't  work together with SkinFramework.  :(


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Kite
Date Posted: 26 March 2007 at 4:15pm
In any case I have made workaround and it works fine with Armadillo and Xtreme Skin statically linked


Posted By: Oleg
Date Posted: 27 March 2007 at 1:16am
Hi,
 
For future questions can you describe what you did?


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Kenneth
Date Posted: 27 March 2007 at 6:16pm
How come Kite can get it to work and nobody else can.  We have the same basic problems, that is we use both Unicode and Armadillo.
 
The skin framework is a large part of the pro toolkit, and it should work with major packages such as Armadillo and Unicode.
 
Ken
 
 


Posted By: Oleg
Date Posted: 28 March 2007 at 1:09am
Hi,
SkinFramework is very specific control - it hooks dll table to catch messages. Armadillo  do the same.
How SkinFramework should  work if it was already hooked by Armadillo ?
 
 
I guess you can create some loader dll, protect it with Armadillo  and from loader dll run your main application with skinframework.


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Kite
Date Posted: 28 March 2007 at 4:25am
It was really difficult to make it work. I can give you a hint. Unicows and Armadillo works in almost the same way, right, but not the same!!! I do not use Unicows in my projects now because Xtreme is not support it and I cannot skip Armadillo also because of Xtreme.

First, when you use Armadillo you have wrong IMAGE_IMPORT_DESCRIPTOR because of protection and second, your functions like GetProcAddress, LoadLibraryA
will always point to Armadillo functions, not Xtreme after LoadSkin

I have written a small DLL with stubs for functions GetProcAddress, LoadLibraryA, LoadLibraryW and so on and link it in Unicows way, so that after compiling it uses my functions, not Armadillo and not Xtreme, and not system functions. But now I can do what I want with this DLLs. And after loading skin I put in this stubs pointers to Xtreme functions OnHookGetProcAddress and so on. It seems all works fine.

After all of this you can find that now you will not able to load ArmAccess.dll, because LoadLibrary now is ours. But according to Armadillo forum you can know that you can use GetModuleHandle(NULL) instead of calling LoadLibrary. And for GetProcAddress (note just for ArmAccess.dll functions) you can use:

DWORD GetProcAddressA(HINSTANCE hInst, const char *fnname) {
   typedef DWORD (__stdcall *GetProcAddressAFn)(HMODULE, LPCSTR);

   char tmp[256]="";
   DWORD addr;
   GetEnvironmentVariableA("GetProcAddressA", tmp, 256);
   addr=atol(tmp);
   if (addr!=0) {
      GetProcAddressAFn GPA=(GetProcAddressAFn)(addr);
      return GPA(hInst, fnname);
   } else return 0;
};



Posted By: Kenneth
Date Posted: 28 March 2007 at 7:53pm
I still think there is a lot of double talk about this whole issue.  I have had Armadillo and Unicows working together for several years.  It seems the only program that does not work is the skin framework.  So if it is impossible to hook if you are using Unicows, how does Armadillo work?  And the other way around?


Posted By: Kite
Date Posted: 28 March 2007 at 8:58pm
We talk about skin here. And problem that all three things(Armadillo, Xtreme, Unicows) work almost in the same way. So the solution is how connect them in right way. Xtreme can work with Armadillo and Unicows and without skin, why not? And why you think that hook of Unicows impossible? I had working solution with Unicows and first version of Xtreme Skin.


Posted By: Kenneth
Date Posted: 28 March 2007 at 9:52pm

I agree with you.  Its Oleg that says its impossible for the skin framework to work with Armadillo or Unicows.  It just does not make sense that Armadillo and Unicows work well together, but the skinframework does not work with either.

Keep in mind that Armadillo and Unicows ALREADY work together, without having to modify anything!  Its only the skinframework that DOES NOT WORK.
 
 



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net