My Study/Reversing2010.12.27 11:56
 그냥 지금까지 생각 없이 Cheat Engine을 써왔지만 12월 25일 크리스마스날... Cheat Engine을 한번 켜보았습니다.
( 왜 크리스마스날.. 치트 엔진과.. ???? -_-;;;;ㅠㅠ 슬프군요.. )


응?? =_=;;
"Merry christmas and happy new year"
축하하는건 고맙지만 뭔가 의심이 들었습니다. 혹시 소켓 통신을 하나??
하고 TCP-UDP 모니터링 툴로 보았지만 통신은 하지 않았습니다.

그러면 프로그램 내부에 이런게 구현이 되어 있다는 소린데 .... ! 그냥 한번 봐보았습니다.
뭐 기껏해야 시간 얻어오는 함수 부분 뒤지면 되겠지요.


위에 보이는 부분이 시간을 얻어오는 부분입니다.
GetLocalTime으로 얻어오는군요.

GetLocalTime을 사용하면
Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds 를 얻어오는데 여기서 사용되는건
Year, Month, Day만 사용됩니다. 각각 AX, DX, CX 레지스터에 얻어온 값을 넣고 있군요.

복잡하니 자세한 분석은 하지 않았습니다. 바이러스도 아니고....

쭉 트레이스 해보니 이러한 부분이 나오는군요.

여기서 그 값에 따라서 어디로 점프할지 결정이 됩니다.
일단 제가 BP걸어논 곳이 제가 들어갈 루틴입니다. 먼저 0x4073F0 함수로 들어가 보겠습니다.
다른 루틴들 봐도 전부 0x4073F0, 0x438D58 루틴을 거치는건 같군요.

0x4073F0 함수 내부에서는 LoadString을 사용해 리소스로부터 문자열을 가져옵니다.

가져오는 문자열을 보니 위에서 보았던 축하메시지군요.

리소스에서는 어떠한 문자열들이 있는지 봐볼까요..?
ResHacker 툴로 봐도 되지만 올디에 붙어있는 상태이므로 간단하게 GODUP플러그인을 사용해 봐보았습니다.
문자열들이 엄청나게 많지만 그중에 우리가 보았던 축하메시지 있는 부분만 가져왔습니다.


다른 문자열들도 많이 있네요.
" 올해 당신의 생각은 무엇입니까?? "
" Dark Byte 생일이니 노래를... "  만든이 생일엔 이 메시지가 뜨겠군요.

등등...

3번째 그림에 나오는 부분을 조금만 더 분석해보겠습니다.

만든이의 생일은 7월 1일이며
크리스마스 축하 메시지는 25일 26일 2틀 동안 뜹니다.

=_=;;;;;;

저도 나중에 프로그램 만들면 이런걸 넣어봐야겠네요.. 잼있군요..;

'My Study > Reversing' 카테고리의 다른 글

ZwSetSystemInformation  (2) 2011.01.11
User Callback Address  (0) 2011.01.10
Cheat Engine의 축하 메시지??  (3) 2010.12.27
Visual C++ SEH Filter,Handler 루틴  (0) 2010.11.11
실행 시 함수 얻어오는 바이너리 분석  (2) 2010.10.11
Machine Code & C Language  (2) 2010.09.28
Posted by Ezbeat