能力值:
( LV6,RANK:90 )
|
-
-
2 楼
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
顺道请教下大侠们,那个KeyMe怎么搞定呀?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
好建议
比如一月推荐一些优秀的crackme
二月出一份破解教程
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
private void CloseApp()
{
string str = "papanyquiL";
for (int i = 0; i < this.textBox1.Text.Length; i++)
{
str = str + (this.textBox1.Text + 1 + 3).Replace(" ", "").Replace("a", "@").Replace("b", "1").Replace("c", "*").Replace("d", "4").Replace("e", "!").Replace("f", "#").Replace("g", "-").Replace("h", "%").Replace("i", "\x00a3").Replace("j", "$").Replace("k", "^").Replace("l", "'").Replace("m", ".").Replace("n", "~").Replace("o", "+").Replace("p", "=").Replace("q", "2").Replace("r", @"\").Replace("s", "9").Replace("t", "/").Replace("u", "6").Replace("v", ":").Replace("w", "8").Replace("x", "]").Replace("y", "7").Replace("z", "[") + (this.textBox1.Text.Length ^ i);
}
if (this.textBox2.Text != str)
{
MessageBox.Show("Incorrect serial!", null);
}
else
{
MessageBox.Show("Good job!", "Conquered!");
}
}
|
能力值:
( LV6,RANK:90 )
|
-
-
6 楼
谢谢楼上大侠的提示了~另外想请问下大侠是用的什么方式调试的呀?我用OD搞不定他的的说~
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
od 同样能跟,但上面的代码是用 Reflector.exe 直接反出来的。
什么样的马,喂什么样的料
|
能力值:
( LV6,RANK:90 )
|
-
-
8 楼
恩,这两个都是.net编写的,我只是想知道在OD中该如何调试他们的思路,不过还是决定试一试Reflector去了,谢谢你的指导~
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
打不开。。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
Serialme.exe
buttonClick事件
private void chk()
{
string text = this.richTextBox1.Text;
int num = 4;
int num2 = 20;
int index = 0;
int num4 = 0;
string[] strArray = new string[30];
byte[] bytes = Encoding.ASCII.GetBytes(text);
foreach (byte num5 in bytes)
{
if (Convert.ToChar(num5).ToString() == num.ToString())
{
strArray[index] = text.Substring(0, num4 + 1);
text = text.Remove(0, num4 + 1);
index++;
num4 = 0;
}
else
{
num4++;
}
}
if (index < num2)
{
this.fail();
}
else
{
int num6;
int num7;
for (num6 = 0; num6 < index; num6++)
{
num7 = num6 + 1;
while (num7 < index)
{
if (strArray[num6] == strArray[num7])
{
this.fail();
return;
}
num7++;
}
}
string str2 = "";
for (num6 = 0; num6 < index; num6++)
{
str2 = strArray[num6];
string str3 = str2.Substring(0, 1);
if ((((str3 != "0") && (str3 != "1")) && (str3 != "2")) && (str3 != "A"))
{
this.fail();
return;
}
for (num7 = 0; num7 < (str2.Length - 1); num7++)
{
int num8 = Convert.ToInt32(str2.Substring(num7 + 1, 1), 0x10) - Convert.ToInt32(str2.Substring(num7, 1), 0x10);
if (num8 == -1)
{
this.fail();
return;
}
num8 = Math.Abs(num8);
if (num8 == 0)
{
this.fail();
return;
}
if (num8 > 5)
{
this.fail();
return;
}
}
}
this.pass();
}
}
|
能力值:
( LV6,RANK:90 )
|
-
-
11 楼
代码写的好呀!恢复为C++语言,好读多了!
再放个CM出来,据说用上了传说中的LTT的扭曲变形哟!
|
能力值:
( LV9,RANK:180 )
|
-
-
12 楼
真是太扭曲太变态了
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
Crazy! Jmp To Jmp!
|
能力值:
( LV6,RANK:90 )
|
-
-
14 楼
再放个好玩的,呵呵~
断点很好找,GetDlgItemTextA,关键是进去后哈~:lol
反正我觉得这段代码太AQ了:
00401326 |> \B8 C1114000 mov eax, six.004011C1 0040132B |. B9 3C124000 mov ecx, six.0040123C 00401330 |. 2BC8 sub ecx, eax 00401332 |. 33DB xor ebx, ebx 00401334 |> 8A1418 /mov dl, byte ptr ds:[eax+ebx] 00401337 |. 3215 18334000 |xor dl, byte ptr ds:[403318] 0040133D |. 881418 |mov byte ptr ds:[eax+ebx], dl 00401340 |. 43 |inc ebx 00401341 |. 49 |dec ecx 00401342 |.^ 75 F0 \jnz short six.00401334
尤其是配合这段:
004012CD /$ BE 08334000 mov esi, six.00403308 004012D2 |. B9 10000000 mov ecx, 10 004012D7 |. C605 18334000>mov byte ptr ds:[403318], 0 004012DE |> 8BC1 mov eax, ecx 004012E0 |. F6E1 mul cl 004012E2 |. 02C4 add al, ah 004012E4 |. 8AD8 mov bl, al 004012E6 |. 8A06 mov al, byte ptr ds:[esi] 004012E8 |. F6E3 mul bl 004012EA |. 02C4 add al, ah 004012EC |. 0005 18334000 add byte ptr ds:[403318], al 004012F2 |. 46 inc esi 004012F3 |. 49 dec ecx 004012F4 |.^ 75 E8 jnz short six.004012DE 004012F6 \. C3 retn
逆出来了一组,嘿嘿:
UnLock Code: cuvweiyj
Name: CuteSnail
Code: BD06D720F14A1B64
|
能力值:
( LV6,RANK:90 )
|
-
-
15 楼
放过简单的,一共有7个关卡
|