Ильфак сошел с ума!

Тема в разделе "WASM.RESEARCH", создана пользователем Rel, 16 апр 2020.

  1. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Причем тут пригорание, наоборот эта бирка на твоем лбе доставляет немного фана.

    Да тут не густо людей, чтобы кому-то что-то педалировать, к сожалению мало людей в нашем уютненьком комьюнити.
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Ну так коммьюнити-то о том, как решать задачи минимально необходимым набором возможностей, а не как штамповать минимум 10 говноигр для смартфонов в месяц, чтобы хотя бы аренду офиса окупить. Не ошибся ли ты дверью, дружок-пирожок? :)
     
  3. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    между прочим GBA оч популярны по ресерчу на всяких соревнованиях по взлому и тп
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    https://ru.wikipedia.org/wiki/Game_Boy_Advance
     
  5. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    f13nd, Я просто намекнул что такие задачи на конкурсах есть и иногда всплывают и 8битный гемйбой.
     
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    Ну я надеюсь эти конкурсы очень много денег Ильфаку приносят.
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Он на какой-то рассейской конфе, типа пхдейз или зиронайтс, говорил, что основной доход его компании сейчас приходит с антивирусных компаний. Так что вполне логично, что парсинг Golang'а был добавлен. Кроме малвари на Golang'е вряд ли кому-то что-то понадобится реверсить, Golang в основном для микросервисов используется.
     
  8. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Кто знает, что в IDA значит off_xxx ? Словом sub_xxx она помечает процедуры, а это что? Вот пример с какой-то софтины, там идет как обертка вокруг CreateFile (если перейти, будет)
    off_5B85B4 dd offset CreateFileA

    но не видел раньше такого. Это обфускация какая-то или особенности? Компилятор Rust.

    И еще, пользуясь случаем - как создать функцию в Ида? Есть дизасм, там код вида push ebp... , но самой функции почему-то автоматически не создало.
     

    Вложения:

  9. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Очевидно, переменная, которая хранит адрес.

    P. Но в графе не должно быть инвалидных инструкций или данных, иначе надо выделять диапазон адресов и потом уже P нажимать.
     
    M0rg0t нравится это.
  10. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Похоже на динамическую линковку, оно и в майкрософто-си сейчас активно используется.
     
  11. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Столкнулся с такой ошибкой декомпиляции. Что можно сделать и почему так?
     

    Вложения:

  12. MaKaKa

    MaKaKa Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2020
    Сообщения:
    53
    А что в дизе? По адресу какой-то невалид. Возможно какие-то данные или криво проанализированная функция.
     
  13. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    В первый раз что-ли? Чудеса.

    Пройтись по функции в дизасме руками, посмотреть что не так определилось, переходы, локальные переменные, освобождение стека после вызовов и тому подобное.
     
  14. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Ну и на чём отвалился ?
     
  15. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    да вроде ничего такого нет
    Код (Text):
    1. .text:1001A5F0                             xlAutoOpen      proc near               ; DATA XREF: .rdata:off_100278B8↓o
    2. .text:1001A5F0
    3. .text:1001A5F0                             var_4           = byte ptr -4
    4. .text:1001A5F0
    5. .text:1001A5F0 000 55                                      push    ebp
    6. .text:1001A5F1 004 8B EC                                   mov     ebp, esp
    7. .text:1001A5F3 004 51                                      push    ecx
    8. .text:1001A5F4 008 8D 45 FC                                lea     eax, [ebp+var_4]
    9. .text:1001A5F7 008 BA 94 48 03 10                          mov     edx, offset aCreatethread ; "CreateThread"
    10. .text:1001A5FC 008 50                                      push    eax
    11. .text:1001A5FD 00C 6A 00                                   push    0
    12. .text:1001A5FF 010 6A 00                                   push    0
    13. .text:1001A601 014 68 70 A6 01 10                          push    offset sub_1001A670
    14. .text:1001A606 018 6A 00                                   push    0
    15. .text:1001A608 01C 6A 00                                   push    0
    16. .text:1001A60A 020 B9 01 00 00 00                          mov     ecx, 1
    17. .text:1001A60F 020 E8 9C FB FF FF                          call    sub_1001A1B0
    18. .text:1001A614 020 FF D0                                   call    eax
    19. .text:1001A616 004 6A FF                                   push    0FFFFFFFFh
    20. .text:1001A618 008 50                                      push    eax
    21. .text:1001A619 00C BA 5C 48 03 10                          mov     edx, offset aWaitforsingleo ; "WaitForSingleObject"
    22. .text:1001A61E 00C B9 01 00 00 00                          mov     ecx, 1
    23. .text:1001A623 00C E8 88 FB FF FF                          call    sub_1001A1B0
    24. .text:1001A628 00C FF D0                                   call    eax
    25. .text:1001A62A 004 33 C0                                   xor     eax, eax
    26. .text:1001A62C 004 8B E5                                   mov     esp, ebp
    27. .text:1001A62E 004 5D                                      pop     ebp
    28. .text:1001A62F 000 C3                                      retn
    29. .text:1001A62F                             xlAutoOpen      endp
    30. .text:1001A62F
     
  16. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    -

    а, там все норм. Значит смотреть что там в sub_1001A1B0.
     
  17. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    эта процедура декомпилируется нормально. Она очень большая, там какой-то цикл с несколькими return из функции.
     
  18. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Что со стеком? Плашки о том что sp на выходе неверный, нет?
     
  19. algent

    algent Member

    Публикаций:
    0
    Регистрация:
    11 апр 2018
    Сообщения:
    101
    А декомпиль умеет ставить что-то вместо "call eax" ?
     
  20. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    875
    Зайди в Options->General->Disassembly, поставь галочку Stack Pointer, посмотри чему значение SP равно после вызова функции. sub_1001A1B0 - это fastcall процедура, аналог GetProcAddress.
    --- Сообщение объединено, 15 фев 2022 ---
    После первого call eax, SP должен быть 8, а не 4
     
    M0rg0t нравится это.