unstoppable exe

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 30.12.2005 (Пт) 11:38

Yurio
Дело в том, что у твоей проги есть окошко... Если получить список окон, то можно получить список процессов с окнами... Если в основном списке нету чего-то из дополнительного, значит это "чего-то" от нас прячется, а раз оно прячется, значит оно левое, а если левое, то не прибить бы его нам? :D
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 30.12.2005 (Пт) 17:01

Вот программка, немного неотёсанная, но вроде работает.
Определитель процесса не стал прикручивать, т.к. устойчиво PID можно определить phunter'ом by Ms Rem.

1.Запускаем HiddenProc.exe
2.Запускаем phunter и получаем PID HiddenProc'а
3.Запускаем pKiller и даём ему этот PID
4.Жмём кнопку Kill It

P.S.
Системные процессы pKiller'у не давать: последствия непредсказуемы.

Тестировалось на XP, по идее от w2k и выше должно работать.
Вложения
pKiller.zip
(3.35 Кб) Скачиваний: 51

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 30.12.2005 (Пт) 18:18

Зачот! :D :D :D
А хотя бы отдалённо можно узнать, как оно работает? Интересно, как такое можно провернуть без OpenProcess?
Изображение

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 02.01.2006 (Пн) 19:37

to FleX_2004
вот млин хакеры

И хто ж тут "хакер"? :shock: :D Все делается исключительно в самообразовательных целях.
shadowUser

И живет это чудо на каждом десятитысячном компутере... :lol:

to keks-n
Дело в том, что у твоей проги есть окошко...

5 штук (не считая кнопок). Честно говоря, подозревал именно такой способ. Но его легко обойти хотя бы SetParent'ом...

to Юстас
Программка действительно неплохая (но вот, например, Каспера все равно не прибивает).
А хотя бы отдалённо можно узнать, как оно работает?
:D

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 03.01.2006 (Вт) 0:13

keks-n писал(а):Интересно, как такое можно провернуть без OpenProcess?


Есть же NtOpenProcess :)

Возвращаясь к нашим баранам :) (HiddenProc, и Phantom)

Приделал к pKiller'у маленький список процессов.
В числе прочих определяются и HiddenProc, и Phantom.
И также убиваются оба.

По Phantom'у вопрос к автору:
Если запускать Phantom.exe, и не переходя в режим Hide, выйти из программы (Quit), то система нормально себя ведет. Если же нажать Hide, то система перестаёт вести себя адекватно. Некоторые приложения отказываются запускаться вообще, некоторые запускаются только со 2-3 попытки, часть приложений при запуске вызывают перезагрузку компа.
Причем эти приложения никак не связаны с определением и удалением процесса Phantom.exe (например, запуск ассемблерного ИДЕ или справочника msdn вызывает перезагрузку с PAGE_FAULT). А броузер (AvantBrowser) вообще начинает с периодичностью 5-6 сек перезагружать открытые web-страницы :(

Если Hide не нажимать, перечисленные приложения функционируют нормально.
Или перед Phantom.exe ставилась задача сделать систему неработоспособной, и уронить систему при закрытии phantom.exe - более предпочтительный шаг, нежели корректно выгрузиться?

но вот, например, Каспера все равно не прибивает

У меня касперского нет, экспериментировать не на чем :)
Используется только один метод убиения, а их множество, можно прогнать его через все известные способы убиения, когда-нибудь да рухнет, но такой цели не ставилось. Способов завалить касперского в сети можно найти достаточно.
Вложения
pKiller.zip
(5.43 Кб) Скачиваний: 80

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 03.01.2006 (Вт) 2:32

Есть же NtOpenProcess

Чего-то ты не договариваешь... :lol: У меня идет перехват ZwOpenProcess... NtOpenProcess не помогла бы...
Лучше покажи, как используешь ZwMapViewOfSection и т.п.

А вот с Phantom'ом у меня тоже система ведет себя нестабильно - BSOD'ы, глюки с ProcessHunter'ом.

а их множество

Можно их здесь хотя бы перечислить (дать ссылку) :?:

но такой цели не ставилось

Да мне это тоже не надо. Просто интересно, как он себя защищает...

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 03.01.2006 (Вт) 14:30

Yurio писал(а):У меня идет перехват ZwOpenProcess... NtOpenProcess не помогла бы...
Лучше покажи, как используешь ZwMapViewOfSection и т.п.


Видимо не очень надёжно перехватываешь ZwOpenProcess, раз я проскакиваю мимо тебя :)

