강좌 / 팁

소프트웨어 Resource Hacker™ 5.1.8 - 리소스 수정 설명

2020.11.15 12:49

VₑₙᵤₛGᵢᵣₗ 조회:1106 추천:11

Resource Hacker

... Windows® 응용 프로그램용 무료 리소스 컴파일러 및 디컴파일러

버전 5.1.8
최근 업데이트: 2020년 11월 14일
Copyright © 1999-2020 Angus Johnson
KR: VenusGirl´″°³msn019.gif
프리웨어 - 잔소리 없고, 광고도 없으며 완벽하게 작동합니다.

개요:

Resource HackerTM는 32비트 및 64비트 Windows® 응용 프로그램용 리소스 편집기 입니다. 리소스 컴파일러 (*.rc 파일 용), 및 디컴파일러 - 실행 파일 (*.exe; *.dll; *.scr; etc) 및 컴파일된 리소스 라이브러리 (*.res, *.mui) 에서 리소스를 보고 편집할 수 있습니다. Resource Hacker는 주로 GUI 응용 프로그램이지만 명령줄에서 리소스를 컴파일하고 디컴파일하는 많은 옵션을 제공합니다.

img.png

img.png

컴파일:

컴파일은 기존 리소스 스크립트 파일을 열거나 Resource Hacker의 편집기를 사용하여 처음부터 생성하여 시작할 수 있습니다.

리소스 정의 문에 대한 전체 목록은 여기에서 찾을 수 있습니다.

Resource Hacker의 컴파일러의 추가 기능은 다음과 같습니다: #INCLUDE 지시문 (헤더 파일의 정의 문에 액세스하는 등) 은 #IF 및 #IFDEF 지시문처럼 여러 수준으로 중첩될 수 있습니다. #DEFINE, #UNDEF, #IF, #ELIF, #ELSE, #IFDEF, #IFNDEF, #INCLUDE, and #PRAGMA 지시문이 모두 지원됩니다. 큰 따옴표 (") 문자 사이의 문자열은 일반적으로 'C' 스타일의 역슬래시 '이스케이프' 문자들 \t , \n , \\ , \" , \x, \u 및 \377 (8진수) 을 포함할 수 있습니다. 문자열 내의 큰 따옴표는 선행 역슬래시 또는 다른 큰 따옴표를 사용하여 '이스케이프' 해야 합니다. 스크립트 주석은 이중 슬래시 (//) 또는 세미콜론 (;)으로 시작합니다.

INCLUDE 문 내에 중첩된 오류조차도 컴파일러 오류 메시지가 보고 됩니다.
img.png

리소스 보기 및 편집:

리소스 파일이 열리면 리소스는 일반적으로 이미지 (또는 이미지 그룹) 또는 디컴파일된 텍스트로 표시됩니다. 일반적으로 이미지인 이진 리소스는 Resource Hacker로 직접 편집할 수 없지만 외부 이미지 편집기로 수정한 후에는 매우 쉽게 내보내고 가져올 수 있습니다. (타사 이미지 편집기에서 잘되는 것을 복제하는데 아무런 이점이 없습니다.)
img.png


메뉴 및 대화 상자 리소스 유형에는 자체 WYSIWYG 디자이너가 있습니다:
img.pngimg.png

알 수 없는 형식의 이진 리소스는 읽기 전용 이진 텍스트로 표시됩니다. (원하는 경우 모든 리소스를 이 방식으로 볼 수도 있습니다.)
img.png

기타 작업:

img.png

 

명령줄 구문 :

Resource Hacker GUI를 열지 않고도 Resource Hacker의 모든 기능을 명령줄에서 액세스할 수 있습니다.
명령줄 지침 및 Resource Hacker 스크립트는 반복적인 Resource Hacker 작업에 수반되는 지루한 작업을 제거할 수 있습니다.
명령줄 명령은 다음 표에서 설명하는 스위치 문과 스위치 매개 변수의 조합입니다: 명령줄 명령문:
 
스위치    매개변수
-open   파일 이름 - 수정할 파일의 이름입니다. Windows PE 파일 (*.exe, *.dll 등) 또는 컴파일되거나 컴파일되지 않은 리소스 파일 (*.res 또는 *.rc) 이어야 합니다
-save   파일 이름 - 수정 또는 새로 생성된 파일의 새 이름, 수정된 열린 파일 또는 추출된 리소스
-resource   파일 이름 - 열려 있는 파일에 추가할 리소스를 포함합니다.
-action   열린 파일에서 수행할 작업
  • add - 리소스를 추가하지만 이미 있는 경우 실패함
  • addoverwrite - 리소스 추가 및 이미 있는 경우 덮어쓰기
  • addskip - 리소스를 추가하지만 이미 있는 경우 생략
  • compile - 리소스 스크립트 파일 (*.rc)을 이진 리소스 파일 (*.res)로 컴파일
  • delete - 리소스 삭제
  • extract - 리소스 추출
  • modify - 리소스 수정
