HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 03.07.2008, 03:02
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

PID (Process Identifier) - после каждого запуска менятся.

По этому вот здесь PID!=2424
Код:
invoke OpenProcess,PROCESS_ALL_ACCESS,FALSE,2424
Можешь привести полный код или программку.
 
Ответить с цитированием

  #2  
Старый 03.07.2008, 07:09
12l
Новичок
Регистрация: 02.07.2008
Сообщений: 1
Провел на форуме:
925

Репутация: 0
По умолчанию

Можете дать исходник антивируса на delphi 7 ( жилатильно с каминтариями )
 
Ответить с цитированием

  #3  
Старый 03.07.2008, 07:55
GALIAFF
Познающий
Регистрация: 28.09.2007
Сообщений: 56
Провел на форуме:
4328058

Репутация: 86
Отправить сообщение для GALIAFF с помощью ICQ
По умолчанию

Цитата:
invoke OpenProcess,PROCESS_ALL_ACCESS,FALSE,2424
invoke CreateRemoteThread,eax,0,0,mes,0,0
а VirtualAlloc/WriteProcessMemory забыл?
 
Ответить с цитированием

  #4  
Старый 03.07.2008, 11:44
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Цитата:
Сообщение от GALIAFF  
а VirtualAlloc/WriteProcessMemory забыл?
скорее не забыл а не знал

Вот полный код. чисто тестовая прога
PHP код:
format PE GUI 4.0
entry start

include 'INCLUDE/win32ax.inc'


section '.code' code readable executable
start
:
invoke    OpenProcess,PROCESS_ALL_ACCESS or PROCESS_VM_WRITE or PROCESS_CREATE_THREAD or PROCESS_CREATE_PROCESS,FALSE,1908 ;1908 тут пид любого процессакогда я тестил у оперы был такой пид
invoke    CreateRemoteThread
,eax,0,0,mes,0,0

invoke    ExitProcess
,0

proc    mes
invoke    MessageBoxA
,0,'','',0
leave
retn
endp

section 
'.idata' import data readable writable

library kernel32
,'KERNEL32.DLL',user32,'USER32.DLL'

import    user32,MessageBoxA,'MessageBoxA'

import    kernel32,CreateRemoteThread,'CreateRemoteThread',OpenProcess,'OpenProcess',ExitProcess,'ExitProcess' 

Последний раз редактировалось ntldr; 03.07.2008 в 12:02..
 
Ответить с цитированием

  #5  
Старый 03.07.2008, 13:50
o3,14um
Участник форума
Регистрация: 16.11.2006
Сообщений: 230
Провел на форуме:
599789

Репутация: 227
По умолчанию

Помогите найти ДОКИ, чтобы подробно понять архитектуру процессора. Начинаю изучать асм - пока тяжело даётся. Ещё было бы неплохо, если бы статей подкинули интересных.
всё кто откликнется - огромное спасибо!
 
Ответить с цитированием

  #6  
Старый 03.07.2008, 13:54
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

>>Помогите найти ДОКИ, чтобы подробно понять архитектуру процессора. Начинаю изучать асм - пока тяжело даётся. Ещё было бы неплохо, если бы статей подкинули интересных.
всё кто откликнется - огромное спасибо!


http://wasm.ru/publist.php?list=11

И вообще весь васм)
 
Ответить с цитированием

  #7  
Старый 03.07.2008, 15:11
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

1) Открываем процесс
Код:
invoke OpenProcess,PROCESS_ALL_ACCESS or PROCESS_VM_WRITE or PROCESS_CREATE_THREAD or PROCESS_CREATE_PROCESS,FALSE,PID
2) Выделяем память в чужом процессе

Код:
invoke VirtualAllocEx, Process, NULL, size, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE
mov zzz, eax
3) Копируем память в процесс
Код:
invoke  WriteProcessMemory, Process, zzz, Memory, size, BytesWritten
4) Создаем удаленный поток

Код:
invoke CreateRemoteThread, hProc, NULL , 0 , pfnStatAddr, szPathtoDLL, 0, NULL
Внедряем библу DLL, в которой и находится твой
внедряемый код

Код:
proc    mes 
invoke    MessageBoxA,0,'','',0 
leave 
retn 
endp

Последний раз редактировалось 0verbreaK; 03.07.2008 в 16:10..
 
Ответить с цитированием

  #8  
Старый 03.07.2008, 15:53
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

спасибо, а без dll нельзя так?
 
Ответить с цитированием

  #9  
Старый 03.07.2008, 16:07
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

// Ошибся здесь
Код:
; -=-=-=-=-=-=-=-=-=-=-=-=-=-
;   Code injection in FASM
;      Created by Ct757
; -=-=-=-=-=-=-=-=-=-=-=-=-=-
;
; Use FASM to compile this shit


