I use butterflies
Login system
I was trying to give a understanding of the things you would need to make a secure login. and antis aren't made to stop people, like you said, any good reverse engineer could bypass it. And no shit, it's in .NET the most insecure language created. If I was aiming for secure I would use qt.
And no shit, it's in .NET the most insecure language created
The only way to make something compact as an anti-reversing idea is to use a server-client architecture and to process the critical and crucial parts in the server, it would be very efficient but it's not versatile (and so not always adjustable).
Creating a naive anti-reversing structure in a login application doesn't affect in making a `secured login`, but in making `a little bit more invulnerable, but an always vulnerable application from RE`. In both the two senses, you'll still be as procarious as you were before doing that anti-reversing scheme.
I spend the last 2 days learning C# how to connect to a MySQL online database, now today I learned how to encrypt it.
After reading this thread thats a bad idea?
What I want to try is; user names and passwords will be handed out by me, so then their encrypted hashes are going to be stored on MySQL online server. The program does the login authentication with MySQL server and if their login and password matches the server's hash the program process to Form2 or ect.
Is the php script way that much better? (I don't know any t php btw)
After reading this thread thats a bad idea?
What I want to try is; user names and passwords will be handed out by me, so then their encrypted hashes are going to be stored on MySQL online server. The program does the login authentication with MySQL server and if their login and password matches the server's hash the program process to Form2 or ect.
Is the php script way that much better? (I don't know any t php btw)
I would not advise you to authenticate users on the client. I'll send you a simple php authentication script that I use for pretty much all my projects. You will need to make it compatible to work with a C# desktop application though.
Virus scan: https://virustotal.com/#/file-analys...UwNDAzNzg3Mg==

Virus scan: https://virustotal.com/#/file-analys...UwNDAzNzg3Mg==
do you have a website where users / customers can login / signup?
if so, you could create a type of auth that saves their HWID (Hardware ID) when logging in for the first time, which prevents them from using the application on another computer / laptop, but make sure to encrypt your application and all users passwords
ps: dont do it from a text file
- - - Updated - - -
theres several types of anti tamper
here is one i use now and again,
it checks for the debugging process and sniffing processes
if so, you could create a type of auth that saves their HWID (Hardware ID) when logging in for the first time, which prevents them from using the application on another computer / laptop, but make sure to encrypt your application and all users passwords
ps: dont do it from a text file
- - - Updated - - -
theres several types of anti tamper
here is one i use now and again,
it checks for the debugging process and sniffing processes
Code:
private static void SNIFFER_CHECK()
{
string[] SNIFFERS = new string[]
{
"wireshark",
"fiddler",
"httpdebugger",
"burp",
"ettercap",
"dsniff",
"ethereal",
"tcpdump",
"sandboxie",
"SandboxieRpcSs",
"sandboxierpcss"
};
foreach (Process Meme in Process.GetProcesses())
{
if (SNIFFERS.Contains<string>(Meme.ProcessName))
{
Meme.Kill();
Environment.FailFast(null);
}
}
}
private static void DEBUGGER_CHECK()
{
string[] DEBUGGERS = new string[]
{
"dnspy",
"megadumper",
"olydb",
"ilspy",
"dotnet",
};
foreach(Process Meme in Process.GetProcesses())
{
if (DEBUGGERS.Contains<string>(Meme.ProcessName))
{
Meme.Kill();
Environment.FailFast(null);
}
}
}



