소프트웨어 언패킹 후 리소스 재구축하기-2
2021.10.15 19:50
출처:
http://teach.hanzify.org/article/675-1241250357.html
아래 [언패킹 후 리소스 재구축하기-1] 은 [FixResDemo] 를 이용해서 자동으로 하는 방법이고,
여기는 수동으로 하는 방법입니다. 자동/수동 둘 다 알고 있으면 좋겠죠.
먼저 [FixResDemo] 로 리소스를 [.bin] 파일 형식으로 내 보냅니다.
이를 [LordPE] 에서 리소스를 로드한 후, [리소스 디렉토리] 값을 수정하고 리빌드 하는 방법입니다.
테스트 도구: test.7z -> FixResDemo, LordPE
테스트 파일: RebPE.7z -> RebPE_Unpack
1. [LordPE] 로 [RebPE_Unpack] 를 로드해서 섹션 정보를 확인하고 종료합니다.
- 아래 그림에서 2 가지 정보를 기록해야 됩니다.
1) 마지막 섹션 [.SCY] 의 [가상 주소 + 가상 크기] 값을 기록해야 됩니다. 여기서는 0001A000+00001000=0001B000 입니다.
2) 또 한가지는 [.rsrc] 의 [가상 크기] 값을 기록해야 됩니다. 여기서는0000A000 입니다.
2. [FixResDemo] 를 사용해서 리소스를 [.rsrc] 파일로 덤프합니다.
[성공] 메시지가 나오면 다음으로 진행하고 [다른 메시지] 가 나오면 적절하게 처리하면 됩니다.
3. [LordPE] 로 [RebPE_Unpack] 를 연 후 [Sectons] 를 클릭합니다.
덤프된 파일 [.rsrc] 를 [load section from disk] 타입으로 로드합니다.
4. 정상적으로 실행되면 마지막에 [.rsrc] 섹션이 생성됩니다.
5. [Directories] 를 클릭합니다.
리소스 디렉토리 [RVA, Size] 값을 위의 1 번에서 기록해 둔 값으로 수정합니다.
여기서는 [RVA=0001B000, Size=0000A000] 입니다.
주의: 수정이 끝나면 꼭 저장 하세요.
6. 다시 [Sectons] 을 클릭합니다.
기존에 있던 [.rsrc] 섹션을 [wipe screen header] 타입으로 제거합니다.
헤더 정보만 지우고 실제 섹션은 그대로 있습니다.
섹션을 완전히 지우고 싶으면 [wipe screen header] 은 건너 뛰고 다음으로 진행하세요.
나중에 [CFF Explorer] 로 삭제하면 됩니다.
7. [Rebuild PE] 를 클릭합니다.
여기서 [RebPE_Unpack] 파일을 선택한 후 [OK] 하고 종료하면 끝입니다.
8. [ResHacker] 로 열어보니 잘 되는군요.
//////////////////////////////////////////////////////////////////////////////////END
댓글 [7]
-
cungice 2021.10.15 19:54
-
퀵보드소년 2021.10.15 21:38
도구
윈도우10 21h2 실행 안돼네요..
바이러스 다 잡아먹네요..
-
sunshine 2021.10.16 00:09
저는 아무 이상이 없습니다.
사용 유무는 스스로 판단하시고
정 의심스러우면 사용하지 마세요.
-
샤 2021.10.15 21:53
수고하셨습니다.
-
왕초보 2021.10.16 21:15
좋은 강좌 감사합니다
항상 즐거운 일만 있으시길 바랍니다
-
컨피그 2021.10.18 22:11
이런 강좌 너무 좋아요
계속 부탁드립니다 ^^
-
첨임다 2021.11.23 00:08
감사합니다 잘 사용하겠습니다^^*
수고 많으셨습니다. 감사합니다.