Syscalls example (Non GUI) Linux такое же для Win32

Тема в разделе "WASM.WIN32", создана пользователем calidus, 30 апр 2008.

  1. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    В приложении интересные примеры для линуха , может кто сталкивался с таким же сборником под вин ?
     
  2. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    так чего то не крепится

    http://up.spbland.ru/files/080430106/
     
  3. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Вот тоже поинтересное ;)
    http://lscr.sourceforge.net/

    Непонятно, какие в Windows могут быть syscall'ы?!
     
  4. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    млин мож оно называеца подругому !!! .. ниже апи что идет ?
     
  5. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    ring0 пожалуй :)

    syscall'ы это апи для ядра Linux, скажем так
     
  6. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Как же так ... я помню что я также вызывал выход из программы по "инт" , или вывод в дос консоль , а как же прога под вынь которая перечисляет процессы чистыми сусколами , все это я держал в руках. Да и прогу эту написал кто то с группы толи а29 толи HKC ....

    ах вот оно что , тогда различие конечно есть , но опять же я подумал впервую очередь про библиотеки на вин32 по работе с сисколами.
     
  7. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    возможно путаницо syscall<=>sysenter :)
     
  8. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    =) точно помню , чувак написал GUI приложение на чистых сисколах , так как это зовется ? ...а вин32 ? , вот такие сборники я и ищу , сразу про них подумал. Неее я точно помню , сусколах , написано прога на чистых сусколах.


    Программа для просмотра скрытых процессов.

    Для Windows nt/2k/xp/2k3
    Программа которая скидывает список процессов в файл ( C:\plist ), прелесть только в том, что в ней не юзаются api в принципе, только сисколы. По идее должна работать под все NT based мастдаи. Перед повторным использованием обязательно грохнуть C:\plist

    Нужна для просмотра списка процессов, так как современная малварь имеет свойство перехватывать api вызовы антивирусников и различных вьюеров процессов.


    http://up.spbland.ru/files/080430122/ вот пожалуста. Есть еще с гуи но я ищу пока .. Вот такие либы и инк файлы ищу , для написания таких программ.
     
  9. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    calidus
    Ну путай дос с вин.

    Сискол в линуксе - это восьмедисятое прерывание, int 80 и не более.

    В винде можно вызвать sysenter - это кажется тоже что и in 2E - переход в ring0.

    тебе просто надо искать справочник прерывайний ДОС. Воспользуйся поиском по васму.
     
  10. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    =) спсб справочник есть , я думал что есть такие же инк и либ файлы где есть какенить процедуры на основе этого
     
  11. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Терминология не верна в корне. syscall -- это функция ядра, доступная для вызова из user-space. К int 80 syscall'ы имеют лишь косвенное отношение: int 80 -- это лишь один из способов вызвать этот syscall. Можно, также делать это при помощи sysenter -- это другой способ. Не буду ничего утверждать, но есть определённые соображения в пользу того, что тоже самое можно сделать при помощи long jmp.
    Непонятно, как их может не быть.
     
  12. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    Да есть они здесь, есть. Теоретически можно вызывать ядро через int 2E, sysenter и syscall. А вот практически есть две проблемы: во-первых, номера системных вызовов вовсе не фиксированы, а сильно меняются от сервиспака к сервиспаку; во-вторых, многие системные вещи делаются не ядром, а user-mode кодом (kernel32.dll, user32.dll, gdi32.dll, ntdll.dll), и далеко не все функции API представляют собой переходники на NativeAPI.

    Added: Даже вывести что-нибудь на экран - уже проблема: ни WriteConsole, ни RegisterClass+CreateWindow+DefWindowProc на системных вызовах не делаются, а нужно знать кучу дополнительных структур, которые разруливают kernel32.dll и user32.dll сответственно. В отличие от Linux, где вывод на консоль (точнее, в stdout или stderr) осуществляется вызовом ядра.
     
  13. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    гы =) ятоже думаю что они есть , я же не мог во сне кодить
     
  14. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    В Windows ntos!KiFastCallEntry и есть обработчик сервиса, вызванного через syscall. Но эта инструкция не используется, так как не все процессоры её поддерживают. Даже Preston(P4) не поддерживает эту инструкцию(в CPUID флаг сброшен, а вызов этой инструкции вызывает исключение STATUS_ILLEGAL_INSTRUCTION).