소프트웨어 언패킹 후 리소스 재구축하기-1
2021.10.13 22:01
출처;
https://blog.csdn.net/weixin_43575859/article/details/106343565
https://www.pianshen.com/article/54081306657/
언패킹 후 아직 덜 풀린 리소스를 [FixResDemo] 도구를 사용해서 다시 수정 가능하게 만드는 것입니다.
하는 방법은 매우 단순해서 [대상 파일 로드] - [Fix 클릭] - [Fix Resource 클릭] 하면 끝입니다.
한 가지 특징이,
맨 끝에 새로운 [.rsrc] 섹션을 생성해서 기존 섹션에 있던 리소스를 새로운 [.rsrc] 섹션에 저장합니다.
그리고 기존 섹션들의 섹션명을 모두 제거해서 기존 섹션들은 섹션명이 없습니다.
[Resource Tuner] 로 시도해서 안되면 이 방법을 사용하시면 됩니다.
그리고 [Resource Tuner] 및 [FixResDemo] 는 32 비트 유틸만 지원되고 64 비트 유틸은 안됩니다.
테스트 파일: RebPE.7z -> RebPE_Unpack
테스트 도구: tools.7z -> Resfixer, FixResDemo, CFF Explorer
1. [Resfixer] 로 [RebPE_Unpack] 을 로드한 경우입니다. 확인만 하시고 종료하세요.
적색으로 표시된 [ICON] 과 [Group_Icon] 이 아직 덜 풀린 모습입니다.
2. [CFF Explorer] 로 [Resource Directory] 를 찾고 있습니다.
작업은 (1)-(2~7 를 클릭해서 8 에서 Resource Directory 가 나타나는 섹션 확인)-(9) 순으로 하세요.
해당 섹션을 찾아서 나중에 삭제하기 위한 것입니다. 여기서는 단지 확인만 하면 됩니다.
- 모든 섹션을 조사하는 이유;
[Resource Directory] 가 보통은 [.rsrc] 섹션에 있지만 아닌 것도 있어서 모든 섹션을 클릭해서 조사하는 것입니다.
3. [FixResDemo] 로 [RebPE_Unpack] 파일을 수정하는 과정입니다. 작업은 (1)-(2)-(3)-(4) 순으로 하세요.
성공이든 실패든 아래 (4) 번에 메시지가 나오면 무조건 종료합니다. 그리고 백업 파일은 없습니다.
- 메시지 내용이 [성공] 이 아니고 [다른 내용] 이면 읽어 보시고 적절하게 대처하시면 됩니다.
4. [Resfixer] 로 [수정된 RebPE_Unpack] 을 다시 로드해서 확인하니 정상입니다.
그리고 [수정된 RebPE_Unpack] 도 다시 실행하니 잘 됩니다.
5. 작업은 (1)-(2)-(3)-(4)-(5) 순으로 하세요.
[FixResDemo] 로 [리소스 픽스] 를 하면 기존의 모든 섹션명이 지워지고 맨 끝에 새로운 [.rsrc] 섹션을 생성합니다.
위의 2 번에서[ Resource Directory] 가 있던 섹션(지금은 안 보이는 .rsrc 섹션)을 찾아서 삭제하시고 [저장] 하면 됩니다.
6. [수정된 RebPE_Unpack] 에서 [.rsrc] 섹션을 제거한 후 다시 실행해도 잘 됩니다.
주의: 만약에 [.rsrc] 섹션을 제거해서 정상으로 실행이 안되면, 처음부터 다시 실행해서 [.rsrc] 섹션을 제거하지 마시고 사용하세요.
비로소 [Resource Hacker] 에서도 편집이 가능하게 되었습니다.
댓글 [16]
-
do98 2021.10.13 23:03
-
cungice 2021.10.13 23:10
수고 많으셨습니다. 감사합니다.
-
왕초보 2021.10.13 23:18
자세히 설명을 해주셨는데도..새로운것을 배운다는것은 역시 어렵네요.
필요할때 큰 도움이 될것 같습니다
좋은 강좌를 해주셔서 감사합니다..
-
줄리아니 2021.10.14 00:07
수고하셨습니다
파일 크기 줄이기 위해서 언팩후 필요 없는 섹션 제거
Resfixer 사용해서.rsrc 파일 생성 lordpe를 사용해서 (split 메뉴 사용) 섹션 교체 했습니다
지금 파일 크기가 72k 인데 리빌드 하면 더 줄일수도 있을것 같습니다resource binder 라는 툴인데 resfixer 나 FixResDemo 와 비슷한 역할을 합니다
-
sunshine 2021.10.14 00:23
역시 고수님은 다르군요.
테스트 해보니 잘 되고 용량도 많이 줄었군요.
감사합니다.
추가------------------------------
가능하시다면,
loadpe split 작업 후의 과정을 알려주시면 많은 도움이 될 것같습니다.
-
줄리아니 2021.10.14 00:31
resource binder 추가했습니다
-
줄리아니 2021.10.14 19:55
Resource Rva 와 size가 표시되어 있는데요 이 정보는 Pe Header에서 얻어온 것입니다
해당 파일의 섹션 정보를 살펴 보면
rsrc 섹션이 offset 6800 에서 시작함을 알수 있습니다
winhex 에서 .rsrc 내용을 복사하신후에 offset 6800에서 붙여 넣기 하시면 됩니다
(Edit - Clibboard data - Write )
lord pe 에서 하실때는 Section 에서 마우스 오른쪽 메뉴에 split 라고 메뉴가 있습니다
실행 하시면 파일의 섹션 별로 분리가 됩니다
이 때 Resfixser 에서 생성된 .rsrc 파일명을 4_rsrc.LPE 으로 변경하시고 lordpe 에서 unsplit 하시면 됩니다
-
sunshine 2021.10.14 22:26
정말 감사합니다.
다른 분에게도 많은 도움이 될 것으로 생각됩니다.
-
줄리아니 2021.10.14 22:35
언팩 과정은
RebPE_Unpack 파일에서 Resfixer 실행 Rebuild method2 (Rull reconstruct) 선택 .rsrc 파일을 생성합니다
x32dbg 사용
00401130 | 55 | push ebp
00401131 | 8BEC | mov ebp,esp
401130 에서 scylla를 이용 덤프를 뜹니다 (scylla 에서 autosearch - get import - dump)
※※※ 덤프시에는 Fix dump를 하지 않습니다 ※※※※
Cff explorer 를 사용하여 pediy 섹션을 삭제합니다 (이때 탐색기에서 보면 파일 아이콘이 사라집니다 )
scylla 에서 fix dump를 합니다
미리 만들어 놓은 .rsrc 파일로 scylla 에서 덤프된 파일의 .rsrc 섹션을 교체합니다 (아이콘이 다시 표시됩니다)
------------------------------------------------------------------------------
언팩시 섹션 추가 하지않고 덤프를 하면 파일 크기가 차이가 날것이라 생각 했는데 별 차이 안나네요
어제 올린 파일은 ollydumpex 에서 덤프했었고, 오늘은 Scllya 에서 덤프했습니다
Scylla 에서 덤프한 파일은 크기가 66k 인데요 리빌딩시 크기가 감소하지 않습니다
-
sunshine 2021.10.15 00:07
윗 글에서
-------------------------------------------------------
해당 파일의 섹션 정보를 살펴 보면
rsrc 섹션이 offset 6800 에서 시작함을 알수 있습니다
winhex 에서 .rsrc 내용을 복사하신후에 offset 6800에서 붙여 넣기 하시면 됩니다
-------------------------------------------------------
[.rsrc 내용] 이 정확히 무엇을 말하는 것인지 모르겠습니다.
-
줄리아니 2021.10.15 00:33
winhex 에서 .rsrc 파일을 로드 한후
Ctrl + A (전체 선택) Edit - Copy Block - Hex Values 하시면 됩니다 -
sunshine 2021.10.15 00:46
Resfixer 에서 생성된 .rsrc 파일을 뜻하는 것인가요.
-
줄리아니 2021.10.15 00:48
네 그렇습니다
위 lordpe 그림에서 .rsrc 섹션이 Roffset 6800 이라고 되어 있는데요
프로그램 마다 용어가 살짝씩 다르지만 raw 가 들어가면 파일의 offset 값을 뜻해요 (파일의 실제 주소)
-
sunshine 2021.10.15 13:57
*** 줄리아니님 도움으로 [RebPE_Unpack] 를 디버거 없이 다이어트 해서 성공했습니다.
줄리아니님께 감사 드립니다.
1. [RebPE_Unpack] 파일을 [Resfixer] 를 사용해서 [.rsrc] 파일 생성
2. [CFF Explorer] 로 [RebPE_Unpack] 파일의 [.pediy] 섹션 삭제
- [RebPE_Unpack] 파일의 아이콘이 사라집니다.
3. [LordPE] 의 [split] 옵션으로 [RebPE_Unpack] 파일을 [헤더, 섹션, 정보 파일] 로 분리
4. 정보 파일 [split.ini] 수정 -> [4_rsrc.LPE] 파일을 [.rsrc] 파일로 대체하는 것입니다.
5. [LordPE] 의 [Unsplit] 옵션으로 [RebPE_Unpack] 파일로 재구성 ->다이어트 되고도 잘 실행됩니다.
- [RebPE_Unpack] 파일의 아이콘이 살아납니다.
6. [RebPE_Unpack] 파일에서 [.pediy] 섹션을 제거하기 전/후 크기 입니다.
----------------------------------------------------------------------------------------------------------
-
harman777 2021.10.15 15:35
바이러스 45개 검출되는거로 나오는데요 -_-;;;;;;;;;;;
-
sunshine 2021.10.15 16:41
저는 바이러스 심는 법을 모릅니다.
사용 유무는 스스로 판단하세요.....
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
» | 소프트웨어| 언패킹 후 리소스 재구축하기-1 [16] | sunshine | 1044 | 6 | 10-13 |
3982 | 윈 도 우| windows 11 네트워크 공유하는 방법 [7] | 버금차. | 3700 | 2 | 10-13 |
3981 | 윈 도 우| 윈11 TPM,UEFI 무시하고 설치하기. [8] | 마루나래 | 5232 | 16 | 10-12 |
3980 | 소프트웨어| 최신 Rufus를 사용하여 Windows 11에 대한 TPM, 보안 부팅 ... [4] | VₑₙᵤₛG | 2716 | 8 | 10-11 |
3979 | 윈 도 우| Windows 11에서 위젯을 제거하는 방법 [1] | VₑₙᵤₛG | 2665 | 6 | 10-09 |
3978 | 소프트웨어| 한컴오피스 설치시 제품 번호가 맞지 않습니다라며 설치 안... [5] | heykevin | 4800 | 2 | 10-09 |
3977 | 윈 도 우| Windows 11 우회 설치 - boot.wim 수정하기 [26] | suk | 5074 | 37 | 10-08 |
3976 | 윈 도 우| 아래글... UPX 버그패치 [18] | kernel | 2079 | 7 | 10-07 |
3975 | 소프트웨어| UPX 압축풀기 [5] | sunshine | 1917 | 9 | 10-07 |
3974 | 모 바 일| 아이폰 컴퓨터(윈도우10) 연결 문제 (아이튠즈 아이폰 인식... [2] | Day | 1083 | 0 | 10-06 |
3973 | 소프트웨어| WimBootBR 일회성 윔부트, C드라이브 백업/복원 cmd [37] | 지후빠 | 3527 | 26 | 10-03 |
3972 | 윈 도 우| 숨겨진 Windows 11 관리자 계정을 활성화하는 방법 [3] | VₑₙᵤₛG | 3051 | 6 | 10-02 |
3971 | 윈 도 우| Windows 11에서 포커스 세션을 사용하는 방법 | VₑₙᵤₛG | 1024 | 1 | 10-01 |
3970 | 소프트웨어| Ventoy 정리 #2 [2021.09.28] 추가 [11] | 메인보드 | 4701 | 20 | 09-29 |
3969 | 윈 도 우| [노트북] Intel 11세대 프로세서(Intel Tiger Lake) 문제 ... [1] | sugar | 1449 | 3 | 09-29 |
3968 | 소프트웨어| MPRESS 압축풀기-3 [5] | sunshine | 1090 | 6 | 09-29 |
3967 | 소프트웨어| MPRESS 압축풀기-2 [11] | sunshine | 1473 | 4 | 09-28 |
3966 | 소프트웨어| MPRESS 압축풀기-1 [12] | sunshine | 2967 | 14 | 09-26 |
3965 | 윈 도 우| 불필요한 파일/폴더 지우기 deltree useless .bat [35] | 지후빠 | 4715 | 22 | 09-21 |
3964 | 서버 / IT| TrueNAS 로 삼바 서버 구축하기 [14] | gooddew | 2675 | 5 | 09-20 |
음, 아는 게 없어서 어렵고 전부 낯설고 ^^ 하지만, 배려하는 마음은 느껴집니다. 감사합니다.~