zlib в exe

Discussion in 'WASM.BEGINNERS' started by ptech, Nov 29, 2005.

  1. ptech

    ptech Петров Сергей

    Blog Posts:
    0
    Joined:
    Nov 29, 2005
    Messages:
    11
    Location:
    Russia
    Доброго времени суток!



    Помогите решить проблему использования zlib без dll. Скачал исходники zlib, но понятия не имею как их использовать. Если у кого есть готовое решение - буду очень благодарен.
     
  2. bober

    bober New Member

    Blog Posts:
    0
    Joined:
    Feb 25, 2005
    Messages:
    153
    Вот архив там есть все что надо. Только это не для дельфи, и не для басика.

    [​IMG] 1962863169__common.rar
     
  3. _staier

    _staier New Member

    Blog Posts:
    0
    Joined:
    Oct 3, 2003
    Messages:
    738
    Location:
    Ukraine
    в дельфи есть свой злиб в поставке , с хедерами

    в extras
     
  4. ptech

    ptech Петров Сергей

    Blog Posts:
    0
    Joined:
    Nov 29, 2005
    Messages:
    11
    Location:
    Russia
    2bober

    Спасибо!



    2staier

    С делфи проблем нет, а вот с масмом...



    Появился дугой вопрос... Получаю два участка памяти через VirtualAlloc. В один пихаю текст, после пытаюсь сжать через compress и получаю Z_MEM_ERROR. В чем может быть проблема?
     
  5. ptech

    ptech Петров Сергей

    Blog Posts:
    0
    Joined:
    Nov 29, 2005
    Messages:
    11
    Location:
    Russia
    Я не верю, что никто не сталкивался с подобной проблемой. Почему не работает сл. код:
    Code (Text):
    1.  
    2. ...
    3. local dmem  :dword
    4. local smem  :dword
    5. local dlen  :dword
    6. ...  
    7. mov dlen, 100
    8.      
    9. invoke VirtualAlloc, 0, dlen, MEM_COMMIT, PAGE_EXECUTE_READWRITE
    10. mov dmem, eax
    11. invoke VirtualAlloc, 0, 50, MEM_COMMIT, PAGE_EXECUTE_READWRITE
    12. mov smem, eax
    13.    
    14. invoke memfill, smem, 50, 65
    15.      
    16. invoke compress, dmem, addr dlen, smem, 50
    17.      
    18. invoke VirtualFree, dmem, 0, MEM_RELEASE
    19. invoke VirtualFree, smem, 0, MEM_RELEASE
    20. ...
    21.  
     
  6. ptech

    ptech Петров Сергей

    Blog Posts:
    0
    Joined:
    Nov 29, 2005
    Messages:
    11
    Location:
    Russia
    2A_Must_Loll

    С compress2 такая же история. Скорее всего проблема в *.lib, т.к. я подключаю zlib.dll и все работает. Если есть возможность, то поделись рабочим вариантом.
     
  7. Al Shark

    Al Shark New Member

    Blog Posts:
    0
    Joined:
    May 16, 2006
    Messages:
    13
    Location:
    Moscow
    вот так работает (но это статичный буфер - без VirtualAlloc)

    .data
    inbuffer db 'Hello world!',3049 dup(0)
    outbuffer db 3049 dup(0)
    outbufferlen dd 3049
    .code
    ...
    invoke compress,offset outbuffer,offset outbufferlen,offset inbuffer,17
    ...
    и вообще попробуй разжать данные из dmem (полученные после Z_MEM_ERROR) используя uncompress может они правильно сжались а ошибка только из за того что ты сжимаеш всю выделенную память (я о т ом что сжимая 50 байт выдели под буфер например 1кб)
     
  8. asd

    asd New Member

    Blog Posts:
    0
    Joined:
    Mar 12, 2005
    Messages:
    952
    Location:
    Russia
    Al Shark
    Обнако:) Я думаю он тебя не услышит:)
     
  9. MSoft

    MSoft New Member

    Blog Posts:
    0
    Joined:
    Dec 16, 2006
    Messages:
    2,854
    вот в чем прелесть васма - сколько бы вы не ждали (год, два, три...), а помощь все равно придет :) Ну на каком форуме еще такое встретишь :)
     
  10. Al Shark

    Al Shark New Member

    Blog Posts:
    0
    Joined:
    May 16, 2006
    Messages:
    13
    Location:
    Moscow
    lol а я и не заметил когда он постил!
    просто сам инфу по zlib искал вот и ответил.
     
  11. Mental_Mirror

    Mental_Mirror New Member

    Blog Posts:
    0
    Joined:
    May 7, 2007
    Messages:
    431
    бугого, надежда умирает последней. надо бы тоже темку какую-нить откопать =)