안녕하세요, 다시 오신 것을 환영합니다.
이전 강의에서 몇몇 학생들이 여기와 여기 이 암호 해독 함수 안에
중단점을 넣고 실행해도 프로그램이 실행 상태가 되기 때문에 중단점이 맞지 않는다고 언급했습니다.
그래서 그 해결 방법을 설명하겠습니다.
이제 키보드의 백스페이스를 눌러 이전 코드로 돌아가 보겠습니다.
그래서 여기에 중단점을 설정했습니다.
그리고 실행이 여기에 와서 테스트를 수행하면 파일이 존재하지 않기 때문에 실패하기 때문에
문제가 발생합니다.
하지만 어떤 이유에서인지 실패합니다.
따라서 코드 블록에 들어가지 않습니다.
대신 코드 블록을 건너뛰고 여기로 올라오게 됩니다.
그래서 우리가 하고 싶은 것은 코드 블록에 강제로 들어가서 여기 RSM 암호 해독으로
올 수 있도록 하고, RSM 암호 해독에서 여기로 와서 이 압축 해제와 리소스 암호 해독을 수행하도록
하는 것입니다.
리소스.
Key.
출처.
이것이 바로 우리가 하고자 하는 일입니다.
따라서 이를 위해서는 여기서 부정 연산자를 제거하여 이 논리를 뒤집어야 합니다.
따라서 부정 연산자를 제거하려면 코드를 수정해야 합니다.
지금 바로 해보겠습니다.
이 항목을 선택하고 마우스 오른쪽 버튼으로 클릭한 다음 지침을 편집합니다.
그러면 이미 마우스 오른쪽 버튼을 클릭했기 때문에 자동으로 이 세 줄이 선택된 것을 볼 수 있습니다.
그래서 이를 IL 명령어, 중간 언어라고 합니다.
C#과 VB에서 사용되는 저수준 언어입니다. NET 프레임워크를 지원합니다.
에 대한 어셈블리와 같습니다. NET.
따라서 로직을 반전시키려면 BR_TRUE를 반전시켜 BR_FALSE로 바꾸면 됩니다.
여기에 파일에 대한 호출이 있는 것을 볼 수 있습니다. 존재합니다.
그리고 그 다음에는 BR_TRUE가 있습니다.
그래서 우리는 이것을 바꾸기만 하면 됩니다.
따라서 이것을 BR_FALSE로 변경해야 합니다.
여기를 왼쪽 클릭하세요.
그리고 여기에 가능한 옵코드 목록이 표시됩니다.
조금 위로 스크롤하면 거짓이 표시되는 것을 볼 수 있습니다.
BR_FALSE를 선택하여 교체합니다.
그런 다음 확인을 클릭합니다.
이제 네거티브가 사라진 것을 볼 수 있습니다.
즉, 프로그램이 여기로 오면 이 코드 블록에 들어가서 이 줄을 실행합니다.
이제 이 새로운 패치 코드를 버리겠습니다.
코드를 패치하겠습니다.
따라서 패치를 적용하려면 여기 이 어셈블리, 여기 이 모듈을 마우스 오른쪽
버튼으로 클릭하고 모듈 저장을 선택합니다.
모듈 저장을 선택하면 파일을 저장할지 묻는 메시지가 표시됩니다.
확인을 클릭합니다.
예.
따라서 다른 이름으로 파일을 저장하려면 원본 파일을 덮어쓰고 싶지 않습니다.
여기서 이 세 개의 점을 클릭하여 새 이름을 지정합니다.
대시 2라고 부르세요.
그런 다음 여기에서 모든 파일을 선택합니다.
첫 번째 원본 파일은 여기에서 확인할 수 있습니다.
그리고 이제 대시투로 이름을 바꾸려고 합니다.
이것이 패치된 파일입니다.
저장을 클릭합니다.
확인을 클릭합니다.
알겠습니다.
이제 새 파일을 dnSpy에 다시 로드합니다.
열다.
모든 파일을 선택합니다.
패치된 파일을 클릭합니다.
열기를 클릭하고 중단점을 설정한 위치로 돌아갑니다.
이것이 바로 패치된 파일입니다.
새 파일입니다.
따라서 중단점이 손실됩니다.
그러니 걱정하지 마세요.
중단점을 다시 삽입해 보겠습니다.
여기에서 이 코드, 여기에서
이 모듈, 편집, 어셈블리 검색을 선택합니다.
그런 다음 ReadMail을 검색합니다.
바로 검색입니다.
OK.
이것이 바로 여러분이 원하는 것입니다.
ReadMail.
바로 그 지점에 우리가 있었습니다.
따라서 해당 항목을 두 번 클릭하면 같은 위치로 돌아옵니다.
이제 중단점을 다시 삽입해 보겠습니다.
여기 하나.
여기를 클릭하세요.
RSM_해독하고 여기에 하나 더 넣습니다.
이제 실행할 준비가 되었습니다.
실행되면 확인을 클릭합니다.
예를 클릭합니다.
여기서 중단점에 도달한 다음 두 번째로 실행되도록 놔두면 됩니다.
이제 두 번째 중단점에 도달했습니다.
이제 마지막 줄까지 넘어가 보겠습니다.
한 걸음, 한 걸음,
한 걸음, 한 걸음, 여기까지 도달하면 나머지 리소스를 해독할 수 있습니다.
주요 리소스.
따라서 해독된 바이트를 보려면 여기에서 로컬 아래를 내려다보고 배열 2를 마우스 오른쪽 버튼으로
클릭한 다음 메모리 창에 표시를 선택하면 됩니다.
메모리 1.
여기에 헤더가 있는 것이 보이시죠?
즉, PE 실행 파일입니다.
그래서 우리는 그것을 버리려고 합니다.
여기를 마우스 오른쪽 버튼으로 클릭한 다음 선택 항목 저장을 선택하고 덤프를 호출하면 됩니다. bin.
여기부터는 이전 레슨과 동일합니다.
그래서 저장했습니다.
이제 닫아도 됩니다.
이 기능을 중지한 다음 PE Studio로 열 수 있습니다.
PE Studio를 사용합니다.
그리고 덤프를 엽니다. 휴지통으로 이동하여 분석합니다.
여기에서 이메일 비밀번호 복구 프로그램임을 확인할 수 있습니다.
여기에서 버전으로 내려가면 NirSoft라는 회사에서 만든 것을 볼 수 있습니다.
따라서 NirSoft는 이메일 복구 프로그램을 만드는 회사일 것입니다.
따라서 여기에서 이 멀웨어 개발자가 직접 이메일 복구 프로그램을 만든 것이 아니라는 것을 추론할 수
있습니다.
대신, 그는 누군가의 이메일 복구 프로그램을 가져와서 암호화한 후 악성코드에
내장된 암호화된 리소스로 삽입했습니다.
이 영상은 여기까지입니다.
시청해 주셔서 감사합니다.