Помогите понять значение данного дизассемблирования.

Тема в разделе "WASM.HEAP", создана пользователем melinion, 25 мар 2011.

  1. melinion

    melinion New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2011
    Сообщения:
    7
  2. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    melinion
    Лучше выложите не попытку декомпилирования, а дизассемблерный листинг, желательно в тегах
     
  3. melinion

    melinion New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2011
    Сообщения:
    7
    Работаю с программой OllyDBG 2.0 beta. Пользуюсь как новичок. Каким способом лучше это делается(получается дизассемблированный листинг)
     
  4. melinion

    melinion New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2011
    Сообщения:
    7
  5. Sunzer

    Sunzer Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    256
    CodeRipper плагин, но только не ко 2 оле. Лучше бинарик приложить сюда.
     
  6. melinion

    melinion New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2011
    Сообщения:
    7
    спасибо за совет
     
  7. melinion

    melinion New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2011
    Сообщения:
    7
    Бинарник это на столько сложно для новичка, что на это уйдёт несколько лет, а мне понять надо какой спрос с этого файла желательно сегодня... Вот голову ломаю понять не могу...
     
  8. melinion

    melinion New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2011
    Сообщения:
    7
    Что и правда никто не знает значение этого куска кода?
     
  9. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Когда Вы предоставите действительно кусок кода, а не это гуано, можно будет что-то подумать.
     
  10. cryptic_elk

    cryptic_elk New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2009
    Сообщения:
    25
    melinion, тебя просят просто выложить исполняемый файл
     
  11. Neonix

    Neonix New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    839
    melinion
    ты хотя бы то что декомпилировал сюда выложил в виде дизасм листинга. тупо скопируй из ольки и вставь сюда этот кусок. то что ты выложил - муть какая-то.
     
  12. reversecode

    reversecode Guest

    Публикаций:
    0
    читаются и парсятся ключи с текстового файла
     
  13. Nafanya

    Nafanya Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    581
    static __inline__ int test_and_set_bit(int nr, volatile void * addr)
    {
    int oldbit;

    __asm__ __volatile__( LOCK_PREFIX
    "btsl %2,%1\n\tsbbl %0,%0"
    :"=r" (oldbit),"=m" (ADDR)
    :"dIr" (nr) : "memory");
    return oldbit;
    }

    Кто-нибудь может в двух словах чиркнуть принцип работы этого чуда:) Как достигается атомарность, на этом участке.
     
  14. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    С помощью префикса LOCK, как и написано.
     
  15. Nafanya

    Nafanya Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    581
    LOCK_PREFIX судя по исходнику это макрос - #define LOCK_PREFIX "lock ; "

    После подстановки макроса получаем:
    Что это за язык? Судя по __asm__ это должен быть ассемблер, но что-то не похож. Что делают эти строки? Может кто-нибудь объяснить?
     
  16. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Nafanya
    \n - новая строка
    \t - таб
    bts Nбита,(m/r) - помещает указанный бит в cf, а потом устанавливает его
    sbb eax,eax - способ превратить флаг переноса (cf) в eax = -1

    как распределяются\сайзятся параметры и связываются с именами - смотрите в доки сами
     
  17. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    AT&T ассемблер, делают

    Код (Text):
    1. lock    bts [addr], nr
    2. sbb     eax, eax
     
  18. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    GCC inline assembler, AT&T syntax.

    Код (Text):
    1. lock bts addr, nr
    2. sbb oldbit,oldbit
     
  19. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    Не вдаваясь в детали могу сказать, что это код MFC (CString, CFile), который открывает файл, вычитывает из него какую-то инфу в виде строки, затем часть строки преобразуется в число и далее с этим числом и остатком строки производятся какие-то дьявольские манипуляции типа вычисления хеша...
    Операции типа:
    CFile.Seek( 3 * v9, 50 * v9 + v7, 0 ); -
    CFile.Read( &v48, 50 );
    CString g( &v48 );

    должны быть очевидны. Что за аргументы у методов легко можешь узнать в MSDN.
     
  20. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    кусок исходника асма i386, выдранный из Линукса (ghbvth http://locklessinc.com/articles/locks/). строки очевидно делают bts и sbb с блокировкой ;)