ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

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

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

  #352  
Старый 03.07.2008, 16:07
Аватар для 0verbreaK
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..
 
Ответить с цитированием

  #353  
Старый 04.07.2008, 06:02
Аватар для *CHEL*
*CHEL*
Новичок
Регистрация: 03.07.2008
Сообщений: 7
Провел на форуме:
21070

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

Цитата:
Сообщение от slesh  
Просто так вывести нельзя. так число - это не строка.
Поэтому нужно перевести из числа в строку. Можно сделать это вручную, но лучше юзать API функцию.
Вот код на FASM. Выводит содержимое регистра.
Код:
format PE GUI
entry _start
include 'd:\coding\fasm\include\win32ax.inc'
include 'd:\coding\fasm\include\encoding\win1251.inc'
include 'd:\coding\fasm\include\apia\user32.inc'
section '.data' data readable writeable
formats db "%d",0
zagolovok db "Содержимое регистра",0
temp db 256 dup(?)
section '.code' code readable executable
_start:
mov eax,-1234568
invoke wsprintf,temp,formats,eax
invoke MessageBox,0,temp,zagolovok,MB_OK
invoke ExitProcess,0
section '.idata' import data readable writeable
library kernel32,'KERNEL32.DLL',user32,'USER32.DLL'
include 'd:\coding\fasm\include\apia\kernel32.inc'
wsprintf сишная функция и ответственность за выравнивание стека не несёт.
Вызывающая программа сама должна его выравнивать (add esp,PushedSize где PushedSize колво байт, переданных через стек проге).

В FASM'e для вызова сишных функций существует макрос cinvoke
 
Ответить с цитированием

  #354  
Старый 08.07.2008, 01:38
Аватар для Jes
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
полный исходник пример
 
Ответить с цитированием

  #355  
Старый 08.07.2008, 20:43
Аватар для desTiny
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме:
3008839

Репутация: 1502


По умолчанию

Jes, что-то у тебя какое-то извращение идёт...
воТ код на cpp, переделать его в асм нетрудно:
Код:
TCHAR Name[MAX_PATH];
int pid = 4;//pid Процесса
HANDLE p = OpenProcess(PROCESS_QUERY_INFORMATION, false, pid);
GetModuleFileNameExW(p, 0, Name, MAX_PATH);
CloseHandle(p);
_putts(Name); //единственная не-апишка на выводе.
Чистый апи, так что разберёшься

Add: Ай, забыл закрытия дескриптора.. не бейте меня!
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ

Последний раз редактировалось desTiny; 08.07.2008 в 20:53..
 
Ответить с цитированием

  #356  
Старый 08.07.2008, 20:55
Аватар для Jes
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

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

не , мне как раз все процессы нада просмотреть (скорее всего поочередно) , хотябы через тулхэлп ...
, а хотя , во ,лучше через NtQuerySystemInformation попробую , а затем exe по pid'у как в примере...
ps: anyway , thanks

Последний раз редактировалось Jes; 08.07.2008 в 21:01..
 
Ответить с цитированием

  #357  
Старый 08.07.2008, 21:12
Аватар для desTiny
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме:
3008839

Репутация: 1502


По умолчанию

Цитата:
Сообщение от Jes  
не , мне как раз все процессы нада просмотреть (скорее всего поочередно) , хотябы через тулхэлп ...
, а хотя , во ,лучше через NtQuerySystemInformation попробую , а затем exe по pid'у как в примере...
ps: anyway , thanks
хошь на cpp дам исходник по проверке всех процессов и определению заметных через NtQuerySystemInformation?

вот: http://webfile.ru/2075644
пасс: Jes
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ

Последний раз редактировалось desTiny; 08.07.2008 в 21:14..
 
Ответить с цитированием

  #358  
Старый 15.07.2008, 20:32
Аватар для xGOR
xGOR
Участник форума
Регистрация: 25.11.2007
Сообщений: 119
Провел на форуме:
565921

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

Всем привет.

Я тут немного асм начал... ну понимаете. Ошибка какаето вылезла. Немогу скомпилить. Скачал масм. версия: "Macro Assembler Version 6.14.8444 & Incremental Linker Version 5.12.8078".



 
Ответить с цитированием

  #359  
Старый 15.07.2008, 20:47
Аватар для z01b
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Цитата:
Сообщение от xGOR  
Всем привет.

Я тут немного асм начал... ну понимаете. Ошибка какаето вылезла. Немогу скомпилить. Скачал масм. версия: "Macro Assembler Version 6.14.8444 & Incremental Linker Version 5.12.8078".



дай исходник асм файла
 
Ответить с цитированием

  #360  
Старый 15.07.2008, 20:50
Аватар для xGOR
xGOR
Участник форума
Регистрация: 25.11.2007
Сообщений: 119
Провел на форуме:
565921

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

Цитата:
Сообщение от z01b  
дай исходник асм файла
Да здесь типа программа "Хелло ворд".

Код:
CSEG segment
org 100h

Begin:

	mov ah,9
	mov dx,offset Message
	int 21h

	int 20h

Message db 'Hello, world!$'

CSEG ends
end Begin
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы для новичков! (faq) PEPSICOLA С/С++, C#, Delphi, .NET, Asm 92 14.05.2010 17:59
Обзор программ для очистки жёсткого диска v1ru$ Soft - Windows 21 17.01.2010 21:07
ОС с нуля z01b С/С++, C#, Delphi, .NET, Asm 36 03.07.2008 15:30
Лучший софт для Linux _-Ramos-_ Soft - *nix 11 15.01.2008 12:08
Взлом Unix а silveran *nix 4 21.12.2005 22:46



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


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




ANTICHAT.XYZ