-
-
[原创]一枚解数学方程的CrackeMe分析
-
发表于:
2013-8-21 10:15
19125
-
这个CrackMe必须在NET4.0环境下运行,比较容易,顺道复习了中学数学。
1、运行程序,有三个Edit输入框,貌似三者都必须符合某种要求才能弹出正确的提示。

2、用Reflector载入,可以发现,程序的Form1里的点击按钮事件:

3、点进去查看代码,不难看出,三个输入的数字必须要同时满足三个条件才能弹出正确提示。
private void btnCheck_Click(object sender, EventArgs e)
{
double num = Convert.ToDouble(this.Num1.Text);
double num2 = this.Change(Convert.ToDouble(this.Num2.Text));
double num3 = Convert.ToDouble(this.Num3.Text);
if ((((Math.Log10(num3 - 3.0) + Math.Log10(num3 + 1.0)) == Math.Log10((4.0 * num3) - 3.0)) && ((Math.Pow(2.0, num + 3.0) - Math.Sqrt(Math.Pow(2.0, (num3 - 2.0) + (2.0 * num)))) == (4.0 + (2.0 * Math.Pow(4.0, num / 2.0))))) && (((Math.Sqrt(3.0) * Math.Pow(Math.Tan(2.0 * num2), 2.0)) - (4.0 * Math.Tan((num3 - 4.0) * num2))) == (Math.Sqrt(3.0) * -1.0)))
{
MessageBox.Show("Valid Combination! :)");
}
else
{
MessageBox.Show("Invalid combination :(");
}
}
[培训]科锐逆向工程师培训第53期2025年7月8日开班!