ZwMapView используется так:
Код: Выделить всё
push    offset objAttr
push    SECTION_MAP_READ
push    hSection
call    ZwOpenSection
xor     ecx,ecx
lea     edx,pSectionBaseAddress
mov     [edx],ecx
lea     eax,liViewSize
mov     [eax],ecx
mov     [eax+4],ecx
push    READ_WRITE
push    ecx
push    ViewShare
push    eax
push    ecx
push    SECTION_SIZE
push    ecx
push    edx
push    NtCurrentProcess
push    hSection
call    ZwMapViewOfSection
test    eax,eax
jnz     @F
mov     eax,pSectionBaseAddress
mov     eax,[eax]
push    eax
call    Мочить_Процесс
mov     [esi].IoStatus.Status,eax
@@:
push    hSection
call    ZwClose


Есть ещё способы завершить процесс без
OpenProcess/NtOpenProcess/ZwOpenProcess/
TerminateProcess/NtTerminateProcess/ZwTerminateProcess
WriteProcessMemory/CreateRemoteThread и т.п.

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 04.01.2006 (Ср) 16:38

Цитата:
но вот, например, Каспера все равно не прибивает



О касперском: доработал pKiller, опробовал у соседа : ) каспер отбрасывает копыта, если убивать методом №3
Этот метод берет убиваемый процесс в режим отладки. Выход из режима убивает отлаживаемый процесс.

В общем, любой процесс, запущенный на компе, можно обнаружить и остановить.
unstoppable.exe не бывает.
Вложения
pKiller.zip
(9.31 Кб) Скачиваний: 51

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 05.01.2006 (Чт) 1:55

доработал pKiller

Ну вот, это совсем другое дело :).
А во второй версии глюк: процесс-то определяется как "hidden", но убить pKiller его не может - "Couldn't terminate ...", после чего процесс исчезает из списка совсем и усе.

Видимо не очень надёжно перехватываешь ZwOpenProcess

Все надежно, просто NtOpenProcess не всегда обращается к Zw...
Добавил Nt отдельно - в последней версии pKiller'a срабатывает (т.е. можно обеспечить неубиваемость - например, сделать сразу Terminate твоей проге :D), в первых двух версиях - нет (может там все-таки нет никаких OpenProcess, а :?:). Проясни, пжалуста, ситуацию...

Да и насчет альтернативных методов убивания о-очень бы хотелось почитать...
Вложения
Immortal.zip
(10.13 Кб) Скачиваний: 50

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 05.01.2006 (Чт) 9:46

Yurio
Что-то я не понял, а что изменилось в новой версии HiddenProcGUI new beta.exe ?
Как определялся, так и определяется, как убивался, так и убивается.
Или новое то, что добавлено выскакивание messagebox'а ?
Он выскакивает совершенно ни к месту и не в тему :)
Например: запустил new beta.exe, нажал Hide - выскочил. К чему - непонятно.
Далее запускаю pKiller - должен был бы появиться - почемуто нету мессаджбокса :)
Далее тыкаю мышью в листвью - выскакивает :):)
Что, при клике в листвью твоя прога считает, что перехватила NtOpenProcess и информирует об этом ?
Далее нажимаю Kill It - и скрытый HiddenProcGUI new beta.exe прекращает свою деятельность (при любом выбранном методе уничтожения).
Вот правда после себя оставляет подгруженными во все процессы 4 dll'ки - msvbvm60, ole32, oleaut32 и одну с рандомным именем из папки TEMP :)
Когда убивают твой процесс, надо быть готовым к этому, и снимать свой хук, чтобы он не оставался висеть в системе вызывая глюки у вновь запускаемых (после убиения HiddenProcGUI) приложений.

Спору нет, Ms Rem'овский pHunter захлёбывается в потоке мессаджбоксов, т.к. видимо он вызывает NtOpenProcess.
О pKiller могу сказать совершенно однозначно:
Для нахождения скрытых процессов OpenProcess, NtOpenProcess, ZwOpenProcess не используются. Что используется - это мой маленький секрет :)
Для удаления процессов методом 1 используется ZwOpenProcess, но как видишь, твой перехват не мешает удалить процесс. Методы 2 и 3 не используют ни одной из перечисленных трех функций. Что используется - опять же мой маленький секрет :)

Так что по-прежнему могу предположить, что invisible и unstoppadle не бывает.

P.S.
DLL написанная на vb - это лажа. Пиши уже тогда на чем-то другом, а то система начинает глючить не по-детски от таких перехватов NtOpenProcess

