Lab05-01.dll

리버싱 2022. 5. 2. 21:45

1. DllMain 주소

 

2. Import 윈도우를 이용해

Import -> getbyhostname 찾기

 

3. gethostbyname 함수는 몇 개인가? 18개

Import -> gethostbyname -> x

 

4. 0x10001757 에 위치한 gethostbyname 호출을 보면 어떤 DNS 요청이 이뤄지나?

g -> 0x10001757

 

 

 

add eax, 0D 통해 포인터 뒤를 알 수 있다.

 

 

 

6. 0x10001656 서브루틴 IDA Pro 지역변수 음(-) var_ 갯수? 

var 23개

7. 0x10001656 서브루틴 양(+) 오프셋 대응, arg_ ?

 

8. \cmd.exe /c 를 참조하는 코드 영역에서 무슨일?

-> 0x10095B20 주소에 더 가까움

9. 같은 영역 0x100101C8 에서 Dword_1008E5C4는 경로를 지정하는 전역변수로 보이고, 악코는

Dword_1008E5C4를 설정???

 

- 즉, sub_!0003695 함수의 호출 반환값(eax)를 Dword_1008E5C4에 저장한다.

- sub_10003695 함수는 GetVersionExa 함수를 호출하는 부분 윈도우 시스템 정보 확인

- Dword_1008E5C4 상호 참조 이용

 

10. 0x1000FF58에서 서브루틴으로 수백 라인은 문자를 비교 memcmp 비교다.

rotbotwork와 문자열 비교가 성공적으로 이뤄지면 어떤 현상??

 

- 문자열이 robotwork 와 일치하면 push [ebp+8] / 일치하지 않으면 jnz short loc_10010468 실행

 

11. PSLIST 익스포트?

Export > PSLIST

 

 

 

- sub_!00036C3 함수의 기능은 윈도우 버전을 확인, 이 함수 결과에 따라 분기문이 달라짐

- 각 분기문에서 sub_10006518, sub_1000664C를 각각 호출하는데 두 함수 모두 CreateToolhelp32Snapshot 이용

- 결론 프로세스 리스트 반환

 

 

18~19번

81. '18.

'리버싱' 카테고리의 다른 글

안티 리버싱  (0) 2022.10.19
IAT & EAT 정리  (0) 2022.04.27
RVA to RWA 쉽게 계산하기 [펌]  (0) 2022.04.27
EAT IAT 계산  (0) 2022.04.25
C#은 SecureSting 클래스  (0) 2021.07.09
블로그 이미지

wtdsoul

,