конкурс по реверсингу

Discussion in 'Реверсинг' started by ProTeuS, 5 Aug 2008.

  1. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    F-Secure Reverse Engineering Challenge
    http://www.khallenge.com/
     
    2 people like this.
  2. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    первый уровень с оффсайта можно сразу слить. после его прохождения полу4аем второй, как я понимаю. вообщем пишем кто 4то смотрел-прошел, щас тоже бегло гляну
     
  3. ProTeuS

    ProTeuS --

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

    вот код самой проверки введенного серийника:
    Code:
    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
    
     
  4. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    ($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 уровень
     
    1 person likes this.
  5. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    900
    Likes Received:
    275
    Reputations:
    59
    перешел на второй уровень. делал минут 20 :(
    первый уровень по статистике сайта сделал кто-то за 8 минут.
     
  6. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    только4то вывесили результаты на оффсайте.
    а второй уровень времени нет проходить, там либо долго реверсить либо нудно рипать и брутить, в любом слу4ае пока нет времени, хотя сама идея интересная
     
  7. beerhack

    beerhack Elder - Старейшина

    Joined:
    1 Mar 2008
    Messages:
    99
    Likes Received:
    48
    Reputations:
    5
    дык так и норм... хули там... алго в пару строк... я минут за 10 зделал.
    а вот со вторым влом уже возится... он вопервых не запускаеццо, там антиотладка и упх повешен(хотя нах было его так паковать, "типо трудно"?)

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

    TruPAC Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    29
    Likes Received:
    6
    Reputations:
    0
    алго на лицо, в первую минуту стало ясно что оно делает. но есть загводка - как это работает? так что пользуясь моментом спрошу - каким способом получить валиднф?
     
  9. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    реверсить не получиться долго) там мд5 в конце :) зато можно найти маски для перебора...

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

    TruPAC Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    29
    Likes Received:
    6
    Reputations:
    0
    тело сабжа обнажилось в первую минуту и возбудило мой аппетит своей простотой и лаконичность. xD но копаясь дальше я споткнулся об xor. пользуясь моментом - как он работает и есть ли статейки по реверсу за'xor'иных строк?

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

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

    beerhack Elder - Старейшина

    Joined:
    1 Mar 2008
    Messages:
    99
    Likes Received:
    48
    Reputations:
    5
    интересно третье творение тоже консолькой будет? кто знает... кто дошел туда?
     
  12. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    ужс, я же в 3 посте весь алго практи4ески сорцом на делфе написал...
     
  13. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    beerhack да тоже консольное :) и тоже сложное...
     
    2 people like this.
  14. TruPAC

    TruPAC Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    29
    Likes Received:
    6
    Reputations:
    0
    ProTeuS, так ведь я и спрашиваю про xor, я ж спп учил, от чего аналогия асмовского xor'a с обджект паскалевеским для меня бесполезна - не работал с ним, значит и не знаю для чего он, и как с ним бороться. если б понимал механизм работы оного, то и не спрашивал, тем более что в этой ветке это оффтоп, да и вы всё разжевали для самых маленьких.
    ну а теперь про ужасы xD
    тут
    и тут
    не состыковочка, во всяком случае на спп. но(!) не будем путать простую невнимательность, если она вообще есть, с незнанием.
     
  15. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    >>так ведь я и спрашиваю про 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) от результата. это и будет ответом.
     
  16. TruPAC

    TruPAC Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    29
    Likes Received:
    6
    Reputations:
    0
    ProTeuS, спасибо! не смею больше отвлекать
     
    1 person likes this.
  17. izlesa

    izlesa Elder - Старейшина

    Joined:
    3 Jan 2008
    Messages:
    112
    Likes Received:
    32
    Reputations:
    5
    первый улыбнул ) левелап )

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

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

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

    ЗЫ а UPX во втором не обычный или мне с недосыпа всякая фигня мерешится?
     
    #17 izlesa, 6 Aug 2008
    Last edited: 6 Aug 2008
  18. beerhack

    beerhack Elder - Старейшина

    Joined:
    1 Mar 2008
    Messages:
    99
    Likes Received:
    48
    Reputations:
    5
    да вроде упх обычный, снимается самим же упх)
     
  19. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    снимается, но Tls-колбек в анпакнутой версии вроде как не отрабатывает и не исполняет код, который далее будет крити4ен при прос4ете сериала
     
    1 person likes this.
  20. eLWAux

    eLWAux Elder - Старейшина

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

    "Congratulations!
    Please send an e-mail to [email protected]
    Assembly 2007 Reverse-Engineering Challenge - Level 2
    Copyright (c) 2007 F-Secure Corporation
    "