Hello Bros!
today I wanna Present you a grate open source software lock that you can add to your project and be sure that your application will not crack soon!
maybe you was knowing it before.
anyway!
Activelock3.6 is a Open Source DLL that you can change It's encryption and use it as your customization!
here you can download it: http://www.activelocksoftware.com/

OK now we had arrived to my problem
as you see this open source com dll must be registered and use as a component in our project. but It's not safe to use it with It's orgional Name (activelock3.6.DLL) and it's necessary to change it's name!
in It's bulletin board I got this instruction for changing the DLL Name:

1. In VB6 IDE, goto Project, click on "Activelock3 Properties" menu item.

2. Under General Tab, change the Project Name to anything you like. Let's call it "MyFile" for instruction purposes.

3. Go to the Make tab and select the Application Title if you wish. Also, change the Version Information if you want.

4. Under the Compile Tab, the DLL should be compiled to Native Code NOT p-code. Select "No Optimization"

5. If this is the first time you're compiling your new DLL, select "No Compatibility" under the Component Tab. For all subsequent compilations, you're recommended to use "Binary Compatibility" option although this is not absolutely necessary. If you use "Binary Compatibility" option, browse to the name of the file you already have (MyFile.dll). If you're not using the binary compatibility option, then you'll need to register your DLL via the regsvr32 command.

6. Click OK.

7. Go to File, and select the item "Make Activelock3.dll". "Make Project" dialog will be shown.

8. Change the name to "MyFile.dll" (or anything else you want)

9. Compile the DLL. When you compile the DLL, VB6 also registers your new file as the DLL server (COM DLL) - no regsvr32 needed.

10. Save project file under your own new name (MyFile.vbp)

11. Load your application into VB6 IDE. Go to Project, References and Browse to your new DLL. Click OK.

12. [NO LONGER VALID] Find the function GetTypeLibPathFromObject.

13. [NO LONGER VALID] Run Regedit and search for "MyFile.Globals". Find the CLSID of your application. This will be something similar to 441EC357-32BB-4BBA-B568-DD41CE501EBB

14. [NO LONGER VALID] Put a break in your code at GetTypeLibPathFromObject

15. [NO LONGER VALID] In the Immediate Window, type ? Enc("CLSID\{YourCLSIDHere}\InprocServer32") and Enter.

16. [NO LONGER VALID] Subsitute Dec("2E1.344.391.323.2EC.3F4.549.23C.23C.21B.2F7.2E1.231.247.25D.1EF.231.226.2D6.2D6.1EF.23C.2D6.2D6 .2CB.1EF.2D6.247.252.268.1EF.2EC.2EC.23C.21B.2E1.2F7.247.210.21B.2F7.2D6.2D6.55F.3F4.323.4BA.4D0.4E6 .4C5.441.391.457.4E6.512.457.4E6.231.226") with your own Dec("String from step 14 above")

17. [NO LONGER VALID] In the Immediate Window, also type ? Enc("MyFile.Globals") and Enter.

18. [NO LONGER VALID] Substitute Dec("42B.441.4FC.483.512.457.4A4.4C5.441.499.231.1FA.44C.4A4.4A4") with your own Dec("String from step 16 above")

19. Put a breakpoint at "If crc <> Value" Then and rerun your application.

20. Read the value of crc and go to "Private Property Get Value"

21. Enter the crc value here as the sum of several components to make it difficult for the Hex editors.

22. Change the ActiveLock3 in the following cases (do a project search on "ActiveLock3." !):
- Private Sub IActiveLock_Register(ByVal LibKey As String)
Dim Lic As New MyFile.ProductLicense
- Private MyActiveLock As MyFile.IActiveLock
- Private MyIniFile As New MyFile.INIFile
- Private Function IALUGenerator_GenKey(Lic As MyFileProductLicense, ByVal InstCode As String, Optional ByVal RegisteredLevel As String = "0") As String
- Public Function GenKey(Lic As MyFile.ProductLicense, ByVal InstCode As String, Optional ByVal RegisteredLevel As String = "0") As String
- Public Function CreateProductLicense(ByVal name As String, _
ByVal Ver As String, _
ByVal Code As String, _
ByVal Flags As MyFile.LicFlags, _
ByVal LicType As MyFile.ALLicType, _
ByVal Licensee As String, _
ByVal RegisteredLevel As String, _
ByVal Expiration As String, _
Optional ByVal LicKey As String, _
Optional ByVal RegisteredDate As String, _
Optional ByVal Hash1 As String, _
Optional ByVal MaxUsers As Integer = 1 _
) As ProductLicense
- Private Function GetClassString(Flags As MyFile.LicFlags) As String
- Public Const ACTIVELOCKSTRING As String = "Activelock3"
- Private Function IActiveLock_GenerateShortKey(ByVal SoftwareCode As String, ByVal SerialNumber As String, ByVal LicenseeAndRegisteredLevel As String, ByVal Expiration As String, ByVal LicType As MyFile.ALLicType, ByVal RegisteredLevel As Long, Optional ByVal MaxUsers As Integer = 1) As String
- Public Function GenerateShortKey(ByVal SoftwareCode As String, ByVal SerialNumber As String, ByVal LicenseeAndRegisteredLevel As String, ByVal Expiration As String, ByVal LicType As MyFile.ALLicType, ByVal RegisteredLevel As Long, Optional ByVal MaxUsers As Integer = 1) As String

Your application should be able to run with the new DLL name now
but when I tried to change It's name by these instruction when trying to compile it i saw some errors that are not not raising with the original name!
I'm sure I missed somewhere!
may some1 help me to solve this problem?
Thanks!
And I hope you all use this activeX to have safer projects!