windows에서는 시스템콜 후킹(or trace)이라는 계념이 없나요??(유저모드에서.. )

hogi2271의 이미지

다들 살기위해 고생들 하십니다...
하하 요즘 산다는게(사람답게) 참 힘들다고 느끼고 있는 중 이라서... ^^a

다름이 아니라 리눅스에서 ptrace라는 함수를 통하여 제가 원하는 시스템콜(파일에 관련된것)을 trace하여

원하는 작업들(백업, 등등)을 할수 있었습니다. 그리고 이번에는 윈도우버전을 생각하고 있는중인데..

파일필터드라이버를 이용하여 제작된 filemon이라는 녀석이 제가 원하는 작업을 하여 주더군요(파일에 관련된

system call을 보여줌) 그런데 문제는 '필터 드라이버'로 제작되었다는 것입니다.

그렇게 되면 커널과 유저모드 사이에 싱크문제 때문에 어려움이 예상되어 리눅스 처럼 오직 유저 모드에서 작업

할수 있는 그런것이 없는가 찾고 있는 중입니다. 키보드나 마우스의 메시지를 후킹하는 방법에 대해서는 쉽게

자료를 찾을수 있는데, 프로세스를 감시 하고 있다가 open 또는 write를 인지하여 저한테 정중히 알려주는(^^)

그런자료를 아직 못찾았습니다..

제일 궁금한것 원레 안되는것지, 없는건지 하는것이고요 조금더 욕심을 부려보자면 만약 된다면 관련된 자료를 찾을

수있는 곳 정보를 알려주시면 감사하겠습니다...

항상 웃으시면서 행복하세요~~~

chadr의 이미지

결론부터 말씀드리자면 그냥은 "안됩니다."

할수 있는 방법이 완전히 없는 것은 아니고..
약간의 삽질을 좀 해야합니다.

구글에서 api hooking으로 검색해보시면 자료가 많이 나옵니다. :)
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

hogi2271의 이미지

api hooking으로 검색하여 보니 어느정도 제가 생각 했던것에 근접하게 나오는것 같군요..

실효성있는지 한번 따져보아야 되겠습니다....

^^/

truecolor의 이미지

Detoura라는 MS에서 제공해주는 툴이 있습니다. API 후킹보다 훨씬 강력합니다.
http://research.microsoft.com/sn/detours/

API 후킹에 대해서는 Jeffrey Richter의 Programming Applications for Windows라는 책을 참고하세요. 여기서 MessageBox, user32.dll 함수를 후킹하는 예가 있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.