Algo倒转c#

时间:2014-08-21 08:18:41

标签: c# algorithm reversing

我有一些用c#编写的算法:

int num3 = 260005;
string text = this.textBox1.Text;
int length = text.Length - 4;
int num5 = ((Convert.ToInt32(text.Substring(4, length)) - 0x7d1) / 2) - 0x7d1;


if (num3 == num5)
{
  do somthing!!!
}

有人可以解释如何为textBox1获取正确的输入吗?我尝试了一些数学但是卡住了。

我现在看到了。我被4个字符混淆了。

2 个答案:

答案 0 :(得分:1)

此代码将与您要查找的内容相匹配...这是因为您丢弃了文本框的前四个字符,然后执行((x - 2001) / 2) - 2001 = 260005的简单等式,因此x = 526013:< / p>

int num3 = 260005;
string text = "XXXX526013";
int length = text.Length - 4;
int num5 = ((Convert.ToInt32(text.Substring(4, length)) - 0x7d1) / 2) - 0x7d1;
if (num3 == num5)
{
    Console.WriteLine("Match!");
}
else
{
    Console.WriteLine("No Match! {0}", num5);
}

答案 1 :(得分:0)

您可以简单地撤消算法:

string text = "asdf" + (((num3 + 0x7d1)*2) + 0x7d1);