16진수 편집기를 통한 Excel VBA 암호
이전 Excel VBA 프로젝트(.xls)에서 VBA 프로젝트 보안을 우회하기 위해 "16진수 편집기에서 DPB를 DPX로 수정"을 여러 번 사용한 적이 있기 때문에 이 작업을 수행하는 방법을 확실히 알고 있으며 이 작업을 수행할 수 있다는 것을 알고 있습니다.
하지만 어제 막 시도해 보니 더 이상 작동하지 않는 것 같습니다.Excel 2011(Mac)과 Excel 2003(Windows)을 모두 사용해 보았는데 두 경우 모두 동일한 동작을 보였습니다.
VBA 편집기를 열면 프로젝트가 손상되었으며 프로젝트가 제거된다는 메시지가 표시됩니다.그러면 VBA 편집기가 열리고 모듈과 워크시트에서 모든 VBA가 제거됩니다.
이 방법을 사용해 보았습니다.Excel VBA 프로젝트에서 암호를 해독할 수 있는 방법이 있습니까? (즉, 알려진 암호로 스프레드시트를 만든 다음 관련 필드에 복사)
그러나 내 '더미' 스프레드시트에 작성된 "GC" 키의 길이가 내가 액세스하려는 스프레드시트의 "GC" 키("대상")보다 짧습니다.저는 다른 곳에서 "대상" 키가 더 긴 경우 "더미" 키를 같은 길이로 패드할 수 있지만 반대의 경우에는 어떻게 해야 하는지 말할 수 없다는 것을 읽은 적이 있습니다.
그래서 - 질문합니다;
- "육각 편집기" 접근 방식을 무효화하는 패치가 적용되었는지 아는 사람이 있습니까?
- 더미 키가 목표 키보다 길 때 누가 어떻게 해야 하는지 도와줄 수 있습니까?
- 다른 사람이 이 문제에 대해 현장에서 업데이트된 내용을 제공할 수 있습니까?
편집 이제 이 문제를 어느 정도 해결했으므로 여기에 요약을 추가해야겠다고 생각했습니다.
Mac Excel 2011에서 이 기능을 사용할 수 없습니다.파일 이름에서 파일을 변경하는 것에 대한 것입니다.xlsm을 필드 이름으로 지정합니다.zip 및 back을 하면 Excel 2011이 인식을 거부하는 손상된 Excel 파일이 생성됩니다.
이전 윈도우즈 시스템(XP/Excel 2007)에서 .xlsm 파일 이름을 .zip으로 수정하고 vbaproject.bin 파일의 DPB= AND GC= 값을 16진수 편집기로 편집한 다음 .zip 파일에 저장한 다음 .zip 이름을 다시 xlsm으로 변경하여 이 작업을 수행할 수 있었습니다.저는 하단에 Ricko가 제공한 "테스트" 예제를 사용했고 그것은 ONE 주의사항과 함께 작동했습니다. 저는 파일의 원래 길이와 동일한 길이를 만들기 위해 GC 값을 '패딩'해야 했습니다.
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
오늘도 같은 문제가 발생했기 때문에 당신의 답변을 받았습니다.
누군가가 .xlsm(2007 이상 버전)을 포함한 모든 엑셀 파일에 대해 vba 보호 암호를 "macro"로 변경하는 작동하는 vba 코드를 만들었습니다.당신은 그의 코드를 보면 그것이 어떻게 작동하는지 알 수 있습니다.
이것은 그 남자의 블로그입니다: http://lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html 작업을 수행하는 파일입니다. https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit
블로그의 이전 게시물에서 붙여넣기:
Excel 2007/2010(.xlsm) 파일의 경우 다음 단계를 수행합니다.
- 새 .xlsm 파일을 생성합니다.
- VBA 부분에서 간단한 암호(예: 'macro')를 설정합니다.
- 파일을 저장하고 종료합니다.
- 파일 확장명을 '.zip'으로 변경하고 아카이브 프로그램에서 엽니다.
- 파일 'vbaProject.bin'('xl' 폴더)을 찾습니다.
- 아카이브에서 추출합니다.
- 방금 추출한 파일을 16진수 편집기로 엽니다.
파라미터 DPB(따옴표 값)에서 값을 찾아 복사합니다(예: DPB="282A84CBA1).CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A"(이 값은 'macro' 암호에 대해 생성됨).이 DPB 값을 사용하여 1-8단계를 건너뛸 수 있습니다.
암호를 알 수 없는 파일(잠금 해제할 파일)에 대해 4-7단계를 수행합니다.
8단계에서 복사한 값에 대해 이 파일의 DBP 값을 변경합니다.
복사된 값이 암호화된 파일보다 짧으면 누락된 문자를 0으로 채워야 합니다.값이 더 길면 문제가 되지 않습니다(그대로 붙여넣습니다).
'vbaProject.bin' 파일을 저장하고 16진수 편집기를 종료합니다.
- 기존 'vbaProject.bin' 파일을 수정된 파일로 바꿉니다.
- 확장명을 '.zip'에서 '.xlsm'으로 다시 변경합니다.
- 이제 VBA 코드를 확인하는 데 필요한 엑셀 파일을 엽니다.VBA 코드의 암호는 단순히 매크로입니다(예를 들어 여기에 표시).
새로운 버전, 이제 GC=도 있습니다. DPB와 GC를 모두 해당 버전으로 교체해 보십시오.
DPB="DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2" GC="BAB816BBF4BCF4BCF4"
암호는 "테스트"가 됩니다.
- 16진수 편집기를 사용하여 xls 파일을 엽니다.
- 을 합니다.
DPB
- 를 바꿉니다.
DPB
DPx
- 파일을 저장합니다.
- Excel에서 파일을 엽니다.
- 메시지 상자가 나타나면 "예"를 누릅니다.
- VBA 프로젝트 속성에서 새 암호를 설정합니다.
- 파일을 닫았다가 다시 연 다음 보호를 해제할 새 암호를 입력합니다.
http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/ 을 확인하십시오.
당신이 처리한다면.xlsm
대신 파일을 작성합니다..xls
이전 방법을 사용할 수 있습니다.나는 수정하려고 했습니다.vbaProject.bin
에.xlsm
여러 번 사용DBP->DBx
방법이 작동하지 않았습니다. 또한 값을 변경했습니다.DBP
하지 않았다.그래서 저는 다음과 같은 것들이 효과가 있다는 것에 매우 놀랐습니다.
저장.xlsm
~하듯이.xls
.
사용DBP->DBx
에 대한 방법..xls
.
유감스럽게도 수정된 제품을 사용할 때 일부 오류가 발생할 수 있습니다..xls
파일, 저장해야 했습니다..xls
~하듯이.xlsx
모듈을 추가한 후 다음으로 저장합니다..xlsm
.
언급URL : https://stackoverflow.com/questions/22663809/excel-vba-password-via-hex-editor
'programing' 카테고리의 다른 글
체이 테스트 배열 동일성이 예상대로 작동하지 않습니다. (0) | 2023.05.21 |
---|---|
로컬 커밋 후 파일을 다시 스테이징 해제하려면 어떻게 해야 합니까? (0) | 2023.05.21 |
C++용 NumPy 스타일 어레이? (0) | 2023.05.21 |
Flask에서 POST 개체를 mongodb에 적합한 표현으로 변환합니다. (0) | 2023.05.21 |
서버와 동등한 것은 무엇입니까?ASP.NET Core의 MapPath? (0) | 2023.05.21 |