-mask   리소스 마스크 - 유형, 이름, 언어
쉼표는 필수이지만 유형, 이름 및 언어는 각각 선택 사항입니다
-log   파일 이름 또는 CONSOLE 또는 NUL
CONSOLE은 CON으로 줄여 쓸 수 있습니다
수행된 작업의 세부 사항을 기록합니다
이 스위치를 생략하면 로그가 resourcehacker.log에 기록됩니다
-script   파일 이름 - 다중 명령 스크립트를 포함하고, NOT 자세한 정보를 위한 리소스 스크립트: -help script
-help   옵션 - 명령줄 또는 스크립트 (항상 CONSOLE에 기록) 다른 스위치는 무시됩니다.

참고:
  1. 스위치 식별자 (-script 제외) 는 단일 문자 (예: -res 또는 -r) 로 축약될 수 있습니다.
  2. 스위치 지시는 특정 순서일 필요는 없습니다.
  3. 공백이 포함된 파일 이름은 큰 따옴표로 묶어야 합니다.

배치 파일 예제: (장소를 줄이기 위해 ResourceHacker.exe 대신 rh.exe를 사용 )

reshack_help.bat:
ResourceHacker.exe -help
@pause  :: CMD창이 닫히기 전에 콘솔 출력을 확인합니다.

reshack_compile_res_script.bat:
rh.exe -open .\in\resources.rc -save .\out\resources.res -action compile -log NUL

reshack_add_icon_to_old.bat:
rh.exe -open old.exe -save new.exe -action addskip -res my.ico -mask ICONGROUP,MAINICON,

reshack_extract_icon_from_source.bat:
rh.exe -open source.exe -save icons.ico -action extract -mask ICONGROUP,MAINICON, -log CON
@pause

reshack_extract_all_icons_from_source.bat:
rh.exe -open source.exe -save savedicons.rc -action extract -mask ICONGROUP,, -log rh.log

reshack_execute_my_script.bat:
ResourceHacker.exe -script myscript.txt

Resource Hacker 스크립트:

Resource Hacker 스크립트는 다음 구문을 사용하여 명령줄에서 실행됩니다:
 
  ResourceHacker.exe -script ScriptFile

Resource Hacker 스크립트는 다음과 같은 형식의 텍스트 파일입니다:
 
  //주석은 이중 슬래시가 앞에 있습니다
  [FILENAMES]
  Open=
  Save=
  Log=
  [COMMANDS]
  //하나 또는 그 이상의 다음 명령어들 ...
  -add          SourceFile, ResourceMask
  -addskip      SourceFile, ResourceMask
  -addoverwrite SourceFile, ResourceMask
  -addoverwrite SourceFile, ResourceMask
  -modify       SourceFile, ResourceMask
  -extract      TargetFile, ResourceMask
  -delete       ResourceMask

참고: 공백을 포함하는 파일 이름은 큰 따옴표로 묶어야 합니다.

Resource Hacker 스크립트 예제:

rh_script_myprog_kor.txt -
  //이 스크립트는 한국어 (1042) 항목으로 바꾸기 전에
  //MyProg.exe의 모든 중립 언어 (0)
  //문자열 테이블, 메뉴 및 대화 상자 리소스 항목을
  //삭제합니다...  	
  [FILENAMES]
  Exe=    MyProg.exe
  SaveAs= MyProg_Kor.exe
  Log=    MyProg_Kor.log	
  [COMMANDS]
  -delete  MENU,,0
  -delete  DIALOG,,0
  -delete  STRINGTABLE,,0
  -add     MyProg_Kor.res, MENU,,1042
  -add     MyProg_Kor.res, DIALOG,,1042
  -add     MyProg_Kor.res, STRINGTABLE,,1042

rh_script_myprog_upd_images.txt -
  //이 스크립트는 MyProg.exe에서
  //2개의 비트맵과 아이콘을 업데이트 합니다...	
  [FILENAMES]
  Exe=    MyProg.exe
  SaveAs= MyProg_Updated.exe	
  [COMMANDS]
  -addoverwrite Bitmap128.bmp, BITMAP,128,
  -addoverwrite Bitmap129.bmp, BITMAP,129,0
  -addoverwrite MainIcon.ico, ICONGROUP,MAINICON,0

rh_script_myprog_upd_all.txt -
  //이 스크립트는 MyProg.exe의 모든 리소스를
  //MyProgNew.res의 모든 리소스로
  //대체합니다
  [FILENAMES]
  Exe=    MyProg.exe
  SaveAs= MyProg_Updated.exe
  [COMMANDS]
  -delete  ,,,            //이전의 모든 리소스 삭제...
  -add MyProgNew.res ,,,  //모든 새 리소스 추가
 

"포장" 또는 "압축" 된 실행 파일:

