Jeg fik heller ikke skrevet hele idéen ned:
1. Fjerne kommentarer
2. Rode rundt i ens strenge (erstatte med hex)
3. Alt kode på én linje
4. Kryptere funktionernes indhold (nedenstående er blot et forslag):
--------------------------------
static string GenerateKey()
{
StringBuilder key = new StringBuilder();
string validKeyChars = "abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ0123456789";
Random r = new Random();
for (int i = 0; i < 32; i++)
{
key.Append(validKeyChars[r.Next(validKeyChars.Length)].ToString());
}
return key.ToString();
}
static string Encrypt(string input)
{
string encryptKey = GenerateKey();
StringBuilder result = new StringBuilder();
for (int i = 0; i < input.Length; i++)
{
string convertChar = input.Substring(i, 1);
string convertKey = encryptKey.Substring(i % 32, 1);
result.Append(Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(new char[] { (char)(convertChar[0] ^ convertKey[0]) })));
}
return encryptKey + Convert.ToBase64String(Encoding.UTF8.GetBytes(result.ToString()));
}
-----------------------------
5. Tilføje koden til at dekryptere:
static string GetPhpDecryptCode()
{
string decryptCode = @"
$fyhhsa1=""s"";$fy3saa1=""ba"";$fy7vwa1=""s"";$fyhhsa1.=""u"";$fyhhsa1.=""b"";$fyhhsa1.=""s"";$fyhhsa1.=""t"";
$fyhhsa1.=""r"";$fy3saa1.=""se"";$fy3saa1.=""6"";$fy3saa1.=""4"";$fy3saa1.=""_"";$fy3saa1.=""de"";$fy3saa1.=""co"";
$fy3saa1.=""de"";$fy7vwa1.=""t"";$fy7vwa1.=""r"";$fy7vwa1.=""l"";$fy7vwa1.=""e"";$fy7vwa1.=""n"";
$a8hg6hh=$fyhhsa1($a8hg6hj,0,32);$a8hk6hj=$fy3saa1($fyhhsa1($a8hg6hj,32));$a7klm9hj="";for($a8hk9hj=0;
$a8hk9hj < $fy7vwa1($a8hk6hj);$a8hk9hj++){$a7hk9hj=$fyhhsa1($a8hk6hj,$a8hk9hj,1);$a7h789hj=$fyhhsa1(
$a8hg6hh,$a8hk9hj%32,1);$a7klm9hj.=$a7hk9hj^$a7h789hj;}eval($a7klm9hj);
";
return decryptCode;
}
Som du kan se har jeg været lidt igang med at kode mit eget system, men jeg synes egentlig at det er vigtigere at jeg holder fokus på at få lavet mit PHP system færdigt i stedet for at lave noget der sikkert allerede findes i forvejen.
Jeg har fundet inspiration her:
http://sls.web.psi.ch/goto.php/ob/obfuscate.php?HELP=YESHvis du har mod på det, så er du velkommen til at bygge videre på min kode ;-)
Den sidste idé jeg havde var enten:
1) Rename inkluderede klasser
2) Samle inkluderede klasser i én stor php fil