⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v.java

📁 经过反编译和部分代码修改后的ultraimpro java源代码。可在netbean环境下成功编译。供学习和分析用。
💻 JAVA
字号:
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 2006-5-1 19:31:44
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 


public final class v
{

    public v()
    {
        a_int_array1d_fld = new int[5];
        a_int_array1d_fld[0] = 0x67452301;
        a_int_array1d_fld[1] = 0xefcdab89;
        a_int_array1d_fld[2] = 0x98badcfe;
        a_int_array1d_fld[3] = 0x10325476;
        a_int_array1d_fld[4] = 0xc3d2e1f0;
        a_long_fld = 0L;
        b = new int[16];
        c = new int[5];
        a_int_fld = 0;
        a_byte_array1d_fld = new byte[20];
    }

    public final byte[] GetTotalChecksum(String s)
    {
        return GetTotalChecksum(s.getBytes());
    }

    public final byte[] GetTotalChecksum(byte abyte0[])
    {
        return GetSegmentChecksum(abyte0, 0, abyte0.length);
    }

    public final byte[] GetSegmentChecksum(byte abyte0[], int i, int j)
    {
        EncodeArray(abyte0, i, j);
        ComputeByteChecksum();
        return a_byte_array1d_fld;
    }

    public final void EncodeArray(byte abyte0[], int i, int j)
    {
        for(int k = 0; k < j; k++)
            EncodeByte(abyte0[k + i]);

    }

    public final void EncodeByte(byte byte0)
    {
        int i = 8 * (a_int_fld & 3);
        a_long_fld += 8L;
        b[a_int_fld >> 2] &= ~(255 << i);
        b[a_int_fld >> 2] |= (byte0 & 0xff) << i;
        a_int_fld++;
        if(a_int_fld == 64)
        {
            ComputeIntChecksum();
            a_int_fld = 0;
        }
    }

    public final int a(int i, int j)
    {
        int k;
        return k = i << j | i >>> 32 - j;
    }

    public final int a(int i)
    {
        b[i] = a(b[i], 24) & 0xff00ff00 | a(b[i], 8) & 0xff00ff;
        return b[i];
    }

    public final int b(int i)
    {
        b[i & 0xf] = a(b[i + 13 & 0xf] ^ b[i + 8 & 0xf] ^ b[i + 2 & 0xf] ^ b[i & 0xf], 1);
        return b[i & 0xf];
    }

    public final void a(int ai[], int i, int j, int k, int l, int i1, int j1)
    {
        ai[i1] += (ai[j] & (ai[k] ^ ai[l]) ^ ai[l]) + a(j1) + 0x5a827999 + a(ai[i], 5);
        ai[j] = a(ai[j], 30);
    }

    public final void b(int ai[], int i, int j, int k, int l, int i1, int j1)
    {
        ai[i1] += (ai[j] & (ai[k] ^ ai[l]) ^ ai[l]) + b(j1) + 0x5a827999 + a(ai[i], 5);
        ai[j] = a(ai[j], 30);
    }

    public final void c(int ai[], int i, int j, int k, int l, int i1, int j1)
    {
        ai[i1] += (ai[j] ^ ai[k] ^ ai[l]) + b(j1) + 0x6ed9eba1 + a(ai[i], 5);
        ai[j] = a(ai[j], 30);
    }

    public final void d(int ai[], int i, int j, int k, int l, int i1, int j1)
    {
        ai[i1] += ((ai[j] | ai[k]) & ai[l] | ai[j] & ai[k]) + b(j1) + 0x8f1bbcdc + a(ai[i], 5);
        ai[j] = a(ai[j], 30);
    }

    public final void e(int ai[], int i, int j, int k, int l, int i1, int j1)
    {
        ai[i1] += (ai[j] ^ ai[k] ^ ai[l]) + b(j1) + 0xca62c1d6 + a(ai[i], 5);
        ai[j] = a(ai[j], 30);
    }

