Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 08-09-2006, 19:24
taos's Avatar
taos taos is offline
The Art Of Silence
 
Join Date: Aug 2004
Location: In front of my screen
Posts: 580
Rept. Given: 65
Rept. Rcvd 54 Times in 19 Posts
Thanks Given: 69
Thanks Rcvd at 137 Times in 36 Posts
taos Reputation: 54
Armadillo DLL unpacked but...

Hi!
I've unpacked (succesfully ?) an armadillo 3.xx DLL.
OEP is ok, IAT is ok too. It's a Visual Basic DLL ocx.
When I use this DLL in a VB executable file it shows:
"You do not have an appropriate license to use this functionality" in my native language and this DLL is in english.
This is a Visual Basic message, not from DLL.
If I run this DLL with a VC++ executable then it only exits and don't do nothing.

any idea?

BTW:Regsvr32 was used to register it.
__________________
omnino lo qui quae que quod somos es pulvis en el ventus.
TAOS

-The opposite of courage in our society is not cowardice, but conformity-
Reply With Quote
  #2  
Old 08-09-2006, 19:43
peleon peleon is offline
Friend
 
Join Date: Sep 2003
Posts: 174
Rept. Given: 0
Rept. Rcvd 7 Times in 1 Post
Thanks Given: 0
Thanks Rcvd at 7 Times in 7 Posts
peleon Reputation: 7
Hmm, interesting...

Maybe you can share that unpacked DLL and the caller EXE, so we can test it an understand that strange issue?
Reply With Quote
  #3  
Old 08-09-2006, 22:09
Maximus Maximus is offline
Friend
 
Join Date: Nov 2005
Posts: 39
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 1 Time in 1 Post
Maximus Reputation: 0
OCX controls can be 'licensed' using standard m$ licensing. It's a key (sometime embedded in the exe, sometime included as .LIC file).
Read this:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconlicensingissuesforolecontrols.asp
Reply With Quote
  #4  
Old 08-10-2006, 04:30
taos's Avatar
taos taos is offline
The Art Of Silence
 
Join Date: Aug 2004
Location: In front of my screen
Posts: 580
Rept. Given: 65
Rept. Rcvd 54 Times in 19 Posts
Thanks Given: 69
Thanks Rcvd at 137 Times in 36 Posts
taos Reputation: 54
Quote:
Originally Posted by peleon
Hmm, interesting...

Maybe you can share that unpacked DLL and the caller EXE, so we can test it an understand that strange issue?
Attached, unpacked DLL, original & caller VB exe.
Best Regards.
BTW: It's a ocx to hide folder & files to system, DOS windows and boot safe too.
Attached Files
File Type: rar HMF AX DEMO.rar (762.5 KB, 5 views)
__________________
omnino lo qui quae que quod somos es pulvis en el ventus.
TAOS

-The opposite of courage in our society is not cowardice, but conformity-
Reply With Quote
  #5  
Old 08-10-2006, 13:37
t4d t4d is offline
Friend
 
Join Date: Aug 2003
Posts: 26
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 0 Times in 0 Posts
t4d Reputation: 0
Eltima guys use GetEnvironmentVariableW

ALTUSERNAME
DAYSLEFT
EXPIRED

which are fired by ArmAccess.DLL

If not catched than bye, bye. Check this.

BTW. Your DLL cannot be registered on my system. Maybe some relocation problem. Do you use RELOX to finish your job on dynamic libs ?

Last edited by t4d; 08-10-2006 at 13:40.
Reply With Quote
  #6  
Old 08-11-2006, 00:02
Naides Naides is offline
Friend
 
Join Date: Mar 2005
Location: Planet Earth
Posts: 40
Rept. Given: 7
Rept. Rcvd 2 Times in 1 Post
Thanks Given: 21
Thanks Rcvd at 10 Times in 7 Posts
Naides Reputation: 2
May be this can be of help:

OCX, after registering, get assigned a a unique registry key
that looks something like 1234f-756b45463465-476464648389309

searching the registry with your dll name will give you the unique key for your OCX.

They get loaded by your app using the API:

ole32.CoCreateInstance

which takes the reg key as one of the parameters pushed into the stack. In olly you can by choosing brake in new module, you can catch it loading your dll.
If you locate the area of your main exe code that load your OCX .dll you can figure out the validation/registration mechanism and neutralize it.

In my case, loading an authorized OCX returned 1 in EAX, after ole32.CoCreateInstance API returns. otherwise a weird value, 800000A1 returned in EAX
Reply With Quote
  #7  
Old 08-11-2006, 02:28
taos's Avatar
taos taos is offline
The Art Of Silence
 
Join Date: Aug 2004
Location: In front of my screen
Posts: 580
Rept. Given: 65
Rept. Rcvd 54 Times in 19 Posts
Thanks Given: 69
Thanks Rcvd at 137 Times in 36 Posts
taos Reputation: 54
Quote:
Originally Posted by t4d
Eltima guys use GetEnvironmentVariableW

ALTUSERNAME
DAYSLEFT
EXPIRED

which are fired by ArmAccess.DLL

If not catched than bye, bye. Check this.

BTW. Your DLL cannot be registered on my system. Maybe some relocation problem. Do you use RELOX to finish your job on dynamic libs ?
Hi!
First thing is: THANK YOU TO ALL.

The job is done now

t4d gave me the right tip. I had to crack some bytes in DLL to bypass ArmAccess.DLL.
So unpack was succesfully and now has been cracked too.

Thanks to ALL again for your help.

Info:
Open an exe loader that uses this DLL/OCX in Olly.
bp GetEnvironmentVariableW
When breaks press F8 until you be in main.exe
Press CTRl+F9. Press F8 again only one time.
You have to change this jmp:
10013CEA JNE SHORT 10013CF2 to JE or JMP
and this too:
10013CFD JNE 10013D98 to JE or JMP


Did it!
__________________
omnino lo qui quae que quod somos es pulvis en el ventus.
TAOS

-The opposite of courage in our society is not cowardice, but conformity-

Last edited by taos; 08-11-2006 at 02:41.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT +8. The time now is 21:15.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )