[ Assembler ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by !_filin_!, 25 May 2007.

  1. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    может кто на fasm подкинет ифну, а то мало опыта
     
  2. Sams

    Sams Member

    Joined:
    18 Apr 2009
    Messages:
    247
    Likes Received:
    70
    Reputations:
    17
    Konfuz™, держи в общем. Вот только я не разобрался с макросами, которые вычисляют длину строки, и потому вбил её жестко (она равняется 6 символов)

    Code:
    format PE GUI 4.0
    entry Main
    include 'win32a.inc'
    
    section '.data' data readable writeable
    password        db 7Bh,7Dh,6Fh,78h,7Eh,73h,0
    
    section '.code' code readable executable
    Main:
            mov ecx,6d [COLOR=Lime];жестко вбил длину строки пароля[/COLOR]
            mov esi,password
            mov edi,esi
    m1:
            lodsb
            xor al,10d
            stosb
            loop m1
    
            push 0
            call [ExitProcess]
    
    section '.idata' import data readable writeable
    library kernel,'KERNEL32.DLL'
    import kernel,ExitProcess,'ExitProcess'
     
  3. becensed

    becensed Member

    Joined:
    2 Dec 2009
    Messages:
    84
    Likes Received:
    24
    Reputations:
    1
    Code:
    ;-------------------------------------------------------------------------------
    
            format PE GUI 4.0
            entry start
    
    ;-------------------------------------------------------------------------------
    
            include 'win32ax.inc'
    
    ;-------------------------------------------------------------------------------
    
    macro encrypt dstart, dsize
    {
        local ..char,..key,..shift
        ..key = 0FFh
        repeat dsize
        load ..char from dstart+%-1
        ..char = ..char xor ..key
        store ..char at dstart+%-1
        ..shift = ..char and 02h
        ..key = ((..key shr ..shift) and 0FFh) + ((..key shl (08-..shift)) and 0FFh)
        ..key = ..key xor 1Eh
        ..shift = (..char shr 5) and 02h
        ..key = ((..key shr ..shift) and 0FFh) + ((..key shl (08-..shift)) and 0FFh)
        ..key = (..key + ..char) and 0FFh
        end repeat
    }
    
    ;-------------------------------------------------------------------------------
    
            _CRYPTDATA_     =   1
    
    ;-------------------------------------------------------------------------------        
            
            section '.code' code readable writeable executable
    
    start:
    
    if _CRYPTDATA_ 
                mov     esi,datastart
                xor     eax,eax
                mov     ebx,datasize
                or      edx,-1
    .dchar:     mov     al,[esi]
                xor     [esi],dl
                mov     cl,al
                and     cl,02h
                ror     dl,cl
                xor     dl,1Eh
                mov     cl,al
                shr     cl,05h
                and     cl,02h
                ror     dl,cl
                add     dl,al
                inc     esi
                sub     ebx,1
                ja      .dchar
    end if
    
                invoke  MessageBox, 0, my,my,0
                invoke  ExitProcess, 0
    
    ;-------------------------------------------------------------------------------      
            
            section '.data' data readable writeable 
        
        my db "Find me if i'm crypted:)",0
    
    if  _CRYPTDATA_
        datastart = my
        datasize  = $ - datastart
        encrypt datastart, datasize
    end if
    
    
    ;-------------------------------------------------------------------------------
    
            section '.idata' import data readable
            library kernel32,'KERNEL32.DLL',\
                    user32,'USER32.DLL'
    
            include 'api\kernel32.inc'
            include 'api\user32.inc'
     
  4. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    простенькая стучалка, тестил на virtest.com детектит 1 ав - Vba32, как победить хз... помогите плиз

    Есть 5WMZ за помощь )
     
    #924 Konfuz™, 5 Apr 2011
    Last edited: 5 Apr 2011
  5. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    ты хочешь чтобы не палилась абсолютно?
     
  6. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    ну да )
     
  7. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    дай бинарник
     
  8. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    мне исходынй файл нужно напсать так чтобы он не палился ) а не закриптовать бинарник )
     
  9. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    щас что то попробую,токо на масме буду пробовать,на виртотале можно проверить?
     
  10. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    на fasm нужно, сорри бро масм очень туго идёт у меня
     
  11. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    Konfuz™, попробуй импорт разбавить мусором(всякие begin\end paint, GetDC, GetLastError), да и размер файлу увеличить надо бы.
     
  12. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    попробуй у ся так переделать
    Code:
    invoke InternetOpen, lpszAgent, 0, 0, 0, 0
    mov hInternet, eax
    .IF eax!=0
    jz exit
    .ELSEIF eax>0
    jmp NEXT
    .ENDIF
    
    NEXT:
    invoke InternetOpenUrl, hInternet, lpszUrl, 0, 0, 0, 0
    invoke InternetCloseHandle, hInternet
    
    
    invoke MessageBox, 0, message, title, 0
    
    exit:
    invoke ExitProcess, 0
    
     
  13. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    пишет ошибку...

    .IF eax!=0 illegal instruction
     
    #933 Konfuz™, 5 Apr 2011
    Last edited: 5 Apr 2011
  14. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Потому что это на masm32 код.
     
  15. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    сильно по голове не бейте ) третий день на фасме програмлю ) я до этого 5 лет сидел на веб программинге )
     
  16. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    должны быть подобные макросы,погугли.на худой конец напиши cmp. я в фасме не силен попробуй так
    Code:
    if eax==0
    или так
    cmp eax,0
     
    #936 DooD, 5 Apr 2011
    Last edited: 5 Apr 2011
  17. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    уже весь гугл перелопатил, не могу допереть
     
  18. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    смотри,вместо .IF eax ...
    попробуй так

    cmp eax,0
    jz exit
    cmp eax,0
    ja NEXT
    и скажешь что получилос
     
  19. Konfuz™

    Konfuz™ New Member

    Joined:
    19 May 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    палит Vba32 03.04.2011 18:51 get.EXE Trojan.Downloader.gen.h(heur)
     
  20. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    добавь еще Getlasterror? забивай ненужными функ-ми/
    Code:
    invoke InternetOpenUrl, hInternet, lpszUrl, 0, 0, 0, 0
     pushad 
    invoke InternetCloseHandle, hInternet 
    popad
     invoke MessageBox, 0, message, title, 0
     invoke GetLastError
    
    пробуй
     
    #940 DooD, 5 Apr 2011
    Last edited: 6 Apr 2011