소프트웨어 PECMD CMPA 복호화 -- 내용 추가 --
2024.06.06 22:14
예전에 제시했던 CMPa 복화화 방법이 너무 어렵다는 문의가 있어서
좀더 간단하게 할수 있는 방법을 찾았습니다
1. 암호화 된 파일에서 리소스 에디터를 사용해 Cmpa 파일을 추출합니다
2. Cmd 에서 Cmpa_Decryptor.exe 추출하고 싶은 CMPA 파일 이름을 입력 합니다
3. 파일을 실행하면 메세지 박스가 하나 뜨는데 추출이 완료되기 전까지는 확인을 누르면 안됩니다
4. 오토핫키로 작성된 Cmpa_Memory_Reader.ahk 를 실행하면 추출된 파일이 Cmpa_시간.txt 형식으로 저장됩니다
5. End 메세지가 뜨면 확인을 눌러 프로그램을 종료해주세요
첨부된 압축 파일에는
CMPA_Decryptor.exe
Cmpa_Memory_Reader.ahk
\bin 폴더에는 CGI-plus_x86 ,DrvIndex ,WinosInfo 에서 추출한 CMPA 파일이 들어 있습니다
CMPA_Decryptor.exe 는 Pecmd 파일을 수정한것으로 CMPa 추출 작업 외에는 동작하지 않습니다
-----------------------------------------------------------
Cmpa 복호화 작업을 개선시켜 주신 sunshine , 지후빠님께 감사드립니다
한글화 작업하시는 분들께 도움이 됬으면 좋겠습니다
-------------------------------------------------------------
제가 첨부된 cmpa 으로만 테스트를 해보고 다른 파일들은 테스트를 못 해봤습니다
특정 OS 와 몇몇 프로그램에서 작동이 안된다고 하네요
메모리에서 복호화가 될때 메모리 주소를 강제로 고정 시켰는데 그것 때문에 발생한 문제인가 싶어서
복호화 된 메모리에서 바로 저장 하도록 변경했습니다 테스트 해보십시요
사용법은 이전과 조금 다릅니다
Cmpa_Decryptor에서 자체적으로 저장되도록 변경했습니다
Autohotkey 사용하지 않습니다
cmd 상에서 Cmpa_Decryptor2.exe WinosInfo_101.bin (cmpa 가 적용된 파일 이름)을 입력하면
바로 C:\에 decrypt.wcs 로 저장됩니다
같은 이름의 파일이 있을경우 덮어 쓰기 됩니다 미리 백업 하세요
오류 검사 기능 전혀 없습니다 테스트 용이라서 작동만 되게 해 놨습니다
전에 작동하지 않았던 몇몇의 프로그램에서 테스트 해보시고 말씀해 주시면 고맙겠습니다
--------------------------------------------------------------------------------------------------
저장 경로 설정하기 추가 했습니다
Cmpa_Decryptor3.exe WinosInfo_101.bin 을 입력했을 경우 자동으로 저장되지 않고
저장 경로를 묻는 창이 뜹니다
내부적으로 코드가 너무 지저분한데 작동은 되네요 ^^;;
------------------------------------------------
Cmpa_Decryptor3.exe 은 문제점이 발생에서 삭제 합니다 해결 방안을 모색중입니다
-----------------------------------------------
Cmpa_Decryptor3.exe 다시 추가합니다
약간 불안합니다 테스트 해보시고 작동하지 않을경우
Cmpa_Decryptor.exe 나 Cmpa_Decryptor2.exe 을 사용하세요
--------------------------------------------------
Cmpa_Decryptor2 를 업데이트 했습니다
New_Cmpa_Decryptor21 다운 받으시면 됩니다
BOM 코드 추가
시작 바이트 공백 삭제
자동 저장 경로를 내문서로 변경
-----------------------------------------------------
전체 경로를 인식 못하는 에러 수정
시작 바이트 1 문자 삭제시 발생하는 에러 수정
자동 저장 경로를 "실행 폴더\파일이름.확장자.wcs" 로 변경 --> cmpa_decryptor23_지후빠.exe
자동 저장 경로를 "내 문서\decrypt.wcs" 로 변경 --> cmpa_decryptor23_sunshine.exe
-------------------------------------------------------
공백 수정
----------------------------------------------------------
Cmpa_Decryptor24 버전은 인자값으로 불러온 Cmpa 파일이 있는 폴더에 복호화 파일이 저장되고
Cmpa_Decryptor24b 버전은 Cmpa_Decryptor24 가 위치한 폴더에 복호화 파일이 저장됩니다
---------------------------------------------------------
인수 없이 Cmpa_Decryptor.exe 만 실행시 더 이상 도움말이 뜨지 않고 파일 불러오기 대화창이 창이뜹니다
Cmpa_Decryptor25a 와 Cmpa_Decryptor25b 버전의 차이는 저장 경로의 차이입니다
Cmpa_Decryptor25a : Cmpa의 파일 경로에 저장됩니다
Cmpa_Decryptor25b : 프로그램의 실행 경로에 파일이 저장됩니다
-----------------------------------------------------------------------------------------
Cmpa_Decryptor26 불러오기 대화상자에 저장위치 영문 표기
댓글 [42]
-
cungice 2024.06.06 22:23
-
풍경소리 2024.06.06 22:44
Cmpa_Memory_Reader.ahk를 실행하면 에러가 발생하네요
-
풍경소리 2024.06.06 22:46
오토핫키 사용 버전은?
-
夕影 2024.06.06 22:54
해당 스크립트는 오토핫키 v1 로 작성되었습니다
-
상발이 2024.06.07 08:31
수고하셨습니다.
-
지후빠 2024.06.07 10:32
WOW~ 꼭 해보고픈 것이었는데요. 감사합니다.~.~
주말에 테스트 후 피드백 드리겠습니다.
수고하셨습니다. ^^
-
夕影 2024.06.07 16:41
네 테스트 후에 성공여부를 말씀해 주세요
-
sunshine 2024.06.07 11:54
夕影님 덕분에 cmpa 파일 복호화를 쉽게 할 수가 있어서 감사합니다.
cmpa 디크립터를 좀 편하게 사용할려고 배치 파일을 만들었습니다.
아래 4개의 파일을 같은 폴더에 두고 Cmpa_Decryptor_Start.cmd를 실행하시면 됩니다.
Cmpa_Decryptor_Start.cmd
Cmpa_Decryptor.exe
Cmpa_Memory_Reader.exe -> Cmpa_Memory_Reader.ahk를 컴파일한 것입니다.
cmpa로 암호화된 파일
-
夕影 2024.06.07 16:43
깔끔하고 이해하기도 쉽네요
수고하셨습니다 -
와로 2024.06.07 22:13
감사합니다!
-
지후빠 2024.06.07 21:42
- CMPa bin 파일 있는 위치에 txt로 생성되게 하였습니다.
-
지후빠 2024.06.07 22:12
급히 외출하여… 설명을 못 드렸습니다.
이걸 실행하면 cmpa 파일 선택 창이 나타나고, 파일 선택하면, cmpa_decrypter.exe (파일) 실행후 '주의' 창을 숨기고, 선택파일 위치에 txt로 저장후 cmpa_decrypter.exe 종료시키고 메세지창에서 '예'를 누르면 txt를 열어주고, '아니오' 선택하거나 놔두면 5초 지나서 그냥 닫힙니다. -
夕影 2024.06.07 22:52
부족한 부분을 채워 주셨군요 감사합니다
-
지후빠 2024.06.08 20:56
CMPa_Decrypt_0.1.1.0.zip - exe가 혹시 바이러스로 오인될 수 있어서 암호 0.1.1.0 설정하였습니다.
- 석영님 게시물에서 Cmpa_Decryptor.exe 파일을 받아서 CMPa_Memory_Reader.exe 와 같은 폴더에 둡니다.
- 필요시 wcs를 열어볼 텍스트 뷰어를 같은 폴더에 'Viewer.lnk'로 바로가기를 만들어 둡니다.
[진행 과정]
- CMPa_Memory_Reader.exe 를 실행하면 파일 선택창이 나타납니다.
- 만약 CMPa_Memory_Reader.exe <CMPa 인코딩된 파일 전체경로> 형태로 실행하면 파일 선택창은 건너뜁니다.
- 탐색기 끌어다놓기, 보내기, 토탈커맨더 등의 툴바에 등록해 사용할 수 있도록 %1을 받습니다.
- 파일 경로가 유효하면 Cmpa_Decryptor.exe <CMPa 인코딩된 파일 전체경로> 형태로 실행시키고,
- '주의' 창이 나타나기를 기다렸다가 숨기고, 메모리 덤프를 하고 숨겨진 Cmpa_Decryptor.exe를 종료합니다.
- '해독 완료' 창을 보여주고 해독된 파일을 실행할지 묻습니다. 3초내 응답하지 않으면 창이 닫힙니다.
- '예'를 선택하면 메모장으로 wcs 파일을 열어서 보여줍니다.
- 만약 선호하는 텍스트 뷰어를 같은 폴더에 'Viewer.lnk'로 바로가기를 만들어 두면 이것으로 보여줍니다.
-
가로등 2024.06.09 07:15
수고 많으셨습니다. 감사합니다.
-
왕초보 2024.06.09 08:05
귀한 선물에 진심으로 감사드립니다
좋은일만 있으시길 바랍니다
-
夕影 2024.06.09 11:23
네 지난 번 이후로 진짜 오랜만이네요
-
sunshine 2024.06.09 09:53
- Cmpa_Decryptor.exe / Cmpa_Decryptor2.exe 비교
-
夕影 2024.06.09 11:40
해당 프로그램은 total commander Lister 입니다 주로 쓰는 emeditor 에서도 제대로 동작하여 잘되는 줄 알았습니다
제가 notepad 를 사용하지 않기 때문에 몰랐습니다
Cmpa_decryptv2로 생성된 파일은 Byte Order Mark (BOM) 이 없습니다Byte Order Mark(BOM)은 유니코드 인코딩에서 바이트 순서와 유니코드 인코딩 형식을 나타내는 문자 코드입니다.
주로 텍스트 파일의 시작 부분에 위치하여 해당 파일이 어떤 유니코드 인코딩 방식을 사용하는지를 명시합니다.
BOM 이 없기 때문에 Text Editor 에서 오류가 발생할수 있습니다유니코드의 BOM 은 FEFF 입니다 Notepad 에서 파일을 열기 위해서는
Hex Editor 로 해당 파일을 열어서 시작하는 2바이트를 FEFF 로 변경해 주세요
-
sunshine 2024.06.09 14:09
Cmpa_Decryptor2를 좀 편하게 사용할려고 만든 배치 파일입니다.
아래 4개의 파일을 같은 폴더에 두고 Cmpa_Decryptor2_Start.cmd를 실행하시면 됩니다.
Cmpa_Decryptor2_Start.cmd
Cmpa_Decryptor2.exe
cmpa로 암호화된 파일
Notepad2.exe
1. 배치 파일 메인(수정)
2. notepad2로 복호화된 파일을 처음 로드한 경우, 유니코드 문자가 없는 경우에는 정상으로 표시됨.
3. notepad2에서 [파일- 다시 읽기 - 인코딩 선택 - 유니코드 UTF16-LE]를 선택하고 저장하세요.
-
夕影 2024.06.09 23:53
테스트 결과 잘됩니다
Cmpa_Decryptor3 실행 해보시고 결과를 말씀해 주세요
아침까지는 잘 됬는데 지금은 실행이 안되네요 다른분은 어떤지 궁금하네요
-
지후빠 2024.06.09 23:40
수고하셨습니다.^^ 제 컴터에서는 Cmpa_Decryptor3.exe는 감감 무소식입니다.ㅜㅜ
Cmpa_Decryptor2.exe 는 관리자 권한으로 실행하면 정상 동작합니다.
급한대로 주신 파일만 테스트하였습니다. 다른 파일은 차차 테스트하겠습니다.
위에서 언급하신 BOM 바이트가 없는 것과 C:\decrypt.wcs 고정 경로를 배치파일로 수정해봤습니다.
CMPa_Decrypt2.cmd - Cmpa_Decryptor2.exe 와 같은 폴더에 있어야 합니다.
- "CMPa_Decrypt2.cmd <decoding할 파일 경로>" 형태로 실행합니다. 권리자 권한으로 실행됩니다.
- 저는 토탈커맨더 도구바에 등록후 매개변수를 %P%N으로 등록하여 사용합니다.
- 탐색기에서는 우클릭-보내기 메뉴에 바로가기를 만들 수도 있겠습니다.(drag&drop도 가능)
- 강제로 파일 앞에 BOM 바이트 "FF FE"를 추가하여 에디터에서 문자가 정상으로 보이게 하였으나
첫 빈문자 하나가 null 문자라서 제거해야 합니다.
- 원본 파일 경로에 이름은 원본이름과 같고 .wcs 확장자를 추가하여 저장합니다.
(같은 이름의 파일이 이미 있으면 덮어쓰니 미리 빽업하셔야 합니다.)
- 올바르게 해독되었으면 배치파일에 등록된 뷰어로 열어줍니다.
(뷰어 경로가 올바르지 않으면 메모장으로 보여줍니다.)
해독이 가능한 것만 해도 감지덕지인데 편해보려고 숟가락을 얹었습니다.
감사합니다. (_@_)
-
夕影 2024.06.10 00:00
저장하기 대화상자를 이용하기 위해서 특정 dll 파일을 추가해서 사용했는데
재부팅 될때마다 API 주소가 변하네요 지금 고칠수 있지만 미봉책이 될것 같아서 고민중입니다
-
지후빠 2024.06.10 00:08
아~ 넵!
혹시 디코딩 부분이 pecmd 스크립트로 작성된 것인가요?
pecmd 코드를 추가하면 가능할까 싶어서요. ^^
-
夕影 2024.06.10 00:20
디코딩은 x32dbg 에서 script 이용해서 메모리를 저장하는 방식과 같습니다
이번에는 디버거를 사용하지 않고 실행파일에서 inline 패치를 이용합니다
Cmpa_decryptorV1 Cmpa_decryptorV2,V3 는 저장 방식에서 차이가 있습니다 V2,V3 가 조금 더 안정적입니다 -
지후빠 2024.06.10 06:16
inline 패치는 뭔 말인지 모르겠습니다… 기존 실행파일에 이렇게 별개의 리소스를 추가할 수 있다는 것이 신기하기만 합니다. -
夕影 2024.06.10 00:16
Cmpa_decrypt 수정했습니다 테스트후에 말씀해 주세요
-
지후빠 2024.06.10 00:25
다른 이름으로 저장 창은 나타나는데 파일은 저장되지 않습니다. ㅜㅜ
-
夕影 2024.06.10 00:59
테스트 해보시고 재부팅 후에 다시 테스트 부탁 드립니다
-
지후빠 2024.06.10 06:03
정상적으로 저장됩니다. 4번 재부팅하여 테스트 하였습니다. 수고하셨습니다.^^
-
夕影 2024.06.10 07:55
네 테스트 감사드립니다
인라인 패치는
프로그램에서 인증을 우회할때 version.dll 이나 기타 dll 파일을 로드 해서 사용자 코드를 실행시키자나요
그거랑 약간 비슷한데 저는 사용자코드를 실행파일 안에 집어 넣은거죠 -
지후빠 2024.06.10 09:55
어려워 보입니다. ㅜㅜ
혹시... pecmd.exe 는 같은 버전에 여러 에디션이 있습니다. 32,64비트 구분뿐만 아니라, imdisk/도움말 내장 여부 등...
시간되면 정리하여 올려보겠습니다. 코어만 있는 pecmd.exe에 작업하실 수 있겠다 싶어서요.
32bit pecmd.exe로 작업하셔야하나요?
-
sunshine 2024.06.10 09:53
- Cmpa_Decryptor31, 33 둘 다 잘 됩니다.
복호된 파일의 인코딩을 변경하기 위해서는 [다른 이름으로 저장] 창이 나타나면 불편합니다.
고정적인 저장 위치와 파일명.확장자가 필요합니다.
그냥 [내 문서\원래의 파일명.확장자] 또는 [내 문서\원래의 파일명.확장자.wcs]로 자동 저장되게 해주세요.
----------------------------------------------------------------------------------------
- Cmpa_Decryptor2[수정2].7z 압축을 풀면 2개의 배치 파일이 있습니다.
그리고 입력을 편하게 하실려면 먼저,
1) 탐색기에서 [이름 바꾸기]를 해서 [원래의 파일명.확장자]를 복사합니다.
2) 배치 파일을 실행한다.
3) [배치 파일 - 입력란]에 복사한 [원래의 파일명.확장자]을 [붙여넣기]를 한다.
1. Cmpa_Decryptor2_bytepatch.cmd: 인코딩 변경을 위해서 bytepatch 사용
Cmpa 파일을 utf-16le로 인코딩하기 위해서 맨 처음 2바이트가 "FF FE"로 대체됩니다.
맨 처음 2바이트 안에 데이타가 있는 경우 그 데이타는 잘립니다.
예) PECMD 명령은 4개의 문자로 이루어져는데 그 중 맨 첫줄 문자가 3개의 문자만 있는 경우입니다.
* PCIP -> CIP, DISP ->ISP 등등
이런 경우에는 아래 [Cmpa_Decryptor2_notepad2.cmd]를 사용하시면 정상적으로 표시됩니다.
2. Cmpa_Decryptor2_notepad2.cmd: 인코딩 변경을 위해서 Notepad2 사용
3. Cmpa_Decryptor31: 오류가 있다고해서 제외
4. Cmpa_Decryptor33: 안정적이지만 번거로운 "다른 이름으로 저장" 창이 나타나서 제외
-
夕影 2024.06.10 19:23
Cmpa_Decryptor31 은 코드에 오류가 있습니다 Cmpa_Decryptor2 , v33 을 사용하십시요
Cmpa_Decryptor2 버전이 가장 안정성이 좋습니다
bat 파일로 인터페이스를 만드셨으니 bat 파일상에서 c:\ 에 있는 파일을 내문서로 이동해서 사용하는것이 용이할듯합니다
-
지후빠 2024.06.10 18:08
Cmpa_Decryptor2.exe 가 사용자화가 용이하여 CMPa_Decrypt2.cmd 를 좀 더 개선하였습니다.
먼저 막힌 곳을 뻥 뚫어주셔서 evening shadow 님께 다시 한번 더 감사드립니다.
CMPa_Decrypt_2_개선.zip - 이전에 올린 설명에서 바뀐 것만 추가합니다.
- 매개변수 없이 CMPa_Decrypt2.cmd 실행하면 파일 선택 창이 나타납니다.
- sed.exe (streams editor) 로 BOM 코드를 직접 수정하여 첫문자NUL을 삭제할 필요없습니다.
- 만약 PE에서 실행하면 매개변수로 cmpa인코딩된 파일을 명시하면 동작할 것 같습니다.
(파워쉘이 파일 선택 창 팝업과 관리자 권한 실행에 두번 사용되어서 피하면 PE에서도 동작할듯...)
-
夕影 2024.06.10 19:10
저장하기 창이 있으면 좀더 편리할까 했는데 아니네요
사용하기에는 v2 버전이 안정성도 높고 사용자화도 용이해서 좋은것 같습니다
지후빠님의 아이디어와 코드가 대단하시네요 수고하셨습니다
다른 작업은 하지 않습니다만 복호화 안되는 Cmpa 라면 한번 연구해 보겠습니다
32bit 와 64bit 는 내부적으로 많이 다릅니다 저는 32bit 에 익숙합니다
-
지후빠 2024.06.10 19:49
수고 많으셨습니다. 속이 뻥 뚫리는 것 같습니다. 감사합니다. ^^
-
지후빠 2024.06.12 22:43
수고하셨습니다. 제가 원하는 형태로 매우 만족스럽습니다. 감사합니다. ^^
별건 아니지만... 이전 버전에 비해 맨 끝에 NUL 문자가 하나 추가되었습니다.
다른 소스들도 확인해보고 다시 피드백 드리겠습니다.
참고로 '실행 폴더\파일이름.확장자' -> '실행 폴더\파일이름.wcs' 형태로 저장됩니다. 제가 원하는 형태입니다.
혹시나 원본이 '파일이름.wcs' 형태일때나 확장자가 없을때를 대비한 것인데 차라리 잘되었습니다. (_@_)
ps. 확장자가 없을때는 뒷쪽 3개 문자가 wcs로 대체되니 항상 확장자를 주면 문제 없을 것 같습니다.
-
sunshine 2024.06.13 12:54
1. Cmpa_Decryptor23a 가 에러없이 실행이 잘 됩니다.
이제는 그 어려운 CMPA 암호화 파일을 쉽게 복호화 할 수가 있네요.
더운 날씨에 고생하신 夕影님께 정말 감사드립니다.
- Cmpa_Decryptor23a / Cmpa_Decryptor[수정2] 비교
--------------------------------------------------------------------------------------------------------------
구 분 Cmpa_Decryptor23a Cmpa_Decryptor[수정2]
--------------------------------------------------------------------------------------------------------------
1차 저장 내 문서\decrypt.wcs (관리자 권한 불요) C:\decrypt.wcs (관리자 권한 필요)
2차 저장 배치파일 폴더 [파일 이름.확장자.wcs] 배치파일 폴더 [파일 이름.확장자.wcs]
--------------------------------------------------------------------------------------------------------------
2. Cmpa_Decryptor24a: 최종본입니다. Cmpa_Decryptor23a에서 맨 처음에 있는 공백을 제거한 버전입니다.
-
sunshine 2024.06.14 20:56
- CMPa_Decryptor 마지막입니다.
24a / 24b 아무 것이나 사용해도 되지만 24b 형을 추천합니다.
- CMPa_Decryptor24a
[%userprofile%\Documents\decrypt.wcs]에 1차로 자동 저장됩니다.
배치 파일 폴더에 새로 생성된 [파일 이름.확장자.wcs] 파일에 2차로 자동 저장됩니다.
- CMPa_Decryptor24b: 석영님께 특별히 부탁해서 제작한 것입니다. 석영님께 감사드립니다.
[Cmpa_Decryptor24b.exe]과 같은 폴더에 [파일 이름.확장자.wcs] 형태로 자동 저장됩니다.
1. CMPa_Decryptor24a
2. CMPa_Decryptor24b
-
지후빠 2024.06.17 09:27
25, 26에서는 원했던 것이 모두 이루어졌습니다. 감사히 잘 사용하겠습니다. 수고하셨습니다. ^^
-
sunshine 2024.07.16 14:57
- Cmpa_Decryptor 최종 버전 5개 입니다.
Cmpa_Decryptor25_26.7z
도구를 실행하면 탐색기가 열립니다. 이 때 cmpa로 암호화 된 파일을 선택하면 됩니다.
[file] 표시는 [cmpa로 암호화 된 파일]과 같은 위치에 복호화된 파일이 저장됩니다.
[tool] 표시는 [Cmpa_Decryptor 도구]와 같은 위치에 복호화된 파일이 저장됩니다.
1. Cmpa_Decryptor25a[file]: 탐색기 상단에 한글로 메시지가 나타납니다.
2. Cmpa_Decryptor25b[tool]: 탐색기 상단에 한글로 메시지가 나타납니다.
3. Cmpa_Decryptor26a[file]: 탐색기 상단에 영어로 메시지가 나타납니다.
4. Cmpa_Decryptor26b[tool]: 탐색기 상단에 영어로 메시지가 나타납니다.
5. Cmpa_Decryptor26b-2[tool]: 탐색기 상단에 영어로 메시지가 나타납니다. 4번 26b 수정 버전입니다.
수고 많으셨습니다. 감사합니다.