P.P.S.
А убивать pKiller'а, не давая ему запуститься - это детский лепет, я ж могу его просто переименовать, или перекомпилировать с другим именем и другим заголовком окна :)

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 05.01.2006 (Чт) 21:42

что изменилось в новой версии

1. Не используется таймер (на слабых машинах значительно повышалась загрузка процессора).
2. Пока не работает с процессами SYSTEM и LOCAL/NETWORK SERVICE.
3. Добавлен перехват NtOpenProcess.

как убивался, так и убивается

В последней версии pKiller'a первым методом не убивается (скриншот надо?), в предыдущей - см. выше.

ни к месту и не в тему

Выскакивает только при вызове ZwOP и NtOP и никак иначе. Где ты их вызываешь, мне неведомо.

надо быть готовым к этому
глюки

:?:

invisible и unstoppadle не бывает

Согласен. Но для их отлова и прибивания необходимо искать незащищенные места. Чем их меньше, тем сложнее разработка такой программы, но, соответственно, сложнее и разработка противоядия :).

DLL написанная на vb - это лажа.

Да ну :D Если глюки и есть, это не из-за VB.

я ж могу его просто переименовать, или перекомпилировать с другим именем и другим заголовком окна

:D Да не имел я ввиду имя или заголовок. Terminate можно сделать при вызове OpenProcess или других функций, оперирующих с ID или хэндлами моего процесса.

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 05.01.2006 (Чт) 21:45

P.S. А секретами можно чуть-чуть поделиться :wink: ...

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 05.01.2006 (Чт) 22:49

Убивался и убивается всеми тремя способами. Просто с первым некоторые проблемы именно с вызовом процедур (намутил что-то), а не с удалением процесса. И MessageBox понял почему выскакивал: была одна служебная процедура (для интереса кое-какую инфу смотрел), из которой OpenProcess вызывался. Сейчас закомментировал её, все тихо и гладко по всем позициям.
Секреты выдавать не буду :) Мне не нравятся программы, пытающиеся скрыться. Если бы ты наоборот, искал бы скрытые - другое дело.

А от dll толку ноль, только систему перегружает потоком бесхозных сообщений по всем адресам и направлениям после удаления процесса.
И зачем читать из моего листвью - не понял :) Я ж могу и не держать в листе ничего, только в памяти. А также зачем менять ему стили с 50001001h на 50201001h тоже непонятно. Именно из-за этого после удаления процесса система перегружается сообщениями WM_STYLECHANGING и WM_STYLECHANGED, что является прямым следствием вызова SetWindowLong с GWL_STYLE. И мессаджбоксами по поводу и без.

В общем в моем окошке не надо шарить, пока лень, но в любой момент можно просто отрисовать список непосредственно в hDC окна, минуя API для вывода текста типа TextOut, DrawText, DrawTextEx и т.п.. Ещё и своим кустомным шрифтом с кустомными кодами символов, и тогда меньше чем FineReader'ом информацию не получишь.
Заодно посмотри, сможешь считать текст, нарисованый таким способом, из верхнего угла окна или нет :)
Текст рисуется без api, в соответствии с битовой маской, являющейся своеобразным шрифтом. И перехватывать то нечего :)
Вложения
pKiller.zip
(10.21 Кб) Скачиваний: 61

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 07.01.2006 (Сб) 12:35

Мне не нравятся программы, пытающиеся скрыться. Если бы ты наоборот, искал бы скрытые - другое дело.

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

Секреты выдавать не буду

Ну хоть намекни :wink:. Меня больше интересует твои способы прибивания (с III разобрался :), все ОК). А вот зачем I связывать с именем (:!:) твоей программы - если переименовать, то вообще не работает :D.

Теперь о листвью :evil:. Моя программа о нем принципиально ничего не знает, знать не может и не хочет. Она работает с памятью, а не со всякими там окошками...

to FleX_2004
Это не глюк и не фича. Это просто недоделка. Я уже писал, что новая версия
Пока не работает с процессами SYSTEM и LOCAL/NETWORK SERVICE

А ты вызываешь TM через Ctrl-Alt-Del, т.е. через winlogon. Попробуй через таскбар (т.е. explorer) - все как надо.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 09.01.2006 (Пн) 18:41

Yurio писал(а):Теперь о листвью :evil:. Моя программа о нем принципиально ничего не знает, знать не может и не хочет. Она работает с памятью, а не со всякими там окошками...

Вопросик тут имеется: почему, если список процессов msgbox'ом выводить, то HiddenProc оттудова не трётся? :roll:

