Search results for '후킹'

노트북 도난방지 1014

2008. 10. 14. 20:23

간만에 코딩한번 해보자 싶어서 VS를 켰다가
실행 한번 시켜보았는데 전에 분명 막아놨던 Ctrl+Alt+Del 키가 뚫려있었다.
전에 분명 막았었는데... 내가 소스를 날렸나...

아하!
예전에 이거 막아놓고 나니까 컴이 좀 이상해 진것같아서 레지스트리를 수정해서
무조건 열려있도록 설정해놓았던게 기억이 났다.

그럼 아예 C#으로 레지스트리를 수정하는 방식으로
Ctrl+Alt+Del 을 막거나 열 수 있지 않을까?!

        public void LockCtrlAltDel()
        {
            RegistryKey reg=Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
            reg.SetValue("DisableTaskMgr", 1, RegistryValueKind.DWord); // 1 : LOCK
        }

        public void UnLockCtrlAltDel()
        {
            RegistryKey reg = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
            reg.SetValue("DisableTaskMgr", 0, RegistryValueKind.DWord); // 2 : LOCK
        }


후훗,
역시 방법은 있었다.
이렇게 하니 깔끔하다.
실행과 동시에 LOCK걸었다가 비밀번호 맞춰서 끌땐 UNLOCK

이걸로 오늘도 하나 배운거다.

박상근 프로그래밍/Laptop Guard

노트북 도난방지 1004

2008. 10. 5. 18:57

최대한 내가 필요로 하는 것과 비슷한 전역 후킹 소스를 찾았다
http://www.codeproject.com/KB/cs/globalhook.aspx
내가 필요한건 따로 txt파일로 저장하는 기능인데
이건 따로 저장만 안한다 뿐이지, 키값들을 계속 텍스트상자에 보여주길래
얼씨구 싶어서 바로 다운로드!!!

VS 2008 로 열어서 csproj 파일을 sin으로 바꾸고 실행해보니,
음 괜찮다. 이걸 txt에 저장하도록 바꾸고, 폼을 안보이게 하고
잘 눈치 못채게 숨기면 될 것같다.

일단 소스를 옮긴 다음에 조금씩 바꿔볼려고
VS 2008 에서 새 프로젝트를 만들어서 소스를 그대로 옮겨왔는데,
왠걸...
SetWindowsHookEx(...)으로 값을 할당받은 Hmouse 변수의 값이 변화가 없다.
SetWindowsHookEx()...가 먹히지 않는다.
도대체 뭐가 문제인지.
소스를 그대로 옮겨왔는데도 불구하고...OTL

괜히 이것저것 고쳐보고 하다가 시간만 흘러가고ㅠ_ㅠ
오늘은 그냥 여기까지만 하고 체념할때즈음에
저 소스를 구했던 곳의 Q&A를 보니 누군가가
How to make debugging work in VS2008 (express) with these hook?
이렇게 질문해놓은 글을 보았다.
그리고 그에 대한 친절한 답변.

The answer is simple: 
0: Copy UserActivityHook.cs to your project, add an instance of the UserActivityHook object, set up the event handlers, enter Debug mode, and waste a couple of hours trying to fix the Win32Exceptions thrown on lines 538 and 562 before coming back to this site and seeing this solution.
1: Go to the project properties page (right-click the project name and select properties)
2: Go to the Debug tab and uncheck "Enable the Visual Studios hosting process"
3: Realize that the ctrl and alt keys map to Keys.LControlKey, Keys.RControlKey, Keys.LMenu, and Keys.RMenu, since you're now able to see the results of each of your key presses. (It really makes a lot more sense, now that I can see how Windows is managing each of the keys... Just wasn't obvious before.  )


으하하
이렇게 난 해결을 보고야 말았다.
좋구나, 조금씩 조금씩 완성에 다가가는 이 느낌♬

박상근 프로그래밍/Laptop Guard

노트북 도난방지 1002

2008. 10. 2. 11:44
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/827af007-daf9-4136-9d20-f364d71df2ae/



이리저리 C#에서 CtrlAltDel, AltF4, AltTab 키 막을려고 후킹소스를 뒤지는데
검색결과마다 어느 한 소스를 두고, 이게 제대로 실행이 안된다는 내용들의 글이었다.
그 소스를 구해서 해보니 CtrlAltDel기능만 막히고 AltTab이랑 Win키는 못막아지더라.
짧은 영어 실력으로 다른 사람들의 Answer, Reply을 읽어가면서 찾던도중
ㅋ ㅑ ~
드디어 찾았다. 그리고 ... 내 프로그램에 적용시켰다. 성공이다.
이것때문에 거의 일주일을 헤맸는데 ( 뭐 그동안 놀고 먹느라 바쁘기도 했지만 )

기존에 구했던 소스랑 똑같은데 대체 어디가 조금 달라서 기능이 실행된건지
수업 듣고 와서 저녁먹고 한번 찾아봐야겠다.


어제 헌혈해서, 착한일 했다고 상받은건가. 낄낄낄

박상근 프로그래밍/Laptop Guard

노트북 도난방지 0929

2008. 9. 29. 22:58

 private void ScreenSaver_KeyDown(object sender, KeyEventArgs e)
 {

            if (e.KeyCode == Keys.F4)
                e.SuppressKeyPress = true;

            // 이거 안되네 젠장할
            if (e.KeyCode == Keys.LWin)
                e.SuppressKeyPress = true;

            if (e.KeyCode == Keys.Menu)
                e.SuppressKeyPress = true;

            // 탭키가 왜 후킹이 안되지 망할
            if (e.KeyValue == 9)
                e.SuppressKeyPress = true;
}

ALT + TAB 이랑 ALT+F4 랑 windows키 를 막으려고
e.KeyCode=null 을 했더니만 읽기전용속성이라는...ㅠ_ㅠ

그래서 어찌 어찌 지속적인 삽질끝에
e.SuppressKeyPress=true 를 했더니 성공 ㅋㅋ

그런데 이상하게 windows 키랑 tab 키는 안막아진다.
탭키를 KeyCode가 아닌 KeyValue로 해서 조건 잡아도
그냥 탭키는 잘 작동하고만다.

왜일까...

쩝, 그래도 ALT+F4 는 막았다.

한단계씩~

박상근 프로그래밍/Laptop Guard