FASM > Простая стучалка ) > Детекты АВ

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

  1. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    Собственно сабж ) Написал простую стучалку:

    Код (Text):
    1. format PE GUI 4.0
    2.  
    3. ; ==================================================
    4.  
    5. entry start
    6.  
    7. ; ==================================================
    8.  
    9. include '%include%/win32a.inc'
    10.  
    11. ; ==================================================
    12.  
    13. section '.rsrc' resource data readable
    14.     directory \
    15.         RT_GROUP_ICON, group_icons, \
    16.         RT_ICON, icons
    17.     resource group_icons, \
    18.         1, LANG_NEUTRAL, main_icon
    19.     resource icons, \
    20.         1, LANG_NEUTRAL, icon_data
    21.     icon main_icon, icon_data, 'icon_16x16.ico'
    22.  
    23. ; ==================================================
    24.  
    25. section '.data' data readable writeable
    26.     hInternet dd ?
    27.     _lpszAgent db 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16', 0
    28.     _lpszUrl db 'http://localhost/', 0
    29.     _title db 'Good!', 0
    30.     _message db 'Good!', 0
    31.  
    32. ; ==================================================
    33.  
    34. section '.idata' import data readable writeable
    35.     library \
    36.         kernel32, 'kernel32.dll', \
    37.         user32, 'user32.dll', \
    38.         wininet, 'wininet.dll'
    39.     import kernel32, \
    40.         ExitProcess, 'ExitProcess'
    41.     import user32, \
    42.         LoadIcon, 'LoadIconA', \
    43.         MessageBox, 'MessageBoxA'
    44.     import wininet, \
    45.         InternetOpen, 'InternetOpenA', \
    46.         InternetOpenUrl, 'InternetOpenUrlA', \
    47.         InternetCloseHandle, 'InternetCloseHandle'
    48.  
    49. ; ==================================================
    50.  
    51. section '.code' code readable executable
    52.     start:
    53.         invoke LoadIcon, 0, IDI_APPLICATION
    54.         invoke InternetOpen, _lpszAgent, 0, 0, 0, 0
    55.         mov [hInternet], eax
    56.         invoke InternetOpenUrl, [hInternet], _lpszUrl, 0, 0, 0, 0
    57.         invoke InternetCloseHandle, [hInternet]
    58.         invoke MessageBox, HWND_DESKTOP, _message, _title, MB_OK
    59.         invoke ExitProcess, 0
    Если _lpszUrl db '', 0 - детектов 0, собственно если _lpszUrl db 'http://localhost/', 0 - 1 детект:

    Vba32 03.04.2011 18:63 get.EXE Trojan.Downloader.gen.h(heur)

    Пожалуйста подскажите каким образом его победить?

    P/S Если в коде увидите ошибку, пожалуйста исправьте ) Пробую свои силы в FASM'e третий день )
     
  2. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    нет проверки возвращаемых значений как минимум
     
  3. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    Код (Text):
    1. нет проверки возвращаемых значений как минимум
    большая просьба, напишите пример
     
  4. vover

    vover Владимир

    Публикаций:
    0
    Регистрация:
    21 авг 2008
    Сообщения:
    202
    Ну дык зашифруй строку... И расшифровывай когда она тебе понадобится.

    Код (Text):
    1. invoke InternetOpen, _lpszAgent, 0, 0, 0, 0
    2. test eax,eax
    3. jz @F
    4.     mov [hInternet], eax
    5.     ...
    6.  
    7. @@:
     
  5. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    Код (Text):
    1. Ну дык зашифруй строку... И расшифровывай когда она тебе понадобится.
    пробовал, в любом случае палится

    я думаю нужно как-то скрыть, зашифровать InternetOpenUrl, 'InternetOpenUrlA', \

    если шифровать _lpszUrl db 'http://localhost/', 0 в любом случае он как-то понимает что функция InternetOpenUrl получает какието данные
     
  6. vover

    vover Владимир

    Публикаций:
    0
    Регистрация:
    21 авг 2008
    Сообщения:
    202
    Как ты думаешь, каким образом АВ это понимает ?
     
  7. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    :)

    я пробовал шифровать секцию .data таким образм, шифрует... но детект етим злым ав оставался:

    Код (Text):
    1. ;-------------------------------------------------------------------------------
    2.  
    3.         format PE GUI 4.0
    4.         entry start
    5.  
    6. ;-------------------------------------------------------------------------------
    7.  
    8.         include 'win32ax.inc'
    9.  
    10. ;-------------------------------------------------------------------------------
    11.  
    12. macro encrypt dstart, dsize
    13. {
    14.     local ..char,..key,..shift
    15.     ..key = 0FFh
    16.     repeat dsize
    17.     load ..char from dstart+%-1
    18.     ..char = ..char xor ..key
    19.     store ..char at dstart+%-1
    20.     ..shift = ..char and 02h
    21.     ..key = ((..key shr ..shift) and 0FFh) + ((..key shl (08-..shift)) and 0FFh)
    22.     ..key = ..key xor 1Eh
    23.     ..shift = (..char shr 5) and 02h
    24.     ..key = ((..key shr ..shift) and 0FFh) + ((..key shl (08-..shift)) and 0FFh)
    25.     ..key = (..key + ..char) and 0FFh
    26.     end repeat
    27. }
    28.  
    29. ;-------------------------------------------------------------------------------
    30.  
    31.         _CRYPTDATA_     =   1
    32.  
    33. ;-------------------------------------------------------------------------------        
    34.        
    35.         section '.code' code readable writeable executable
    36.  
    37. start:
    38.  
    39. if _CRYPTDATA_
    40.             mov     esi,datastart
    41.             xor     eax,eax
    42.             mov     ebx,datasize
    43.             or      edx,-1
    44. .dchar:     mov     al,[esi]
    45.             xor     [esi],dl
    46.             mov     cl,al
    47.             and     cl,02h
    48.             ror     dl,cl
    49.             xor     dl,1Eh
    50.             mov     cl,al
    51.             shr     cl,05h
    52.             and     cl,02h
    53.             ror     dl,cl
    54.             add     dl,al
    55.             inc     esi
    56.             sub     ebx,1
    57.             ja      .dchar
    58. end if
    59.  
    60.             invoke  MessageBox, 0, my,my,0
    61.             invoke  ExitProcess, 0
    62.  
    63. ;-------------------------------------------------------------------------------      
    64.        
    65.         section '.data' data readable writeable
    66.    
    67.     my db "Find me if i'm crypted:)",0
    68.  
    69. if  _CRYPTDATA_
    70.     datastart = my
    71.     datasize  = $ - datastart
    72.     encrypt datastart, datasize
    73. end if
    74.  
    75.  
    76. ;-------------------------------------------------------------------------------
    77.  
    78.         section '.idata' import data readable
    79.         library kernel32,'KERNEL32.DLL',\
    80.                 user32,'USER32.DLL'
    81.  
    82.         include 'api\kernel32.inc'
    83.         include 'api\user32.inc'
     
  8. vover

    vover Владимир

    Публикаций:
    0
    Регистрация:
    21 авг 2008
    Сообщения:
    202
    sharabee, ну АВ проэмулировал часть программы и наткнулся на +% к детекту.
     
  9. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    не знаю) видимо потмоу что строка не зашфованна )

    не совсем понял как это работает :) мог бы написать поподробней, на примере моего кода... был бы очень признателен
     
  10. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    P/S я последнии 4 года веб языки изучал, и писал на них, узнал что такое fasm ) и влюбился ) криптор на javascript написать за 10 минут можно, а вот в фасме, примерный принцип работы понимаю, но недастаточность знаний, переменных ) блин...
     
  11. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    чет порылся на форуме, не могу найти как зашифровать строку...
    может у кого есть время и желание помочь, на wm кстати есть баков 10 ;)
     
  12. LMaster

    LMaster New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2010
    Сообщения:
    14
    Строки шифруй тем же XOR'ом + динамический импорт. Можешь разбавить код какими-нибудь стандартными API'шками.
     
  13. sharabee

    sharabee New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    12
    можешь скинуть пример? буду очень признателен
     
  14. Acrobat

    Acrobat New Member

    Публикаций:
    0
    Регистрация:
    1 мар 2010
    Сообщения:
    23
    sharabee
    посмотри GetProcAddress, LoadLibrary