vb.net hack

Source: Internet
Author: User
Tags reflector

"article title": Beginner crack vb.net simple encryption teaching
"article author": Aegean Sea
"Software Name": A data Processing program
"": Download your own search
"Writing language": vb.net
"Using the tool": Reflector
"Author statement": Just interested, no other purpose. Where mistakes are made please be advised by the heroes!
--------------------------------------------------------------------------------
"Detailed procedure"

Peid:microsoft Visual C #/Basic. NET

The first contact with the vb.net program produces an impulse to analyze.



Software is not registered, after running, the popup input box requires the registration code corresponding to the machine code. Three-time input error notification registration failed. The program menu is all locked and dimmed.

Then using OD mad Analysis, confused.

Occasionally reflector, steady, dare not alone, with June mutual encouragement.

To load the main program with reflector, see the following:



Step by step, to "Engineering 1"--"Form1"--"Form1_Load (Object,eventargs): Void"



Double-click "Form1_Load (Object,eventargs): Void"

See:



The Interception algorithm section is as follows:

BOOL flag = FALSE;
if ((Strings.len (Filesystem.dir ("C:/Program Files/common files/autodesk shared/acdbspspd.lxy",

Fileattribute.normal)) >= 5) && (Strings.len (Filesystem.dir ("C:/windows/winnta.dlt", Fileattribute.normal)) >= 5))

&& ((Strings.len (Filesystem.dir ("C:/WINDOWS/SYSTEM/SOUNDA.BPC", Fileattribute.normal) >= 5) && ( Strings.len

(Filesystem.dir ("C:/WINDOWS/SYSTEM32/C_808.EFP", Fileattribute.normal)) >= 5)))
{
Flag = true;
}
Else
{
Double num2 = Math.Abs (Conversion.int ((Double) (Math.tan (dateandtime.timer) * 100000000.0));
Double d = num2 * 720915.0;
Double num4 = Math.Abs (Conversion.int ((Double) (Math.tan (Math.Log (d)) * 100000000.0));
int NUM5 = 1;
Do
{
if (Interaction.inputbox ("User code:" + conversions.tostring (num2), "User registration", "",-1,-1) = =

Conversions.tostring (NUM4))
{
int filenumber = Filesystem.freefile ();
Filesystem.fileopen (filenumber, "C:/Program Files/common files/autodesk shared/acdbspspd.lxy",

Openmode.output, OpenAccess.Default, Openshare.default,-1);
Filesystem.printline (filenumber, new object[] {"Confg.sys"});
Filesystem.fileclose (new int[] {filenumber});
FileNumber = Filesystem.freefile ();
Filesystem.fileopen (filenumber, "C:/windows/winnta.dlt", Openmode.output, OpenAccess.Default,

Openshare.default,-1);
Filesystem.printline (filenumber, new object[] {"PFF.EFG"});
Filesystem.fileclose (new int[] {filenumber});
FileNumber = Filesystem.freefile ();
Filesystem.fileopen (filenumber, "C:/WINDOWS/SYSTEM/SOUNDA.BPC", Openmode.output,

OpenAccess.Default, Openshare.default,-1);
Filesystem.printline (filenumber, new object[] {"Aword.app"});
Filesystem.fileclose (new int[] {filenumber});
FileNumber = Filesystem.freefile ();
Filesystem.fileopen (filenumber, "C:/WINDOWS/SYSTEM32/C_808.EFP", Openmode.output,

OpenAccess.Default, Openshare.default,-1);
Filesystem.printline (filenumber, new object[] {"Excel.app"});
Filesystem.fileclose (new int[] {filenumber});
Goto label_033b;
}
num5++;
}
while (NUM5 < 4);
Interaction.msgbox ("Registration failed! ", Msgboxstyle.okonly," warning ");
This. Txt1.loadfile (@ "D:\LnlPro\cass data processing \1.txt", richtextboxstreamtype.plaintext);
This. menustrip.enabled = false;
This. toolbar.enabled = false;
}

Analysis of the statement by clause:

First define a false variable

Detection:
C:/Program Files/common Files/autodesk Shared/acdbspspd.lxy
C:/windows/winnta.dlt
C:/windows/system/sounda.bpc
C:/windows/system32/c_808.efp
These files exist and must be greater than or equal to 5 bytes in size, and if they are, return true, or false, to register.

Visible manually set up these 4 files, and fill in more than 5 characters, you can break.

We then analyze the algorithm flow:

Do
{
num5++;
}
while (NUM5 < 4);

Indicates that if the registration code is wrong, you can allow 3 input opportunities.


Double num2 = Math.Abs (Conversion.int ((Double) (Math.tan (dateandtime.timer) * 100000000.0));
Double d = num2 * 720915.0;
Double num4 = Math.Abs (Conversion.int ((Double) (Math.tan (Math.Log (d)) * 100000000.0));
int NUM5 = 1;

Use the Timer function to generate a random number for the current time, then tangent it, and then multiply the value by 100000000 to convert to an integral type. Multiply this value by 720915, type

to double.
This value is the machine code shown.

From:

if (Interaction.inputbox ("User code:" + conversions.tostring (num2), "User registration", "",-1,-1) = = Conversions.tostring

(NUM4))

You can see that NUM4 is the character that the user wants to enter.

The formula is:

Double num4 = Math.Abs (Conversion.int ((Double) (Math.tan (Math.Log (d)) * 100000000.0));

That is, the machine code to take the logarithm, then tangent, and then multiplied by 100000000, and then the results are rounded, the group after the absolute value. This is the registration code!

The algorithm keygen is not necessary to write, the algorithm is too simple.

--------------------------------------------------------------------------------
"Experience Summary"

Learn to use reflector, which is not encrypted with code. NET program, very useful! You try it too?

--------------------------------------------------------------------------------
"Copyright Notice": This article original in the Snow Technology Forum, reproduced please indicate the author and maintain the integrity of the article, thank you!

May 06, 2009 10:18:38 uploaded thumbnail images uploaded images

vb.net hack

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.