소프트웨어 dup2patcher.dll 디컴파일링-1
2022.07.20 22:07
출처: http://crack-tool.at.ua/load/patchgens/diablo2oo2_39_s_universal_patcher_dup2_v2_25_v2_26/13-1-0-6
출처의 방법 및 dll-to-exe-converter 도구를 이용한 방법도 시도했지만 둘 다 안 되었습니다.
그래서 다른 방법으로 시도한 것이 잘 되어서 나중에 참고하기 위해서 기록합니다.
- 예제 파일
1. snapshotfix-patch.exe 를 실행 후 temp 폴더에 생성된 dup2patcher.dll
2. 어느 파일이든지 실행해서 temp 폴더에 dup2patcher.dll 이 생성되면 그 dup2patcher.dll 를 이용하면 됩니다.
- 필요 도구
1. CFF Explorer.exe
* patch.exe(=dup2patcher.exe) 의 [.rsrc 섹션 가상 주소] 확인합니다.
2. dup2_2.25.exe
* patch.exe(=dup2patcher.exe) 를 생성합니다.
* 마지막으로 수정된 patch.exe(=dup2patcher.exe) 로드해서 데이타 확인 및 재수정합니다.
3. ResBinder.exe
* dup2patcher.dll 의 [.rsrc 섹션 데이타]를 추출합니다.
* 추출된 [.rsrc 섹션 데이타] 를 patch.exe(=dup2patcher.exe) 에 연결합니다.
- dup2_2.25 특징
1. 패치 파일을 실행하면 temp 폴더에 dup2patcher.exe 파일이 추출되어 실행됩니다.
2. dup2patcher.dll: 읽기 불가.
3. dup2patcher.exe: 읽기 가능(재수정 가능).
4. *.dop, *.dup: 읽기 가능(재수정 가능).
5. *.dup2: 읽기 가능(재수정 가능).
- dup2_2.26.1 특징
1. 패치 파일을 실행하면 temp 폴더에 dup2patcher.dll 파일이 추출되어 실행됩니다.
2. dup2patcher.dll: 읽기 불가.
3. dup2patcher.exe: 읽기 불가.
4. *.dop, *.dup: 읽기 불가.
5. *.dup2: 읽기 가능 (재수정 가능).
------------------------------------------------------------------------------
1. dup2patcher.dll 추출하기
- 예제로 사용한 snapshotfix-patch.exe 는 dup2_2.26.1 로 제작했기 때문에,
실행하면 temp 폴더에 dup2patcher.dll 가 자동 생성됩니다.
실행 후 dup2patcher.dll 파일을 복사해서 사용하시면 됩니다.
2. patch.exe(=dup2patcher.exe) 제작하기
- dup2_2.25 로 기본 데이타만 있는 patch.exe 를 생성해서 이용합니다.
- 물론 patch.exe 를 실행해서 temp 폴더로 추출된 dup2patcher.exe 를 이용해도 됩니다.
2-1. [프로젝트 -> 새로 생성] 을 클릭하세요.
2-2. 빈 곳에 마우스를 대고 우클릭하면 메뉴가 나타납니다.
여기서 [추가 -> [Search and Replace Patch]] 를 클릭하시면 됩니다.
2-3. 실제 데이타는 없는 [Search and Replace Patch] 모듈만 자동으로 생성 됩니다.
2-4. [프로젝트 -> 패치 생성] 을 클릭하세요.
2-5. 파일명은 자동으로 [patch.exe] 로 생성되니 그냥 [저장] 만 클릭하세요.
2-6. 그냥 [확인] 를 클릭하세요.
2-7. 패치가 생성 되었으니 [확인] 을 클릭하세요.
2-8. 종료하세요: [X] 클릭
2-9. 프로젝트에 저장할 필요가 없으니 [아니요] 를 선택하세요.
3. patch.exe(=dup2patcher.exe) 의 [.rsrc 섹션 가상 주소] 확인하기
- CFF Explorer 로 가상 주소를 확인합니다.
3-1. [File -> Open -> patch.exe] 를 선택하시고 좌측의 [Section Headers] 클릭합니다.
.rsrc 섹션의 Virtual Address(가상 주소) 를 꼭 기록하세요. 여기서는 [00022000] 입니다.
4. dup2patcher.dll 의 [.rsrc 섹션] 데이타 추출하기
- ResBinder 로 dup2patcher.dll 의 [.rsrc 섹션 데이타]를 추출합니다.
4-1. 작업에서 [바이너리 리소스 덤프 파일 생성하기] 를 선택하세요.
4-2. 반드시 주소를 0x00022000 로 수정하고 [OK] 하세요.
4-3. 덤프 파일 [dup2patcher00022000.rsrc] 생성 완료 메시지입니다.
5. 추출된 [.rsrc 섹션] 데이타를 patch.exe(=dup2patcher.exe) 에 연결하기
- ResBinder 로 추출된 [.rsrc 섹션 데이타] 를 patch.exe(=dup2patcher.exe) 에 연결합니다.
5-1. 작업에서 [바이너리 리소스 덤프를 파일에 연결하기] 를 선택하세요.
5-2. dup2patcher00022000.rsrc 파일을 선택하세요.
5-3. 반드시 주소를 0x00022000 로 수정하고 [OK] 하세요.
5-4. patch.exe 를 실행해 보면 수정된 모습으로 나옵니다.
6. dup2_2.25 로 수정된 patch.exe(=dup2patcher.exe) 로드하기
6-1. [프로젝트 - 열기] 를 클릭하세요.
6-2. [*.exe] 선택하지 않으면 실행 파일이 안 나타납니다.
그러므로 먼저 파일 확장자 [*.exe] 를 선택해야 됩니다.
6-3. 로드시 얼마간 시간이 걸리니 기다려주세요.
patch.exe 파일이 정상이면 아래처럼 로드가 되고 또한 모듈을 클릭해서 데이타 확인 및 재수정도 가능합니다.
patch.exe 파일이 비정상이면 아래처럼 로드가 안됩니다. 안되면 처음부터 다시 해야됩니다.
정상으로 로드가 되면 꼭 [*.dup2] 로 저장하세요.
그러면 dup2_2.25 or dup2_2.26.1 로 새로운 패치 파일을 다시 만들 수 있습니다.
------------------------------------------------------------------------------
댓글 [6]
-
cungice 2022.07.20 23:02
-
줄리아니 2022.07.21 03:13
좋은 강좌 감사드립니다
출저: http://crack-tool.at.ua/load/patchgens/diablo2oo2_39_s_universal_patcher_dup2_v2_25_v2_26/13-1-0-6 에 소개된 방법도 잘됩니다
설명을 부연하자면
PE- Characteristics: 0x2102 -> 0x0102
102로 바꾼 이유는 dll 파일을 exe 파일로 변경하기 위함입니다
cff explorer File header 에서 characteritics 를 수정하시거나 winhex를 이용해서 수정하세요
2. AddressOfEntryPoint: 0x000020D0 -> 0x000020F9 (<-Export load_patcher)
0x20f9는 Entrypoint 에 0x19를 더해서 구할수 있습니다 0x20d0 이 값은 고정값이 아니고 변할수도 있습니다
0x20d0 + 0x19 = 0x20f9
0x20f9는 load_patcher label 의 RVA 값입니다
cff explorer 에서 AddressofEntrypoint 항목을 수정합니다
수정된 dup2patcher.dll 을 dup2patcher.exe로 파일을 이름을 변경한 후 dup2.5에서 dup 2 patch /loader [*.exe] 선택 불러오시면 됩니다
-
sunshine 2022.07.21 09:09
AddressOfEntryPoint 값에 0x19 를 더하면 안되고 0x29 를 더하니까 잘 됩니다.
감사합니다.
-
줄리아니 2022.07.21 09:39
네 오류가 있었네요
0x20F9 - 0x20D0 = 0x29 29가 맞습니다
-
상발이 2022.07.21 04:57
수고하셨습니다.
-
ehdwk 2022.07.26 05:31
수고하셨습니다 .
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4400 | 윈 도 우| [실사] VHD 교차부팅 수동&자동 등록 [18] | 무월 | 1975 | 32 | 10-07 |
4399 | 소프트웨어| EDGE 브라우저 창 크기 "최대화" 고정 하기 [1] | 미스라 | 1485 | 6 | 10-03 |
4398 | 윈 도 우| [갱신] 윈도우 11 로컬 계정 암호 변경 [14] | 무월 | 2246 | 18 | 09-27 |
4397 | 소프트웨어| 테라카피(Teracopy) 3.12 설치팁 [7] | 메리아 | 2318 | 17 | 09-27 |
4396 | 소프트웨어| PDF-XChange Editor 기본글꼴 바꾸기 [1] | 코리아선비 | 890 | 3 | 09-25 |
4395 | 윈 도 우| Windows 11에서 광고 팝업을 끄는 방법 [5] | VᴇɴᴜꜱGɪ | 3102 | 8 | 09-22 |
4394 | 소프트웨어| [포토샵] 인물 누끼따기 외곽선 정리 [12] | 무월 | 2556 | 37 | 09-20 |
4393 | 윈 도 우| 윈도우 11 로컬 계정 암호 재설정 [15] | 무월 | 1778 | 29 | 09-18 |
4392 | 윈 도 우| 윈도우11 에서 창 깜박거림이나 입력글자가 사라지는 경우 [5] | Named | 1558 | 2 | 09-14 |
4391 | 소프트웨어| PE 동영상 썸네일 표시 [3] | 히이이잌 | 674 | 16 | 09-14 |
4390 | 모 바 일| [팁] 카톡 '전화번호로 친구 추가 허용' 기능 추가 [2] | asklee | 1597 | 4 | 09-13 |
4389 | 윈 도 우| Microsoft는 최근 Windows 11 WinRE 업데이트가 실패한 이... [2] | VᴇɴᴜꜱGɪ | 1497 | 4 | 09-10 |
4388 | 윈 도 우| 바로가기 아이콘을 만들어 원 클릭으로 디펜더 온 오프 메... [8] | heykevin | 1298 | 20 | 09-09 |
4387 | 소프트웨어| 64bit 프로그램 한글화 강좌 [4] | 夕影 | 1759 | 7 | 09-09 |
4386 | 소프트웨어| [엑셀] 선택된 셀, 행, 열 강조 하기! [13] | 무월 | 2562 | 28 | 08-31 |
4385 | 소프트웨어| Microsoft Edge를 사용하여 YouTube 스크린샷을 찍는 방법 [3] | Security_Z | 1347 | 5 | 08-30 |
4384 | 윈 도 우| [실사] 윈도우 11 VHD 교차부팅(자동) 설정 - VHDMan [16] | 무월 | 1952 | 35 | 08-26 |
4383 | 소프트웨어| Microsoft Edge IE모드 구성하기 [10] | 무월 | 1838 | 22 | 08-26 |
4382 | 윈 도 우| [3탄] PE빌드를 위한 누적 업데이트 통합 (Winre.wim + ins... [14] | 무월 | 1275 | 26 | 08-25 |
4381 | 윈 도 우| 텍스트 파일 하위 폴더 파일 포함 병합하기! [11] | 무월 | 820 | 27 | 08-23 |
수고 많으셨습니다. 감사합니다.