Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CreateRemoteThread problem, Не выходит исполнить эту штуку 
:(
    Опции темы
DeHunter
  Дата 24.2.2005, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.11.2004

Репутация: нет
Всего: нет



Код

;.... Всевозможные инклуды и вариаблы покусаны ....;
jmp code_injection
;<<<<<<<<<<<<<<<<<<<<<<<<<<<< AHTUNG. HEARE CODE THA WILL BE INJECTED TO EXPLOER >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
start_inject_code :
mov eax, offset end_importz
sub eax, offset start_importz
add eax, $+7
call eax
;-------- imports and data --------;
start_importz :
iExitThread DD 0
iGetProcAddress DD 0
iLoadLibrary DD 0
ProcName DB "MSGBLA", 0
LibName  DB "mylib.dll", 0
end_importz :
;-------- the code =)
pop ebx
mov eax, ebx
add eax, offset LibName - offset start_importz
push eax
mov eax, ebx
add eax, offset iLoadLibrary - offset start_importz
call dword ptr [eax]
test eax, eax
jz error_call
mov ecx, eax
mov eax, ebx
add eax, offset ProcName - offset start_importz
push eax
push ecx
mov eax, ebx
add eax, offset iGetProcAddress - offset start_importz
call dword ptr [eax]
test eax, eax
jz error_call
call eax
error_call :
call dword ptr [ebx]
end_inject_code :
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
;------ inject our code to exploer
code_injection :
mov eax, ExitThread
mov iExitThread, eax
mov eax, LoadLibrary
mov iLoadLibrary, eax
mov eax, GetProcAddress
mov iGetProcAddress, eax
;--- debug
; jmp start_inject_code
;--------

invoke FindWindowA,addr svchost_cls, 0
invoke GetWindowThreadProcessId,  eax, addr pid
invoke OpenProcess, PROCESS_ALL_ACCESS, 1, pid
mov phdr, eax
invoke VirtualAllocEx, phdr, 0, 1000H , MEM_COMMIT, PAGE_EXECUTE_READWRITE
mov mbase, eax
invoke WriteProcessMemory, phdr, mbase, offset start_inject_code, offset end_inject_code- offset start_inject_code, 0
invoke CreateRemoteThread, phdr,0, 1000H, mbase, 0, 0, 0
invoke CloseHandle, phdr
invoke ExitProcess, 0

Вот это дело вылетает уже в експлоере. Я бы эту штуку отладил но не знаю как. Видите там есть ;----debug. Так вот если раскоментировать этот дебаг то тот код который там написан работает. А если его затулить в екслоер как треад то не работает. У секции .text оптионс ERW.
( d:\soft\masm32\bin\link.exe /SUBSYSTEM:WINDOWS /SECTION:.text,ERW *.obj ).
Помогите плз.
PM MAIL   Вверх
oleg1973
Дата 25.2.2005, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 2
Всего: 34



данный код грузит с текушей директории файл black32.dll
в процесс ехплорера, и вызывает функ myshit из этой dll

Код

format PE;GUI 4.0
csize=mycodeE-mycode

entry start

include '%fasminc%\win32a.inc'
include '%fasminc%\api.inc'

section '500mhz' code readable executable writeable
start:

call reloc
call findEXP
call writeproc

       запускаем наш код в процессе ИЕ
invoke CreateRemoteThread,[phdr],0,0x1000,[mbase],0,0,0
invoke ExitProcess,0


reloc:  
       тут создает имитацию ипорт табле для кода
mov eax,[LoadLibrary]
mov [LoadLibraryz],eax
mov eax,[Sleep]
mov [Sleepz],eax
mov eax,[GetProcAddress]
mov [GetProcAddressz],eax
mov eax,[SetCurrentDirectory]
mov [SetCurrentDirectoryz],eax
mov eax,[GetTempPath]
mov [GetTempPathz],eax
ret

writeproc:
       тут пишем наш код в процесс ИЕ
invoke VirtualAllocEx,[phdr],0,0x1000,MEM_COMMIT,PAGE_EXECUTE_READWRITE
mov [mbase],eax
invoke WriteProcessMemory,[phdr],[mbase],mycode,csize,0
ret
findEXP:
       тут исчем окно ИЕ и открываем его процесс
invoke FindWindow,clss,0
invoke GetWindowThreadProcessId,eax,pid
invoke OpenProcess,PROCESS_ALL_ACCESS,TRUE,[pid]
mov [phdr],eax
ret
;*******************************
mycode:
call z1
z1:
mov eax,[esp]
add eax,dir-z1
mov esi,[esp]
push eax
push 0xff
call dword [esi+16+importz-z1];GetTempPath

mov eax,[esp]
add eax,dir-z1
mov esi,[esp]
push eax
call dword [esi+12+importz-z1];SetCurrentDirectory

mov eax,[esp]
add eax,libn-z1
mov esi,[esp]
push eax
call dword [esi+importz-z1]   ;LoadLibraryz

mov ebx,[esp]
add ebx,func-z1
mov esi,[esp]
push ebx
push eax
call dword [esi+4+importz-z1] ;GetProcAddressz
call eax
go:
mov esi,[esp]
push 1000
call dword [esi+8+importz-z1] ;Sleep
jmp go
libn:
db 'black32.dll',0
func:
db 'myshit',0

;*******************************
importz:
LoadLibraryz:
dd 0 ; 0
GetProcAddressz:
dd 0 ;+4
Sleepz:
dd 0 ;+8
SetCurrentDirectoryz:
dd 0 ;+12
GetTempPathz:
dd 0 ;+16
dir:

mycodeE:
;*******************************



clss:
db 'Shell_TrayWnd',0
pid:
dd ?
phdr:
dd ?
mbase:
dd ?
sinfo STARTUPINFO
pinfo PROCESS_INFORMATION




--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.0598 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.