Это во первых, а во вторых твой перехват WinAPI можно снять, я дорвался таки до машины с установленным VB и буду писать для этого модуль.
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 10.01.2006 (Вт) 0:25

Перехват ZwOpenProcess (который почему-то назван NtOpenProces) снимается в пять сек, вернее уже снят в pKiller. Никаких месаджбоксов не возникает.
А программа HiddenProc таки лезет в листвью:
а) Если хук не снимать, то клик на листвью вызывает мессаджбокс, только если кликать на итеме HiddenProc. При этом никакие процессы не открываются, только копируется строка из одного буфера в другой.
Следовательно причин для ZwOpenProcess нет, и появление мессаджбокса - результат получения информации из листвью. Либо это глюк: вызов мессаджбокса при отсутствии вызова NtOpenProcess. Увидел себя кликнутым - кричим: NtOpenProcess !

Вот листниг перехватывающей процедуры из dll, называется она iNtOpenProcess. Перехват осуществляется путём переписывания начала ф-ции ZwOpenProcess в ntdll на две такие строки:
push offset iNtProcess
retn
что при вызове ZwOpenProcess автоматом вызывает вот эту ф-цию из подгруженной dll:

Код: Выделить всё
10002130                           iNtOpenProcess:
10002130  55                              push   ebp
10002131  8BEC                            mov   ebp,esp
10002133  83EC08                          sub   esp,00000008h
10002136  6846110010                      push   jmp_MSVBVM60.DLL!__vbaExceptHandler
1000213B  64A100000000                    mov   eax,fs:[00000000h]
10002141  50                              push   eax
10002142  64892500000000                  mov   fs:[00000000h],esp
10002149  83EC1C                          sub   esp,0000001Ch
1000214C  53                              push   ebx
1000214D  56                              push   esi
1000214E  57                              push   edi
1000214F  8965F8                          mov   [ebp-08h],esp
10002152  C745FC08110010                  mov   dword ptr [ebp-04h],L10001108
10002159  8B359C100010                    mov   esi,[MSVBVM60.DLL!MSVBVM60.644]
1000215F  33DB                            xor   ebx,ebx
10002161  6888300010                      push   L10003088
10002166  895DE8                          mov   [ebp-18h],ebx
10002169  895DE4                          mov   [ebp-1Ch],ebx
1000216C  FFD6                            call   esi
1000216E  8BF8                            mov   edi,eax
10002170  8B4514                          mov   eax,[ebp+14h]
10002173  50                              push   eax
10002174  FFD6                            call   esi
10002176  6A04                            push   00000004h
10002178  50                              push   eax
10002179  57                              push   edi
1000217A  FF1508100010                    call   [KERNEL32.DLL!RtlMoveMemory]
10002180  8B0D88300010                    mov   ecx,[L10003088]
10002186  A1D4300010                      mov   eax,[L100030D4]
1000218B  3BC8                            cmp   ecx,eax
1000218D  7547                            jnz   L100021D6
1000218F  8B35C4100010                    mov   esi,[MSVBVM60.DLL!__vbaStrToAnsi]
10002195  53                              push   ebx
10002196  8D55E4                          lea   edx,[ebp-1Ch]
10002199  686C170010                      push   SWC1000176C_NtOpenProcess
1000219E  52                              push   edx
1000219F  C745EC220000C0                  mov   dword ptr [ebp-14h],C0000022h
100021A6  FFD6                            call   esi
100021A8  50                              push   eax
100021A9  8D45E8                          lea   eax,[ebp-18h]
100021AC  688C170010                      push   L1000178C
100021B1  50                              push   eax
100021B2  FFD6                            call   esi
100021B4  50                              push   eax
100021B5  53                              push   ebx
100021B6  FF153C100010                    call   [user32.dll!MessageBoxA]
100021BC  8D4DE4                          lea   ecx,[ebp-1Ch]
100021BF  8D55E8                          lea   edx,[ebp-18h]
100021C2  51                              push   ecx
100021C3  52                              push   edx
100021C4  6A02                            push   00000002h
100021C6  FF15B4100010                    call   [MSVBVM60.DLL!__vbaFreeStrList]
100021CC  83C40C                          add   esp,0000000Ch
100021CF  684E220010                      push   L1000224E
100021D4  EB77                            jmp   L1000224D
100021D6                           L100021D6:
100021D6  6860300010                      push   L10003060
100021DB  FFD6                            call   esi
100021DD  8B0D10300010                    mov   ecx,[L10003010]
100021E3  53                              push   ebx
100021E4  6A06                            push   00000006h
100021E6  50                              push   eax
100021E7  A15C300010                      mov   eax,[L1000305C]
100021EC  50                              push   eax
100021ED  51                              push   ecx
100021EE  FF1510100010                    call   [KERNEL32.DLL!WriteProcessMemory]
100021F4  8B5508                          mov   edx,[ebp+08h]
100021F7  52                              push   edx
100021F8  FFD6                            call   esi
100021FA  8BF8                            mov   edi,eax
100021FC  8B450C                          mov   eax,[ebp+0Ch]
100021FF  50                              push   eax
10002200  FFD6                            call   esi
10002202  8B4D10                          mov   ecx,[ebp+10h]
10002205  8BD8                            mov   ebx,eax
10002207  51                              push   ecx
10002208  FFD6                            call   esi
1000220A  8B5514                          mov   edx,[ebp+14h]
1000220D  8945D8                          mov   [ebp-28h],eax
10002210  52                              push   edx
10002211  FFD6                            call   esi
10002213  50                              push   eax
10002214  8B45D8                          mov   eax,[ebp-28h]
10002217  50                              push   eax
10002218  53                              push   ebx
10002219  57                              push   edi
1000221A  FF1534100010                    call   [ntdll.dll!NtOpenProcess]
10002220  6858300010                      push   L10003058
10002225  685C300010                      push   L1000305C
1000222A  8945EC                          mov   [ebp-14h],eax
1000222D  E86E020000                      call   SUB_L100024A0
10002232  684E220010                      push   L1000224E
10002237  EB14                            jmp   L1000224D
10002239                           L10002239:
10002239  8D                             db   8Dh;   '?'
1000223A  4D                             db   4Dh;   'M'
1000223B  E4                             db   E4h;   '¤'
1000223C  8D                             db   8Dh;   '?'
1000223D  55                             db   55h;   'U'
1000223E  E8                             db   E8h;   'Ё'
1000223F  51                             db   51h;   'Q'
10002240  52                             db   52h;   'R'
10002241  6A                             db   6Ah;   'j'
10002242  02                             db   02h;
10002243  FF                             db   FFh;   'п'
10002244  15                             db   15h;
10002245  B4100010                       dd   MSVBVM60.DLL!__vbaFreeStrList
10002249  83C40C                          add   esp,0000000Ch
1000224C  C3                              retn
;----------------------------------------------------------------------------------------------------
1000224D                           L1000224D:
1000224D  C3                              retn