format PE GUI 4.0
entry start

  include '%fasminc%\win32a.inc'


section '.code' code readable writeable executable


    target_name     db 'explorer.exe',0


;...............[INJECT CODE]..................;

remote_thread:

    call    .delta
  .delta:
    pop     ebp
    sub     ebp,.delta

    xor     esi,esi

    lea     eax,[ebp+_user32]
    push    eax
    call    [ebp+pLoadLibrary]

    push    esi
    lea     eax,[ebp+_title]
    push    eax
    lea     eax,[ebp+_message]
    push    eax
    push    esi
    call    [ebp+pMessageBox]

    ret

  .data:

    pMessageBox     dd 0
    pLoadLibrary    dd 0

    _user32	    db 'USER32.DLL',0
    _message	    db 'Hello world!',0
    _title	    db 'Injected',0

thread_end:

;...............[END INJECT CODE]..............;

    p_ent	    PROCESSENTRY32

find_target:
    xor     esi,esi

 .shot:
    mov     [p_ent.dwSize],sizeof.PROCESSENTRY32
    invoke  CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,esi
    inc     eax
    je	    .not_found
    dec     eax
    xchg    eax,edi

    invoke  Process32First,edi,p_ent

 .next_prc:
    xchg    eax,ecx
    jecxz   .not_found

    invoke  lstrcmpi,p_ent.szExeFile,target_name
    xchg    eax,ecx
    jecxz   .found

    invoke  Process32Next,edi,p_ent
    jmp     .next_prc

 .found:
    invoke  CloseHandle,edi
    mov     eax,[p_ent.th32ProcessID]
    ret

 .not_found:
    xor     eax,eax
    ret

inject_code:
    xor     esi,esi
    invoke  OpenProcess,PROCESS_VM_OPERATION + PROCESS_VM_WRITE + PROCESS_CREATE_THREAD,esi,eax

    xchg    eax,ecx
    jecxz   .exit

    xchg    ecx,edi

    invoke  VirtualAllocEx,edi,esi,thread_end-remote_thread,MEM_COMMIT,PAGE_READWRITE
    xchg    eax,ecx
    jecxz   .close_h

    xchg    ecx,ebp

    invoke  WriteProcessMemory,edi,ebp,remote_thread,thread_end-remote_thread,esi

    dec     eax
    test    eax,eax
    jnz     .close_h
    inc     eax

    invoke  CreateRemoteThread,edi,esi,esi,ebp,ebp,esi,esi

  .close_h:
    invoke  CloseHandle,edi

  .exit:
    ret

get_apis:
    mov     edi,[LoadLibrary]
    mov     [pLoadLibrary],edi

    mov     edi,[MessageBox]
    mov     [pMessageBox],edi

    ret

start:
    call    find_target
    test    eax,eax
    je	    .exit

    call    get_apis

    call    inject_code

  .exit:
    push    0
    call    [ExitProcess]


section '.idata' data import readable

  library kernel32,'KERNEL32.DLL',\
	  user32,'USER32.DLL'

  include '%fasminc%\APIA\kernel32.inc'
  include '%fasminc%\APIA\user32.inc'

Последний раз редактировалось 0verbreaK; 05.07.2008 в 18:20..
 
Ответить с цитированием

  #10  
Старый 08.07.2008, 01:38
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

и снова я с косяками:

хочу вывести exe имя процесса(любого) в консоль

process32First и Next
в упор не заполняет структуру
возвращяет что записал,а в odbg видит- пусто

fasm
Код:
 push 0
 push 0x00000002
call dword [CreateToolhelp32Snapshot]
mov [SnapHandle],Eax

mov [ProcBuffer.size],4*9+255

push ProcBuffer
push [SnapHandle]
call dword [Process32First]


push ProcBuffer
push [SnapHandle]
call dword [Process32Next]


push 0
push 0
push 255
push ProcBuffer.exeFile
push [StdOutputHandle]
call dword [WriteConsoleA]
Код:
section '.data' data readable writeable

struc PROCESSENTRY32
{
    .size            dd 4*9+255   
    .usage           dd ?   
    .processID       dd ?   
    .defaultHeapID   dd ?    
    .moduleID        dd ?  
    .threads         dd ?   
    .parentProcessID dd ?    
    .priClassBase    dd ?   
    .flags           dd ?  
    .exeFile db 255 dup(?)  
}
ProcBuffer PROCESSENTRY32
полный исходник пример
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы для новичков! (faq) PEPSICOLA С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 92 14.05.2010 17:59
ОС с нуля z01b С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 36 03.07.2008 15:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