김하누
2019-09-27 00:38:14
4
743

윈도우 프로그래밍(?)


윈도우에서 프로그램 실행을 막거나 하는 그런 프로그래밍은 어느 라이브러리(또는 언어)에서 할 수 있나요?

0
1
  • 댓글 4

  • 원숭이부대
    692
    2019-09-27 00:40:36 작성 2019-09-27 00:43:51 수정됨

    이런건 리버싱쪽으로 접근해야 하는 것 아닌가요? 윈도우 API라고 해야하나..

    예전에 백수 때 나뭇잎 리버싱책 따라하면서 좀 본 것 같은데 말이죠.


    물론 어려워서 때려쳐서 잘 모르지만.. 저도 궁금하네요.

    보통 이런건 c언어나 어셈블리로 하는 것 같습니다.


    대학생 때 패기로 졸작을 리버싱으로 할까 했다가 안한게 다행..

    0
  • 이뉴
    556
    2019-09-27 09:01:29 작성 2019-09-27 09:05:54 수정됨

    프로세스 감시해서 이름뜨면 죽이거나 그런거 말씀하시는건가요? 그런건 프로세스 관리 API 쓰는거 말씀하시는건가 모르겠네요. 생각하시는 그런 라이브러리가 아니라 걍 win32 API

    다른 언어들도 비슷한거 제공합니다.(웹관련은 없을걸요? 커널에다 던져줘야 하는데 못던질테니까요. 건너서 던지는건 가능하겠지만)

    동일 프로세스 내에서 중복 실행 막을때는 저런 API 말고 동기화로 막기도 합니다.

    0
  • mirr
    128
    2019-09-27 09:01:54

    일반적으로 OS관련된 기능은 OS에서 제공하는 라이브러리를 사용합니다. 

    윈도우라면 대표적으로 win32라이브러리 들이죠.


    일반적인 기능이나 방식이 아닌 특별한 기능들은 그 관련된 기능을 집적 만들거나 관련라이브러리를 호출해서 사용합니다. 

    0
  • broneri
    120
    2019-09-27 09:11:34

    실행을 막는거는 win32기반이라면 api hooking을 해서 원래실행되어야할 api를 내 코드로 실행되게해서 원래 동작을 바꾸거나, remote thread를 victim process에서 실행시켜서 원하는 동작을 주입시켜서 원하는 동작(프로세스 종료)같은 걸 할수있습니다. 아니면 커널레벨에서는 ntddk filter driver를 작성해서 IRP_Major_open이었나 해당 실행파일이 열릴려고 하면 실패하게 리턴시킬수도 있을거 같습니다. 요새는 좋은 3rd파티라이브러리들도 많이 있을거라 생각되요. 구글링해보심 쉽게 찾을수 있을거같아요

    1
  • 로그인을 하시면 댓글을 등록할 수 있습니다.