Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

03.07.2008, 15:53
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
спасибо, а без dll нельзя так?
|
|
|

03.07.2008, 16:07
|
|
Постоянный
Регистрация: 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..
|
|
|

04.07.2008, 06:02
|
|
Новичок
Регистрация: 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
|
|
|

08.07.2008, 01:38
|
|
Постоянный
Регистрация: 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
полный исходник пример
|
|
|

08.07.2008, 20:43
|
|
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..
|
|
|

08.07.2008, 20:55
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
не , мне как раз все процессы нада просмотреть (скорее всего поочередно) , хотябы через тулхэлп ...
, а хотя , во ,лучше через NtQuerySystemInformation попробую , а затем exe по pid'у как в примере...
ps: anyway , thanks
Последний раз редактировалось Jes; 08.07.2008 в 21:01..
|
|
|

08.07.2008, 21:12
|
|
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..
|
|
|

15.07.2008, 20:32
|
|
Участник форума
Регистрация: 25.11.2007
Сообщений: 119
Провел на форуме: 565921
Репутация:
88
|
|
Всем привет.
Я тут немного асм начал... ну понимаете. Ошибка какаето вылезла. Немогу скомпилить. Скачал масм. версия: "Macro Assembler Version 6.14.8444 & Incremental Linker Version 5.12.8078".

|
|
|

15.07.2008, 20:47
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от xGOR
Всем привет.
Я тут немного асм начал... ну понимаете. Ошибка какаето вылезла. Немогу скомпилить. Скачал масм. версия: "Macro Assembler Version 6.14.8444 & Incremental Linker Version 5.12.8078".

дай исходник асм файла
|
|
|

15.07.2008, 20:50
|
|
Участник форума
Регистрация: 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
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|