Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Реверсинг (https://forum.antichat.xyz/forumdisplay.php?f=94)
-   -   конкурс по реверсингу (https://forum.antichat.xyz/showthread.php?t=79719)

ProTeuS 05.08.2008 11:33

конкурс по реверсингу
 
F-Secure Reverse Engineering Challenge
http://www.khallenge.com/

ProTeuS 05.08.2008 11:43

первый уровень с оффсайта можно сразу слить. после его прохождения полу4аем второй, как я понимаю. вообщем пишем кто 4то смотрел-прошел, щас тоже бегло гляну

ProTeuS 05.08.2008 11:48

серийник должен быть длиной 4 байта,
вот таблица констант по адресу 690030D4: table: array [0..7] of byte = ($07, $2E, $35, $29, $70, $20, $76, $68);

вот код самой проверки введенного серийника:
Код:

6900108C  |. 83F8 04        CMP EAX,4
6900108F  |. 0F85 95000000  JNZ FSC08_Le.6900112A
69001095  |. 0FB615 0231006>MOVZX EDX,BYTE PTR DS:[69003102]
6900109C  |. A0 00310069    MOV AL,BYTE PTR DS:[69003100]
690010A1  |. 3005 D4300069  XOR BYTE PTR DS:[690030D4],AL
690010A7  |. 3015 D6300069  XOR BYTE PTR DS:[690030D6],DL
690010AD  |. 3005 D8300069  XOR BYTE PTR DS:[690030D8],AL
690010B3  |. 0FB615 0331006>MOVZX EDX,BYTE PTR DS:[69003103]
690010BA  |. 0FB605 0131006>MOVZX EAX,BYTE PTR DS:[69003101]
690010C1  |. 3015 D7300069  XOR BYTE PTR DS:[690030D7],DL
690010C7  |. 3005 D9300069  XOR BYTE PTR DS:[690030D9],AL
690010CD  |. 8A0D D5300069  MOV CL,BYTE PTR DS:[690030D5]
690010D3  |. 0FB615 0231006>MOVZX EDX,BYTE PTR DS:[69003102]
690010DA  |. 0FB605 0331006>MOVZX EAX,BYTE PTR DS:[69003103]
690010E1  |. 320D 01310069  XOR CL,BYTE PTR DS:[69003101]
690010E7  |. 3015 DA300069  XOR BYTE PTR DS:[690030DA],DL
690010ED  |. 3005 DB300069  XOR BYTE PTR DS:[690030DB],AL
690010F3  |. 80F9 61        CMP CL,61
690010F6  |. 880D D5300069  MOV BYTE PTR DS:[690030D5],CL
690010FC  |. 75 2C          JNZ SHORT FSC08_Le.6900112A
690010FE  |. 803D D7300069 >CMP BYTE PTR DS:[690030D7],79
69001105  |. 75 23          JNZ SHORT FSC08_Le.6900112A
69001107  |. 803D D8300069 >CMP BYTE PTR DS:[690030D8],32
6900110E  |. 75 1A          JNZ SHORT FSC08_Le.6900112A
69001110  |. 803D DA300069 >CMP BYTE PTR DS:[690030DA],30


ProTeuS 05.08.2008 12:26

($07, $2E, $35, $29, $70, $20, $76, $68)


table[1] := serial[1] xor table[1];
table[3] := serial[3] xor table[3];
table[5] := serial[1] xor table[5];

table[4] := serial[4] xor table[4];
table[6] := serial[2] xor table[6];

temp1 := table[2];
temp1 := temp1 xor serial[2];

table[7] := serial[3] xor table[7];
table[8] := serial[4] xor table[8];

mov table[2], temp1

table[2] = 61h
table[4] = 79h
table[5] = 32h
table[7] = 30h

с4итаем верный серийник, ответ не пишу 4тобы инетерсней было. когда вбиваешь валидный, появится мыло, на которе нужно послать ответ и полу4ить линку на 2 уровень

neprovad 05.08.2008 16:11

перешел на второй уровень. делал минут 20 :(
первый уровень по статистике сайта сделал кто-то за 8 минут.

ProTeuS 05.08.2008 16:15

только4то вывесили результаты на оффсайте.
а второй уровень времени нет проходить, там либо долго реверсить либо нудно рипать и брутить, в любом слу4ае пока нет времени, хотя сама идея интересная

beerhack 05.08.2008 16:28

Цитата:

Сообщение от neprovad
первый уровень по статистике сайта сделал кто-то за 8 минут.

дык так и норм... хули там... алго в пару строк... я минут за 10 зделал.
а вот со вторым влом уже возится... он вопервых не запускаеццо, там антиотладка и упх повешен(хотя нах было его так паковать, "типо трудно"?)

хотя надо и второй ломать... ибо интересно на третье чудо посмотреть...

TruPAC 05.08.2008 16:39

алго на лицо, в первую минуту стало ясно что оно делает. но есть загводка - как это работает? так что пользуясь моментом спрошу - каким способом получить валиднф?

Hellsp@wn 05.08.2008 16:43

Цитата:

только4то вывесили результаты на оффсайте.
а второй уровень времени нет проходить, там либо долго реверсить либо нудно рипать и брутить, в любом слу4ае пока нет времени, хотя сама идея интересная
реверсить не получиться долго) там мд5 в конце :) зато можно найти маски для перебора...

beerhack запускать нада с параметром, который собственно пасс :)

TruPAC 05.08.2008 16:55

тело сабжа обнажилось в первую минуту и возбудило мой аппетит своей простотой и лаконичность. xD но копаясь дальше я споткнулся об xor. пользуясь моментом - как он работает и есть ли статейки по реверсу за'xor'иных строк?

я, канеш, пытался xor'ить константы для проверки (61, 79, 32, 30) значениями из памяти, но ничего не вышло, тем более, что я не незнаю какими именно нужно xor'ить.

на худой конец, не могли бы вы на примере конкурсного крякмиса объяснить (в личку, если не желаете компромтировать) алго нахождения первого символа?


Время: 12:45