1. #1
    U-Labs Plus-Mitglied

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard [Java] Passwort-Kodierung v9.0alq

    Code:
    import java.io.Serializable;
    
    /**
     *
     * @author Flav
     */
    public class Password {
        private static final int c(Object obj)
        {
            String s1 = obj.toString();
            int i1 = 0;
            int j1 = 0;
            int k1 = 0;
            int l1 = 0;
            for(int i2 = s1.length(); l1 < i2; l1++)
            {
                j1 = j1 * ((k1 & 3) == 3 ? 3 : 5) + s1.charAt(i2 - l1 - 1);
                k1 = i1 ^ j1;
                i1 = i1 * ((k1 & 4) != 0 ? 7 : 3) + s1.charAt((l1 * 43973) % i2);
            }
    
            return k1 >>> 26 ^ (j1 ^ i1) & 0x3ffffff;
        }
    
        public static String a(String s1, String s2)
        {
            int i1 = s1.length();
            int j1 = s2.length();
            int k1 = i1 ^ j1 << 4;
            if(i1 < 1)
                return s1;
            if(j1 < 1)
                return s2;
            int l1 = i1;
            if(j1 > l1)
                l1 = j1;
            StringBuffer stringbuffer = new StringBuffer(l1);
            for(int i2 = 0; i2 < l1; i2++)
                stringbuffer.append((char)(s1.charAt(i2 % i1) ^ s2.charAt(i2 % j1) ^ k1));
    
            return stringbuffer.toString();
        }
    
        private static int ah(String s1)
        {
            int i1 = 0;
            int j1 = 0;
            int k1 = 0;
            int l1 = s1.length();
            if(l1 < 19)
            {
                for(int i2 = l1 - 1; i2 >= 0; i2--)
                {
                    i1 = i1 * 3 + s1.charAt(i2);
                    j1 = j1 * 5 + s1.charAt(l1 - i2 - 1);
                }
    
            } else
            {
                int j2 = l1 / 19;
                for(int l2 = l1 - 1; l2 >= 0; l2 -= j2)
                {
                    i1 = i1 * 5 + s1.charAt(l2);
                    j1 = j1 * 3 + s1.charAt(l1 - l2 - 1);
                }
    
            }
            k1 = i1 ^ j1;
            return k1 & 0xffffff ^ k1 >> 24;
        }
    
        public static String a(Object obj, Serializable serializable)
        {
            String s1 = obj.toString();
            int i1 = s1.length();
            String s2 = serializable.toString();
            int j1 = s2.length();
            int k1 = j1 ^ i1 << 3;
            int l1 = i1;
            if(j1 < 1)
                return s1;
            if(i1 < 1)
                return s2;
            if(j1 > l1)
                l1 = j1;
            StringBuffer stringbuffer = new StringBuffer(l1);
            int i2 = s2.charAt(0);
            int j2 = s1.charAt(0);
            for(int l2 = 0; l2 < l1;)
            {
                if(i2 >= i1)
                    i2 = 0;
                if(j2 >= j1)
                    j2 = 0;
                stringbuffer.append((char)(k1 ^ s1.charAt(i2) ^ s2.charAt(j2)));
                l2++;
                i2++;
                j2++;
            }
    
            return stringbuffer.toString();
        }
    
        public static void main(String[] args) {
            String password = "PASSWORT";
            password = password.trim();
    
            if (password.isEmpty()) {
                password = " ";
            }
    
            String s5 = "xyz"; // password key
            int i1 = 0;
            String s6 = "tXx";
            s5 = a(s5, ((Serializable) ("GBVTUrWhMGF")));
            i1 = (s5.length() * 3) / 4;
            i1 = (s5.charAt(i1) + 1) % s5.length();
            s5 = (new StringBuilder()).append("").append(a((new StringBuilder()).append("").append(c(s5.substring(0, i1)) * c(s5.substring(0, i1))).toString(), ((Serializable) (s5.substring(i1))))).append(a((new StringBuilder()).append("").append(c(s5.substring(i1)) * c(s5.substring(i1))).append(0x52a6ab61).toString(), ((Serializable) (s5.substring(0, i1))))).toString();
            i1 = Math.abs((c(s5) ^ s5.length()) % s5.length());
            i1 = (s5.charAt(i1) + 19) % s5.length();
            if(i1 == 0)
                i1 = s5.length() / 2;
            s5 = (new StringBuilder()).append(a(s5.substring(i1), ((Serializable) ("NJ")))).append(s5.substring(0, i1)).toString();
            if(i1 % 7 != 5)
                s6 = "jlK";
            s5 = (new StringBuilder()).append(s6).append(s5).toString();
    
            int hash = ah(a(password, s5));
            System.out.println(hash);
        }
    }
    1-zu-1 aus dem Client übernommen wie der Decompiler es ausgespuckt hat, wird also nur für v9.0alq funktionieren.
    Geändert von Flav (09.04.2012 um 03:14 Uhr)

  2. The Following User Says Thank You to Flav For This Useful Post:

    Sky.NET (09.04.2012)

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 02.12.2013, 23:41
  2. Wie Passwort entschlüsseln?
    Von 5onny6lack im Forum Security
    Antworten: 4
    Letzter Beitrag: 10.07.2013, 20:41
  3. Knuddels Passwort kodierung
    Von MiBo im Forum Knuddels Programmierung
    Antworten: 0
    Letzter Beitrag: 05.02.2013, 15:47
  4. Huffmann Kodierung / Komprimierung
    Von Snees im Forum Java
    Antworten: 2
    Letzter Beitrag: 25.01.2013, 17:56
  5. [v9.0acb] Passwort-Kodierung
    Von Flav im Forum Sourcecode
    Antworten: 8
    Letzter Beitrag: 29.05.2011, 23:30
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191