tmp_xxx在java中是什么意思?

tmp_xxx在java中是什么意思?,java,android,arrays,android-studio,Java,Android,Arrays,Android Studio,今天我在网上搜索,发现了一个用java汇编语言编写的代码,我把它转换成java代码,发现了一些奇怪的代码,比如“tmp”,这个“tmp_xxx”是什么意思? 代码如下: private static String encrypted() { byte[] arrayOfByte = new byte[32]; byte[] tmp8_6 = arrayOfByte; tmp8_6[0] = 104; byte[] tmp13_8 = tmp8_6;

今天我在网上搜索,发现了一个用java汇编语言编写的代码,我把它转换成java代码,发现了一些奇怪的代码,比如“tmp”,这个“tmp_xxx”是什么意思? 代码如下:

      private static String encrypted()
  {
    byte[] arrayOfByte = new byte[32];
    byte[] tmp8_6 = arrayOfByte;
    tmp8_6[0] = 104;
    byte[] tmp13_8 = tmp8_6;
    tmp13_8[1] = 116;
    byte[] tmp18_13 = tmp13_8;
    tmp18_13[2] = 116;
    byte[] tmp23_18 = tmp18_13;
    tmp23_18[3] = 112;
    byte[] tmp28_23 = tmp23_18;
    tmp28_23[4] = 58;
    byte[] tmp33_28 = tmp28_23;
    tmp33_28[5] = 47;
    byte[] tmp38_33 = tmp33_28;
    tmp38_33[6] = 47;
    byte[] tmp44_38 = tmp38_33;
    tmp44_38[7] = 112;
    byte[] tmp50_44 = tmp44_38;
    tmp50_44[8] = 97;
    byte[] tmp56_50 = tmp50_44;
    tmp56_50[9] = 115;
    byte[] tmp62_56 = tmp56_50;
    tmp62_56[10] = 116;
    byte[] tmp68_62 = tmp62_56;
    tmp68_62[11] = 101;
    byte[] tmp74_68 = tmp68_62;
    tmp74_68[12] = 98;
    byte[] tmp80_74 = tmp74_68;
    tmp80_74[13] = 105;
    byte[] tmp86_80 = tmp80_74;
    tmp86_80[14] = 110;
    byte[] tmp92_86 = tmp86_80;
    tmp92_86[15] = 46;
    byte[] tmp98_92 = tmp92_86;
    tmp98_92[16] = 99;
    byte[] tmp104_98 = tmp98_92;
    tmp104_98[17] = 111;
    byte[] tmp110_104 = tmp104_98;
    tmp110_104[18] = 109;
    byte[] tmp116_110 = tmp110_104;
    tmp116_110[19] = 47;
    byte[] tmp122_116 = tmp116_110;
    tmp122_116[20] = 114;
    byte[] tmp128_122 = tmp122_116;
    tmp128_122[21] = 97;
    byte[] tmp134_128 = tmp128_122;
    tmp134_128[22] = 119;
    byte[] tmp140_134 = tmp134_128;
    tmp140_134[23] = 47;
    byte[] tmp146_140 = tmp140_134;
    tmp146_140[24] = 85;
    byte[] tmp152_146 = tmp146_140;
    tmp152_146[25] = 52;
    byte[] tmp158_152 = tmp152_146;
    tmp158_152[26] = 101;
    byte[] tmp164_158 = tmp158_152;
    tmp164_158[27] = 122;
    byte[] tmp170_164 = tmp164_158;
    tmp170_164[28] = 83;
    byte[] tmp176_170 = tmp170_164;
    tmp176_170[29] = 51;
    byte[] tmp182_176 = tmp176_170;
    tmp182_176[30] = 113;
    byte[] tmp188_182 = tmp182_176;
    tmp188_182[31] = 101;
    tmp188_182;
    String str = "";
    int j = arrayOfByte.length;
    int i = 0;
    if (i < j)
    {
      int k = arrayOfByte[i];
      if (k == 48);
      while (true)
      {
        i += 1;
        break;
        if (k == 127)
          str = str.concat("π");
        else
          str = str.concat(Character.toString((char)k));
      }
    }
    return str;
  }
私有静态字符串加密()
{
字节[]数组字节=新字节[32];
字节[]tmp8_6=数组字节;
tmp8_6[0]=104;
字节[]tmp13_8=tmp8_6;
tmp13_8[1]=116;
字节[]tmp18_13=tmp13_8;
tmp18_13[2]=116;
字节[]tmp23_18=tmp18_13;
tmp23_18[3]=112;
字节[]tmp28_23=tmp23_18;
tmp28_23[4]=58;
字节[]tmp33_28=tmp28_23;
tmp33_28[5]=47;
字节[]tmp38_33=tmp33_28;
tmp38_33[6]=47;
字节[]tmp44_38=tmp38_33;
tmp44_38[7]=112;
字节[]tmp50_44=tmp44_38;
tmp50_44[8]=97;
字节[]tmp56_50=tmp50_44;
tmp56_50[9]=115;
字节[]tmp62_56=tmp56_50;
tmp62_56[10]=116;
字节[]tmp68_62=tmp62_56;
tmp68_62[11]=101;
字节[]tmp74_68=tmp68_62;
tmp74_68[12]=98;
字节[]tmp80_74=tmp74_68;
tmp80_74[13]=105;
字节[]tmp86_80=tmp80_74;
tmp86_80[14]=110;
字节[]tmp92_86=tmp86_80;
tmp92_86[15]=46;
字节[]tmp98_92=tmp92_86;
tmp98_92[16]=99;
字节[]tmp104_98=tmp98_92;
tmp104_98[17]=111;
字节[]tmp110_104=tmp104_98;
tmp110_104[18]=109;
字节[]tmp116_110=tmp110_104;
tmp116_110[19]=47;
字节[]tmp122_116=tmp116_110;
tmp122_116[20]=114;
字节[]tmp128_122=tmp122_116;
tmp128_122[21]=97;
字节[]tmp134_128=tmp128_122;
tmp134_128[22]=119;
字节[]tmp140_134=tmp134_128;
tmp140_134[23]=47;
字节[]tmp146_140=tmp140_134;
tmp146_140[24]=85;
字节[]tmp152_146=tmp146_140;
tmp152_146[25]=52;
字节[]tmp158_152=tmp152_146;
tmp158_152[26]=101;
字节[]tmp164_158=tmp158_152;
tmp164_158[27]=122;
字节[]tmp170_164=tmp164_158;
tmp170_164[28]=83;
字节[]tmp176_170=tmp170_164;
tmp176_170[29]=51;
字节[]tmp182_176=tmp176_170;
tmp182_176[30]=113;
字节[]tmp188_182=tmp182_176;
tmp188_182[31]=101;
tmp188_182;
字符串str=“”;
int j=数组字节长度;
int i=0;
if(i
只是变量名称: tmp=temp(临时)

只是变量名称: tmp=temp(temporary)

因此带有“tmp”的名称只是字节名,编译器无法备份其旧名称,因此用tmp替换了名称

我已经清理了代码,这里是没有tmp代码的代码

希望这有帮助:)

代码:

快乐编码!:)

因此,带有“tmp”的名称只是字节名,编译器无法备份其旧名称,因此将名称替换为tmp

我已经清理了代码,这里是没有tmp代码的代码

希望这有帮助:)

