사이트 로그인
2016.06.11 09:51
WPE PRO라고 유명한 패킷 스니퍼 툴이 있다는 것을 잘 아실겁니다.
그래서 자신 프로그램(즉, 자신이 코딩할 수 있는 프로그)이WPE PRO로 부터 패킷 스니핑을 당하지 않게 하는 방법은
http://blog.naver.com/cjh9217/20153867227
위 링크에서 설명한 적이 있으니 넘어가시고...
문제는 다른 프로그램이 WPE PRO로 부터 스니핑을 당하는 것을 어떻게 방지하느냐,
방법은 여러가지가 있습니다.
WPE_PRO가 인젝션시키는 WpeSpy.dll를 강제로 언로드시키거나, (코드인젝션, dll인젝션 등등) 아니면
WpeSpy.dll이 작동하는 방식을 분석하여 일부 어셈블리 코드를 수정하는 것입니다.
그러면 WpeSpy.dll이 후킹하는 함수들은 어떻게 무엇이며 후킹하는 방식은 무엇인지 어떻게 아느냐,
당연히 리버싱밖에 없습니다.
그래서 직접 분석해보았습니다.
테스트 프로그램을 준비하여 직접 WpeSpy.dll이 어떻게 작동하는지 하나하나 따라가보면.
WpeSpy.dll이 후킹하는 방식은 인라인후킹(JMP패치)이며,
이 라이브러리가 후킹하는 함수들은 총 10개였습니다.
그럼 후킹하는 방식과 인라인되는 피함수들을 모두 알아냈으니, 이제 코드만 작성하면 됩니다.
WriteProcessMemory hProcess, ByVal MyAdr1 + &H6F01, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr1 + &H6B0E, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr1 + &HB6DC, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr1 + &H34B5, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr1 + &H7089, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr1 + &HCBA6, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr1 + &H4406, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr1 + &H1B30C, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr2 + &H4CD6F01, Temp(0), 5&, ByVal 0&
WriteProcessMemory hProcess, ByVal MyAdr2 + &H17A8, Temp(0), 5&, ByVal 0&
이미지파일은 받지마세요!!