• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 612
  • Last Modified:

VB6 DLL in VB.NET for Mobile Devices

I would like to create a DLL file with VB6 to be used in a VB.NET application for mobile devices.  The DLL contains code that we would like to protect, and that is why we would like to use VB6 as it cannot be decompiled/disassembled (at least not as easily as a .NET DLL).

I have created the DLL, added it as a reference and added the function calls to the mobile application.  Upon running it, I receive an error that the DLL is not registered.  I have registered it on the computer using RegSrv32 with no error.  I have set the DLL reference in VB.NET to register the DLL when copying it to the mobile device, this does not work.  I have also used the mobile version of RegSrv32 (something like RegSrvCE) but received an error code C1 leading me to believe a VB6 DLL cannot be used on Mobile Devices.

Am I wrong to think this cannot be done?  Is there another alternative to using VB6 to write the DLL and have it safe from being decompiled/disassembled?  Thanks! :)
0
4county
Asked:
4county
  • 6
  • 3
  • 3
1 Solution
 
alexey_gusevCommented:
you can't use VB6 on WM as it is linked to totally different libs, the processor is different etc

if you do want to avoid using, try using eVB, but I'm not sure it work and you will need probably special runtime
the easiest thing is to use C++ in such case
0
 
4countyAuthor Commented:
I did look into eVB but the Windows Mobile Team says it is just as easy to decompile as .NET.  That and it seems Microsoft has renamed it to WIndows Embedded and makes it really difficult to know if I am downloading/installing what I really want.
0
 
alexey_gusevCommented:
yes, that's just a bytecode in both cases.
is the code you want to protect too difficult to implement as C++ (I assume you have COM objects there)
0
Microsoft Certification Exam 74-409

VeeamĀ® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
4countyAuthor Commented:
Even when compiling the code as a DLL it is bytecode?

Well, it's hard to say if the code is too difficult to implement as C++, I have never tried.  We are strictly VB here and the code I want to protect is already in use in all of our VB6 applications.  I would like to leave it unchanged for the handheld but fear C++ would keep us from altering it.
0
 
alexey_gusevCommented:
I have touched eVB few years ago the very last time, but my memories tell me you need special runtime to be able to use it, so I assume it is a bytecode
0
 
Mikal613Commented:
Yes if you want to use evb you need the runtimes which is not supported post WM5
0
 
4countyAuthor Commented:
So it sounds like my best bet is to use C++ to write a DLL that cannot be disassembled for a handheld device?
0
 
Mikal613Commented:
evc is what u want
0
 
4countyAuthor Commented:
What about obfuscating the code?  I was told there is a built in obfuscator in Visual Studio.  Or would the built in version be a total joke?
0
 
Mikal613Commented:
built in version =  total joke
0
 
4countyAuthor Commented:
Yeah, I figured the built in version would be the first one to get figured out.
0
 
4countyAuthor Commented:
I will accept alexey_gusev's first response as the solution.  Thanks everyone!
0

Featured Post

Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

  • 6
  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now