代码:


快乐编码!:)

当您像以前那样反编译Java字节码文件时,反编译器通常无法找到局部变量等的原始名称。(局部变量的名称通常被省略。这取决于使用的原始编译器和编译器开关)

但是Java语言要求局部变量有名称。因此,反编译器需要生成一些名称,将其输入到输出的源代码中。这些名称通常基于一些简单的模式。这些生成的名称没有与之相关的内在含义/语义。你(试图理解字节码的人)必须通过弄清字节码的实际作用来赋予它们意义


另一个观察结果是,反编译的代码实际上没有多大意义。我怀疑字节码被混淆了;i、 e.对其进行处理,以使现成的反编译程序难以进行反编译。这就引出了以下问题:

  • 你为什么这么做
  • 这合法吗

'因为如果它是非法的,或者在道德上有疑虑(比如破解许可证密钥或DRM方案),我们不应该帮助您。

当您像您那样解压缩Java字节码文件时,反编译程序通常无法找到本地变量等的原始名称。(局部变量的名称通常被省略。这取决于使用的原始编译器和编译器开关)

但是Java语言要求局部变量有名称。因此,反编译器需要生成一些名称,将其输入到输出的源代码中。这些名称通常基于一些简单的模式。这些生成的名称没有与之相关的内在含义/语义。你(试图理解字节码的人)必须通过弄清字节码的实际作用来赋予它们意义


另一个观察结果是,反编译的代码实际上没有多大意义。我怀疑字节码被混淆了;i、 e.对其进行处理,以使现成的反编译程序难以进行反编译。这就引出了以下问题:

  • 你为什么这么做
  • 这合法吗

因为如果它是非法的,或者道德上可疑(比如破解许可证密钥或DRM方案),我们就不应该帮助你。

这是一个变量名?从你提供的少量信息来看,我认为这是你在反编译的字节码中使用命名变量的反编译器的方式。你用的是哪个反编译器?那些看起来像是字节名。我用的是D2J和JD。它没有意义。这是一个伪名称,反编译器发明它是为了通过某种方式调用变量。这是一个变量名称?从您提供的一点信息来看,我认为这是反编译器使用的方式
    private static String encrypted() {
    byte[] arrayOfByte = new byte[32];
    arrayOfByte[0] = 104;
    arrayOfByte[1] = 116;
    arrayOfByte[2] = 116;
    arrayOfByte[3] = 112;
    arrayOfByte[4] = 58;
    arrayOfByte[5] = 47;
    arrayOfByte[6] = 47;
    arrayOfByte[7] = 112;
    arrayOfByte[8] = 97;
    arrayOfByte[9] = 115;
    arrayOfByte[10] = 116;
    arrayOfByte[11] = 101;
    arrayOfByte[12] = 98;
    arrayOfByte[13] = 105;
    arrayOfByte[14] = 110;
    arrayOfByte[15] = 46;
    arrayOfByte[16] = 99;
    arrayOfByte[17] = 111;
    arrayOfByte[18] = 109;
    arrayOfByte[19] = 47;
    arrayOfByte[20] = 114;
    arrayOfByte[21] = 97;
    arrayOfByte[22] = 119;
    arrayOfByte[23] = 47;
    arrayOfByte[24] = 85;
    arrayOfByte[25] = 52;
    arrayOfByte[26] = 101;
    arrayOfByte[27] = 122;
    arrayOfByte[28] = 83;
    arrayOfByte[29] = 51;
    arrayOfByte[30] = 113;
    arrayOfByte[31] = 101;