일부 실행 파일은 컴파일된 후에 압축 알고리즘을 사용하여 "포장" 또는 "압축" 되어 있습니다. 이렇게하면 파일 크기가 줄어들고 리소스를 보고 수정하는 것이 어려워집니다. 나는 이 리소스의 '은닉' 이 이 과정의 지배적인 목표라고 생각합니다. 결과적으로 이 '포장' 과정을 역으로 엔지니어링 하는 것이 일반적으로 어렵지는 않지만 이러한 저자를 고려하여 Resource Hacker를 사용하지 않기로 결정했습니다. 또한 "압축" 된 실행 파일은 지난 5-10년 동안 매우 드물게 사용되었습니다. 그 이유는 대부분의 실행 파일이 설치 프로그램 또는 ZIP 패키지 내에서 압축되기 때문입니다. 그러나 소프트웨어 작성자들은 실행 파일의 리소스 섹션에 있는 정보보다 더 많은 정보를 노출하고 있는 것으로 보입니다. 나는 역 엔지니어링으로 지적 재산을 잃는 것에 대한 이전의 우려가 마침내 완화되었다고 생각합니다.

 

사용 라이센스-이용 약관:

이 Resource HackerTM 소프트웨어는 귀하가 다음 이용 약관에 동의하는 경우 프리웨어로 배포됩니다:
  1. 이 소프트웨어는 저작권 소유자의 사전 서면 승인없이 웹 사이트 도메인이나 다른 매체를 통해 배포할 수 없습니다.
  2. 이 소프트웨어는 어떤 식으로든 불법 소프트웨어를 수정하는데 사용할 수 없습니다.
면책 조항: 이 Resource HackerTM 소프트웨어 사용자는 본 소프트웨어를 "있는 그대로" 제공 받고 있으며 사용자는 어떤 목적으로 든 소프트웨어의 정확성이나 기능에 의존하지 않고 있음을 인정합니다. 사용자는 또한 이 소프트웨어의 사용이 사용자 자신의 위험 부담이며, 저작권 소유자는 소프트웨어의 사용이나 적용으로 인해 발생하는 어떠한 책임도 지지 않음을 인정합니다.

위의 라이센스 조항은 미국 법전 제17조의 1202항의 의미 내에서 "저작권 관리 정보"를 구성하며 허가된 저작물에서 변경되거나 제거되어서는 안됩니다. 허가된 저작물의 변경 또는 삭제, 위의 모든 사용권 조항없이 변경되지 않은 라이선스 저작물의 배포는 1202항을 위반할 수 있으며 민사 및/또는 형사상의 결과를 초래할 수 있습니다.

한국어 단일 포터블 다운로드: Resource Hacker™ 5.1.8
번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4481 호환이 안된다는 드라이버 강제로 적용하는 방법 [1] ASUS 13190 0 10-13
4480 ASUS,LG....자동인증 씨디 만들기 [4] 왕대인 14834 0 10-13
4479 구매시 XP가 기본 장착된 모델인 경우 개조안하고 VISTA O... [5] 오다가다 9790 0 10-13
4478 구매시 XP가 기본 장착된 모델인 경우 VISTA OEM으로 [6] 오다가다 11454 0 10-13
4477 기 타| 종이로 시디케이스 만들기(두가지) [5] gooddew 11681 0 10-14
4476 VISTA의 BCDEDIT로 간단히 XP 멀티부팅정보 추가하기 [1] 오다가다 11482 0 10-16
4475 미디어플레이어 64비트 설정 방법 [4] 히로 10667 0 10-18
4474 탐색기에서 파일이동 복사하기 메뉴만들기 [2] gg 10217 0 10-27
4473 윈도탐색기에서 보기옵션 고정하기 [3] gg 10374 0 10-27
4472 Xp 가 탑제된 컴의 Vista 인증원리 [2] 오다가다 12288 0 10-27
4471 [Vista] 레디부스트 지원 안되는 USB 사용방법!? [5] 김용환 11108 0 10-30
4470 비스타 RC 버전 인증기 [4] 묵은지 12086 0 10-31
4469 ReadyBoost, Qsoft의 RamDisk로 "체험"하기 [1] 박정환 13853 0 11-04
4468 즐겨찾기 목록 폴더 자동 원상복구 [1] 퍼온이 10367 0 11-04
4467 지포스 최신 드라이버 설치시 카트라이더 문제점 해결.. [1] 미스터하하 9586 0 11-13
4466 기 타| JRSKD24.SYS 손상에 의한 부팅불가시 복구법..!! [4] gooddew 13987 0 11-14
4465 기 타| 비스타 버전별 기능 [6] gooddew 10130 0 11-17
4464 비스타 서팩1 설치 안될때의 설치방법 제안! [5] 테스트맨 9400 0 11-17
4463 sp1 rc v658 삭제 [4] 미스터하하 7947 0 11-18
4462 비스타 SP1 v658설치 [4] 비스타유져 8848 0 11-18
XE1.11.6 Layout1.4.8