gpt4 book ai didi

java - 需要帮助逆向工程算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:49 25 4
gpt4 key购买 nike

我卡住了对一段 Java 代码进行逆向工程。我想知道是否有人可以帮助我!

String var1 = "hello";
String var2 = "123456";

long var_l = 0L;
byte[] a1 = new byte[50];
byte[] a2 = new byte[50];

// i believe this checks if its between a-Z?
for (int j = 0; j < var1.length(); j++)
{
a2[j] = (byte) var1.charAt(j);

if ((a2[j] < 65) || (a2[j] > 122)
{
continue;
}

var_l += 145 + a2[j];
}

接下来的部分我真的没看懂

var_l *= a1[0]; // a1 is a byte array of var2
var_l = 0xFFFF & var_l * (0xFF & var_l);

if (var_l < 100L)
{
var_l = 2728L;
}

有人可以帮我解决这个问题吗?我试图在这里学习加密算法,但我在遵循逻辑时遇到了麻烦。

完整代码如下:

param_licensekey & licensename & lictype 是全局变量。请阅读我下面的评论,了解我为什么要对其进行逆向工程的原因。感谢所有的遮阳篷。

public boolean check_license()
{
long l = 0L;
byte[] arrayOfByte2 = new byte['ÿ'];
byte[] arrayOfByte1 = new byte['ÿ'];
int i;
if (this.param_licensename.length() >= 2)
{
if (this.param_licensekey.length() >= 2)
{
for (int j = 0; j < this.param_licensekey.length(); j++)
arrayOfByte1[j] = (byte)this.param_licensekey.charAt(j);
for (j = 0; j < this.param_licensename.length(); j++)
{
arrayOfByte2[j] = (byte)this.param_licensename.charAt(j);
if ((this.param_licensename.charAt(j) < 'A') || (this.param_licensename.charAt(j) > 'Z'))
continue;
arrayOfByte2[j] = (byte)(32 + arrayOfByte2[j]);
}
for (j = 0; j < this.param_licensename.length(); j++)
{
if ((arrayOfByte2[j] < 65) || (arrayOfByte2[j] > 122))
continue;
l += 145 + arrayOfByte2[j];
}
l *= arrayOfByte1[0];
l = 0xFFFF & l * (0xFF & l);
if (l < 100L)
l = 2728L;
String str = this.param_licensekey.charAt(0) + l;
if (!this.param_licensekey.startsWith(str))
{
this.lictype = -1;
i = 0;
}
else
{
this.lictype = (i[0] - 48);
i = 1;
}
}
else
{
i = 0;
}
}
else
i = 0;
return i;
}

最佳答案

// var_l = var_l * a1[0]
var_l *= a1[0]; // a1 is a byte array of var2

// The low 16 bits of var_l are multipled by the low 8 bits of var_l (the parenthesis
// are not necessary in this case).
var_l = 0xFFFF & var_l * (0xFF & var_l);

// Self explanatory
if (var_l < 100L) {
var_l = 2728L;
}

关于java - 需要帮助逆向工程算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8707470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com