Тут собственно всё и видно.
ячейки [L10003088] и [L100030D4] содержат pid HiddenProc'a и программы, имеющей листвью. Самый простейший метод патча состоит в переписывании этих ячеек. А можно просто в любом удобном месте вставить возврат управление назад в ZwOpenProcess, восстановив её первые байты, вместо которых был вписан переход на эту процедуру.

б) Если после запуска и скрытия HiddenProc запускать программы, содержащие листвью, они все дружно зависают: листвью в них не прорисовываются. В то же время программы без этого контрола запускаются. Почему же листвью вызывает такую негодующую реакцию HideProc'а?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 19.01.2006 (Чт) 22:47

2alibek: скажу честно, это уже будет :?
Те, кому не интересно уже давно поняли, что сюда соваться не надо... А так... Авось тут родится какое-нибудь полезное зерно?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.01.2006 (Пт) 8:51

Ок, но тогда будет не закрытие, а зачистка.
А то в теме процентов 40 постов совершенно бессмысленных и бесполезных.
Lasciate ogni speranza, voi ch'entrate.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 20.01.2006 (Пт) 12:53

2alibek:Пожалуй, чистить стоит повнимательнее. Если уж тебе так мешает этот флуд...
Чем например тебе не понравился мой пост, в котором я намекнул что NtOpenProcess и ZwOpenProcess это одно и то же? Что, не по теме?(кстати, это был ответ на вопрос одного из участников):?:
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

eugene2005
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 30.10.2005 (Вс) 21:35
Откуда: от Верблюда!

Сообщение eugene2005 » 21.01.2006 (Сб) 18:08

ничего себе, алибек поддтёр всё здесь, ниодного сорс кода не оставил.
есть анекдот:

приходит генерал на проверку в казарму тянет воздух морщиться и грит прапору
- чё это у вас так тут воняет
- трыщь генерал, вас не было не воняло! :lol:

албеку жалко 10 кб места в сиквел базе =)
хочиться ему пометить своё присутствие на топике =) а то такой болшой топик стал а его нету =)

тока не обижайся алибек ! :lol:

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList  
cron