    public final void ComputeIntChecksum()
    {
        c[0] = a_int_array1d_fld[0];
        c[1] = a_int_array1d_fld[1];
        c[2] = a_int_array1d_fld[2];
        c[3] = a_int_array1d_fld[3];
        c[4] = a_int_array1d_fld[4];
        a(c, 0, 1, 2, 3, 4, 0);
        a(c, 4, 0, 1, 2, 3, 1);
        a(c, 3, 4, 0, 1, 2, 2);
        a(c, 2, 3, 4, 0, 1, 3);
        a(c, 1, 2, 3, 4, 0, 4);
        a(c, 0, 1, 2, 3, 4, 5);
        a(c, 4, 0, 1, 2, 3, 6);
        a(c, 3, 4, 0, 1, 2, 7);
        a(c, 2, 3, 4, 0, 1, 8);
        a(c, 1, 2, 3, 4, 0, 9);
        a(c, 0, 1, 2, 3, 4, 10);
        a(c, 4, 0, 1, 2, 3, 11);
        a(c, 3, 4, 0, 1, 2, 12);
        a(c, 2, 3, 4, 0, 1, 13);
        a(c, 1, 2, 3, 4, 0, 14);
        a(c, 0, 1, 2, 3, 4, 15);
        b(c, 4, 0, 1, 2, 3, 16);
        b(c, 3, 4, 0, 1, 2, 17);
        b(c, 2, 3, 4, 0, 1, 18);
        b(c, 1, 2, 3, 4, 0, 19);
        c(c, 0, 1, 2, 3, 4, 20);
        c(c, 4, 0, 1, 2, 3, 21);
        c(c, 3, 4, 0, 1, 2, 22);
        c(c, 2, 3, 4, 0, 1, 23);
        c(c, 1, 2, 3, 4, 0, 24);
        c(c, 0, 1, 2, 3, 4, 25);
        c(c, 4, 0, 1, 2, 3, 26);
        c(c, 3, 4, 0, 1, 2, 27);
        c(c, 2, 3, 4, 0, 1, 28);
        c(c, 1, 2, 3, 4, 0, 29);
        c(c, 0, 1, 2, 3, 4, 30);
        c(c, 4, 0, 1, 2, 3, 31);
        c(c, 3, 4, 0, 1, 2, 32);
        c(c, 2, 3, 4, 0, 1, 33);
        c(c, 1, 2, 3, 4, 0, 34);
        c(c, 0, 1, 2, 3, 4, 35);
        c(c, 4, 0, 1, 2, 3, 36);
        c(c, 3, 4, 0, 1, 2, 37);
        c(c, 2, 3, 4, 0, 1, 38);
        c(c, 1, 2, 3, 4, 0, 39);
        d(c, 0, 1, 2, 3, 4, 40);
        d(c, 4, 0, 1, 2, 3, 41);
        d(c, 3, 4, 0, 1, 2, 42);
        d(c, 2, 3, 4, 0, 1, 43);
        d(c, 1, 2, 3, 4, 0, 44);
        d(c, 0, 1, 2, 3, 4, 45);
        d(c, 4, 0, 1, 2, 3, 46);
        d(c, 3, 4, 0, 1, 2, 47);
        d(c, 2, 3, 4, 0, 1, 48);
        d(c, 1, 2, 3, 4, 0, 49);
        d(c, 0, 1, 2, 3, 4, 50);
        d(c, 4, 0, 1, 2, 3, 51);
        d(c, 3, 4, 0, 1, 2, 52);
        d(c, 2, 3, 4, 0, 1, 53);
        d(c, 1, 2, 3, 4, 0, 54);
        d(c, 0, 1, 2, 3, 4, 55);
        d(c, 4, 0, 1, 2, 3, 56);
        d(c, 3, 4, 0, 1, 2, 57);
        d(c, 2, 3, 4, 0, 1, 58);
        d(c, 1, 2, 3, 4, 0, 59);
        e(c, 0, 1, 2, 3, 4, 60);
        e(c, 4, 0, 1, 2, 3, 61);
        e(c, 3, 4, 0, 1, 2, 62);
        e(c, 2, 3, 4, 0, 1, 63);
        e(c, 1, 2, 3, 4, 0, 64);
        e(c, 0, 1, 2, 3, 4, 65);
        e(c, 4, 0, 1, 2, 3, 66);
        e(c, 3, 4, 0, 1, 2, 67);
        e(c, 2, 3, 4, 0, 1, 68);
        e(c, 1, 2, 3, 4, 0, 69);
        e(c, 0, 1, 2, 3, 4, 70);
        e(c, 4, 0, 1, 2, 3, 71);
        e(c, 3, 4, 0, 1, 2, 72);
        e(c, 2, 3, 4, 0, 1, 73);
        e(c, 1, 2, 3, 4, 0, 74);
        e(c, 0, 1, 2, 3, 4, 75);
        e(c, 4, 0, 1, 2, 3, 76);
        e(c, 3, 4, 0, 1, 2, 77);
        e(c, 2, 3, 4, 0, 1, 78);
        e(c, 1, 2, 3, 4, 0, 79);
        a_int_array1d_fld[0] += c[0];
        a_int_array1d_fld[1] += c[1];
        a_int_array1d_fld[2] += c[2];
        a_int_array1d_fld[3] += c[3];
        a_int_array1d_fld[4] += c[4];
    }

    public final void ComputeByteChecksum()
    {
        byte abyte0[] = new byte[8];
        for(int i = 0; i < 8; i++)
            abyte0[i] = (byte)(int)(a_long_fld >>> (7 - i) * 8 & 255L);

        EncodeByte((byte)-128);
        while(a_int_fld != 56) 
            EncodeByte((byte)0);
        EncodeArray(abyte0, 0, abyte0.length);
        for(int j = 0; j < 20; j++)
            a_byte_array1d_fld[j] = (byte)(a_int_array1d_fld[j >> 2] >> (3 - (j & 3)) * 8 & 0xff);

    }

    private int a_int_array1d_fld[];
    private long a_long_fld;
    public byte a_byte_array1d_fld[];
    private int b[];
    private int a_int_fld;
    private int c[];
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -