Cоздать Dll EXE-шкой[на FASM]

Тема в разделе "WASM.BEGINNERS", создана пользователем eua, 14 фев 2011.

  1. eua

    eua New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2010
    Сообщения:
    42
    Приветствую!
    Люди подскажите как сделать так чтоб при запуске .exe создавалась Dll-ка .
    Или чтоб dll извлекалась из exe.
    Как проще это осуществить?Подскажите плиз.

    Буду блогодарен за любые адекватные ответы.(в двойне благодарен за примерчег)
     
  2. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Создай массив, запиши его в файл, все! И да переходи на си.
     
  3. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    в поиск, было.
     
  4. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    на си шарп.
     
  5. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Код (Text):
    1. include '%fasminc%\win32ax.inc'
    2. section '.data' data readable writeable
    3. echo db 'C:\HelloWorld.dll',0
    4. section '.code' code readable executable
    5. start:
    6. invoke  CreateFile,echo,GENERIC_WRITE,\
    7. FILE_SHARE_READ,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
    8. invoke ExitProcess,0
    9. .end start
    Мне только такое известно.
     
  6. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    :P
    Код (Text):
    1. format pe gui 4.0
    2. include 'win32ax.inc'
    3.  
    4.  
    5.  
    6.  
    7. section '' code executable import readable writable
    8. library kernel32,'kernel32.dll',\
    9.         user32,'user32.dll'
    10.  
    11. include 'api\kernel32.inc'
    12. include 'api\user32.inc'
    13.  
    14. entry $
    15.         invoke  CreateFileA,_file,GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0
    16.         push    eax
    17.         invoke  WriteFile,eax,_buff,_file-_buff,ioResult,0
    18.         invoke  CloseHandle
    19.         invoke  LoadLibraryA,_file
    20.         push    eax
    21.         invoke  GetProcAddress,eax,1
    22.         invoke  MessageBoxA,0,eax,0,0
    23.         invoke  FreeLibrary
    24.         invoke  ExitProcess,0
    25.  
    26. _buff:   file '.exe'
    27. _file    db 'c:\temp\.dll',0
    28. ioResult dd ?
    29.  
    30.  
    31.  
    32.  
    33. section '' export readable writable
    34. export '',\
    35.   _file,1
     
  7. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Ответ на загадку выше:
    - комментировать "_buff: file '.exe'" в "_buff:; file '.exe'"
    - ctrl+f9
    - отменить комментарий
    - ctrl+f9
    - ctrl+f9
     
  8. maverick

    maverick New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    148
    Код (Text):
    1. LoadResources:
    2.          invoke FindResource, [hModule], rcName ,RT_RCDATA
    3.                 cmp eax, NULL
    4.                 jz  .no
    5.  
    6.          mov [hResource], eax
    7.  
    8.          invoke SizeofResource, [hModule], [hResource]
    9.                 cmp eax, 0
    10.                 jz .no
    11.  
    12.          mov [ResSize], eax
    13.  
    14.          invoke LoadResource, [hModule], [hResource]
    15.                 cmp eax, 0
    16.                 jz .no
    17.  
    18.          mov [hMemory], eax
    19.  
    20.          invoke CreateFile, FilePath          ,\
    21.                             GENERIC_WRITE         ,\
    22.                             0                     ,\
    23.                             NULL                  ,\
    24.                             CREATE_ALWAYS         ,\
    25.                             FILE_ATTRIBUTE_NORMAL ,\
    26.                             NULL
    27.  
    28.          cmp eax, INVALID_HANDLE_VALUE
    29.            jz .no
    30.  
    31.          mov [hMyFile], eax
    32.  
    33.          invoke WriteFile, [hMyFile],\
    34.                            [hMemory],\
    35.                            [ResSize],\
    36.                            pBytesWritten,\
    37.                            NULL
    38.  
    39.          invoke CloseHandle, [hMyFile]
     
  9. eua

    eua New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2010
    Сообщения:
    42
    Всем спасибо люди!
    edemko
    Тебе 2-ое спасибо,хороший примерчег,что надо.
    Я думал строк в коде будет больше.(у меня их точно былоб больше).
    ;---------------------------------------------------------------------
    з.ы
    Да вот придётся наверно,в последнее время чтото много кто саветует.

    А в чом сила у - Си и Си шарп ???
     
  10. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    eua
    в правде сила, брат. А правда в том что асм как язык разработки умер и уже давно.
     
  11. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    за С# будущее, а за Си - legacy код.
     
  12. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    GoldFinch
    только жаль что с# от мс, но я хз, была давно очевидна необходимость подобного языка, мс сделал, а все остальные надеялись на застоявшуюся java, а так согласен.
     
  13. eua

    eua New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2010
    Сообщения:
    42
    С#,C++,Cи шарп наверно есть и еще.
    Так какой всёж получше будет?подскажите.
    Чтоб не получилось так что когда начну изучать С# мне скажут переходи на С++ .
    (или какойнибуть D#)
    Какой выбрать чтоб уж на верняк было?
     
  14. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    eua
    Надо знать НЕСКОЛЬКО языков, начни с C# как поймешь что такое алгоритмы как их писать, да и вообще азы. Тогда потихоньку можешь еще поразбирать как собсно работает ос, это не когда лишним не бывает.
     
  15. Sunzer

    Sunzer Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    256
    Сила в ньютонах, брат.
     
  16. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Зависит, что кодить планируете. Для малвари шарп не подойдет, ровно как и для сложных гуев на Си будет писать муторней и тяжелей, чем на шарпе.
     
  17. AndjellaArtavazdovna

    AndjellaArtavazdovna New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2010
    Сообщения:
    615
    Кодил на шарпе и на плюсах. Как по мне,шарп слишком оторван от системы и изучить последнюю программируя
    на нем довольно трудно будет.
     
  18. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    (ASM) + (C++)
    По мне так самая убойная парочка.
     
  19. eua

    eua New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2010
    Сообщения:
    42
    Если использовать такую парочку то какой АСМ для этого нужен?MASM,FASM,TASM ...?или любой? Или там свой?
     
  20. AndjellaArtavazdovna

    AndjellaArtavazdovna New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2010
    Сообщения:
    615
    eua
    Студия поддерживает inline ассемблер,но только для сложных мест,много не напишешь. Он на TASM/MASM похож.