본문 바로가기

취약점 분석/안티 리버싱

FindWindow, 우회방법

반응형

안티리버싱 FindWindow, 우회방법


[ FindWindow API ]

클래스네임윈도우네임이 일치하는 top-level 윈도우가 있다면 핸들을 반환.

없다면 0 반환.


[파라미터]

LPCTSTRlpClassName

: class name 또는 atom을 나타내는 null로 끝나는 문자열 포인터.

atom이라면 GlobalAddAtom으로 생성된 global atom이어야 한다.

atom은 16bit 값으로, lpClassName (4bytes)의 high-order word(2bytes)는 0으로 채우고 나머지 low-order word(2bytes)에 atom값이 위치해야 한다.


LPCTSTRlpWindowName

: window name (window title)을 나타내는 null 종료 문자열 포인터.

null로 준다면 윈도우 타이틀은 뭐던 상관 안씀.


[우회방법]

1) 툴을 이용하여 Class name 또는 Window name을 다른 문자열로 바꿈.

2) 함수 호출 인자 문자열을 아무 값으로 바꿈.

3) 함수 호출 결과 eax를 0으로 설정.


반응형