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

Форум АНТИЧАТ (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'ить.

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

beerhack 05.08.2008 16:55

интересно третье творение тоже консолькой будет? кто знает... кто дошел туда?

ProTeuS 05.08.2008 17:00

Цитата:

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

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

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

ужс, я же в 3 посте весь алго практи4ески сорцом на делфе написал...

Hellsp@wn 05.08.2008 18:34

beerhack да тоже консольное :) и тоже сложное...

TruPAC 05.08.2008 18:55

ProTeuS, так ведь я и спрашиваю про xor, я ж спп учил, от чего аналогия асмовского xor'a с обджект паскалевеским для меня бесполезна - не работал с ним, значит и не знаю для чего он, и как с ним бороться. если б понимал механизм работы оного, то и не спрашивал, тем более что в этой ветке это оффтоп, да и вы всё разжевали для самых маленьких.
Цитата:

table[3] := serial[3] xor table[3];
ну а теперь про ужасы xD
тут
Цитата:

table: array [0..7] of byte = ($07, $2E, $35, $29, $70, $20, $76, $68);
и тут
Цитата:

table[8] := serial[4] xor table[8];
не состыковочка, во всяком случае на спп. но(!) не будем путать простую невнимательность, если она вообще есть, с незнанием.

ProTeuS 05.08.2008 19:08

>>так ведь я и спрашиваю про xor, я ж спп учил, от чего аналогия асмовского xor'a с обджект паскалевеским для меня бесполезна
там не паскаль, а псевдокод, хоть и паскалеподобный для простоты понимания


>>не состыковочка, во всяком случае на спп. но(!) не будем путать простую невнимательность, если она вообще есть, с незнанием
см. прошлый пункт


>>я, канеш, пытался xor'ить константы для проверки (61, 79, 32, 30) значениями из памяти, но ничего не вышло, тем более, что я не незнаю какими именно нужно xor'ить.
X xor const = Y
->
const xor Y = X
ни4его кроме математики ненужно знать, язык программирования-это уже подообности для конкретного алгоритма. предполагаю, 4то ты проксорил там 4то-то, полу4ил ответ в X но непонял 4то с ним делать. а нужно было просто полу4ить аски-символ (CHAR) от результата. это и будет ответом.

TruPAC 05.08.2008 19:13

ProTeuS, спасибо! не смею больше отвлекать

izlesa 06.08.2008 00:15

первый улыбнул ) левелап )

если кто ещё не видел

тема на краклабе
http://www.cracklab.ru/f/index.php?action=vthread&forum=1&topic=12457

победители
http://www.f-secure.com/weblog/archives/00001480.html

ЗЫ а UPX во втором не обычный или мне с недосыпа всякая фигня мерешится?

beerhack 06.08.2008 02:30

да вроде упх обычный, снимается самим же упх)

ProTeuS 06.08.2008 11:29

снимается, но Tls-колбек в анпакнутой версии вроде как не отрабатывает и не исполняет код, который далее будет крити4ен при прос4ете сериала

eLWAux 17.08.2008 19:21

первий уровень БРЕД!
я его за 1минуту сделал, +к тому, я только новичок =)
мой пасс: Asm07REC
а второй упакован UPXом, роспаковка запросто идет, в Ольке открив,
заNOPим строчки 4011E1, 4012D?, 10123F, и виходит messagebox:

"Congratulations!
Please send an e-mail to LuckyNumberIs_22657865_FSC@khallenge.com
Assembly 2007 Reverse-Engineering Challenge - Level 2
Copyright (c) 2007 F-Secure Corporation
"

ProTeuS 17.08.2008 20:01

Цитата:

Сообщение от eLWAux
первий уровень БРЕД!
я его за 1минуту сделал, +к тому, я только новичок =)
мой пасс: Asm07REC
а второй упакован UPXом, роспаковка запросто идет, в Ольке открив,
заNOPим строчки 4011E1, 4012D?, 10123F, и виходит messagebox:

"Congratulations!
Please send an e-mail to LuckyNumberIs_22657865_FSC@khallenge.com
Assembly 2007 Reverse-Engineering Challenge - Level 2
Copyright (c) 2007 F-Secure Corporation
"

LuckyNumberIs_22657865_FSC@khallenge.com
имейл невалиден, просто запат4ив бинарь он сгенерил неверный выходной буфер, ибо вход-выход зависим


Время: 12:56