malloc, atoi, free - откуда они?

Тема в разделе "WASM.BEGINNERS", создана пользователем mr_death, 1 янв 2007.

  1. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    Код (Text):
    1. ...
    2.             inc ecx
    3.             .endw
    4.             invoke atoi, edx ; <---- из какой библиотеки эта команда
    5.             mov    portc, eax
    6.             .break
    7. ...
    Код (Text):
    1. ...
    2.     invoke wsprintfA, addr szStrBuff, addr szTemplate, eax ;addr targetIp
    3.     mov    strSize, eax
    4.     invoke malloc, 4000 ; <---- и эта команда откуда ?
    5.     mov    pOutText, eax
    6. ...
    Код (Text):
    1. ...
    2.       invoke MessageBox, 0, addr szError, addr targetIp, 0  
    3.     .endif
    4.     invoke free, pOutText ; <---- и эткуда эта команда (с какой библиотеки)?
    5.     invoke closesocket, hSocket
    6. ...
    Народ, у меня такая проблема, начал разбирать исходники одного Shell'a, написан он на masm'e, но применяются вот эти три команды, которых нет ни в одном .inc и .lib файле ... что они делают не могу сказать, т.к. нет собраного exe файла, так бы хоть дизассемблировал и глянул, что они делают, но видать не судьба, вот и решил написать на форуме, может добрые люди подскажут.
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    msvcr[t|4-8].dll
     
  3. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    Я понял, что из системной библиотеки, но вот еще один вопрос, а где взять для этих команд .inc и .lib файлы?
     
  4. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Ну коли это нативные функции языков С/С++, то в комплекте с компиляторами и надо искать. В частности у меня присутствует msvcrt.lib в комплектах LCC и VS.
    В любом случае LoadLibrary/GetProcAddress никто не отменял:)
     
  5. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    Можете выложить их?

    А по поводу GetProcAddress и LoadLibrary я в курсе :), просто не хотелась бы лишнего кода, по подгрузке библиотек.
     
  6. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    Можте объяснить что они делают эти команды, т.к. в справочнике WinAPI их нет.
     
  7. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    справочник винапи - пережиток прошлого, тперь он эволюционировал в мсдн, где они (эти функции) расписаны сполна
     
  8. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Из комплекта LCC
     
  9. Cigan

    Cigan New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2003
    Сообщения:
    54
    Адрес:
    Моск.обл
    В атаче inc и lib для масм
     
  10. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    попробую, доложу о результатах ...
     
  11. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    Вообщем после подключения выложеных сдесь .inc и .lib файлов, все равно эти функции не определяются, придется через GetProcAddress и LoadLibrary ... но все равно спасибо за помощь
     
  12. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    mr_death
    Неужели не заметно, что в инклудах Cigan функции переименованы? malloc называется crt_malloc и т.д.
     
  13. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    Извините, после НГ бошка туго соображает, большое спасибо, тему можно закрывать :)
     
  14. cpp_and_wasm

    cpp_and_wasm Владимир

    Публикаций:
    0
    Регистрация:
    27 июл 2006
    Сообщения:
    128
    Я вот хотел спросить не создавая новой темы: можно ли убрать "лишний" код при компиляции на MVC++ 6.0 для уменьшения размера выходного ехе-файла? В готовый ехе компилятор, вроде, засовывает эти msvcrt-функции.
     
  15. mr_death

    mr_death New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2005
    Сообщения:
    42
    не знаю, я только на Delphi пишу проги, недавно начал на MASM'e
     
  16. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    http://www.i2r.ru/static/374/out_8067.shtml

    Между прочим первая ссылка в яндексе по запросу "Написание маленьких приложений на С++"
     
  17. cpp_and_wasm

    cpp_and_wasm Владимир

    Публикаций:
    0
    Регистрация:
    27 июл 2006
    Сообщения:
    128
    спасибо!
     
  18. Dostoevsky

    Dostoevsky New Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2006
    Сообщения:
    33
    cpp_and_wasm
    Вот еще неплохая статья по теме внутреннего устройства CRTL и избавления от нее:
    http://www.rsdn.ru/article/cpp/crt.xml