Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2010, 11:26   #31
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Ну тогда вы просто гений, если за пару дней разобрались с механизмом LPC
пыщь
JTG вне форума Ответить с цитированием
Старый 27.06.2010, 08:52   #32
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

Да нет конечно, без внешних вливаний интеллекта не обошлось.

На MASM`е это выглядит так:

Код:
		

.386
.model flat,stdcall

includelib ntdll.lib 
CsrClientCallServer PROTO :DWORD,:DWORD,:DWORD,:DWORD


CLIENT_ID struct 
       UniqueProcess dd ?
       UniqueThread dd ?
CLIENT_ID ends


PORT_MESSAGE struct 
       Lengthh dd ?
       ZeroInit dd ?
       ClientId CLIENT_ID <>
       Unknown dq ?
       MessageId dd ?
       CallbackId dd ?
PORT_MESSAGE ends

CSRSS_WRITE_CONSOLE_REQUEST struct 
       Header PORT_MESSAGE <>
       Unknown dq ?
       ConsoleHandle dd ?
       StdHandle dd ?
       Buffer db 80 dup (?)  ; 0x50 bytes max (40 WCHARs)
       BufferAddress dd ?
       BufferLength dd ?
       Unknown2 dd ?
       UnknownFlag db ?
       IsUnicode db ?
       Unknown4 db 42 dup (?)
       Unknown5 dd ?
       Unknown6 db 116 dup (?)
CSRSS_WRITE_CONSOLE_REQUEST ends




.data

     Request CSRSS_WRITE_CONSOLE_REQUEST <>
     RequestSize = $-Request
     wstrMessage db 'Hello World'
     wstrMessageSize = $-wstrMessage
     
   

.code

start:




     xor eax,eax
     mov edi, offset Request
     mov ecx, RequestSize
     rep stosb          

     
     assume fs:nothing
     xor eax,eax
     mov     eax, fs:[eax+30h]
     mov     eax, [eax+10h]           ; RTL_USER_PROCESS_PARAMETERS
     mov     edx, [eax+10h]           ; ProcessParameters.ConsoleHandle
     

     mov Request.ConsoleHandle, edx
     mov edx, [eax+1ch]			; ProcessParameters.StdOutputHandle
     mov Request.StdHandle, edx
     mov Request.UnknownFlag, 1
     mov Request.IsUnicode, 0
     mov Request.Unknown5, -1

     lea esi, wstrMessage
     lea edi,Request.Buffer
     mov Request.BufferAddress,edi
     mov Request.BufferLength,wstrMessageSize
     mov ecx,wstrMessageSize
     rep movsb

     invoke CsrClientCallServer,OFFSET Request,0,0002021eh,0000006ch  


retn

end start
coinkrsk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IPHLPAPI.DLL в windows 7 Horus92 Работа с сетью в Delphi 1 15.06.2010 09:55
bass.dll в windows 7 Virus191288 Мультимедиа в Delphi 7 27.11.2009 07:48
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
Как убрать маскировку пароля без dll?? techner Win Api 4 20.04.2007 20:10