2017-09-15 20 views
1

우리의 오디션 팀은 클라이언트의 ERP 응용 프로그램 (.net)을 검사하고 있습니다. 소스 코드를 검사 한 후 우리는 벤더 dll을 디오 페이싱 (deobfuscating)하여 검사하고, 실행 중에 프로세스를 검사합니다.Deobfuscate .net 응용 프로그램. 런타임에로드 된 누락 된 어셈블리/DLL

런타임에로드되어 실행 된 어셈블리를 발견했습니다. 더 이상이 어셈블리에 대한 정보를 찾을 수 없습니다. 이 dll은 바이트에서로드되어 appdomain에 연결되어 있다고 가정합니다. 이 바이트는 리소스 중 하나에 있거나 IsolatedStorage에서있을 수 있습니다. 우리는이 dll을 잡는 방법을 모르기 때문에 디 컴파일을 시도 할 수 있습니다.

일부 정보 : - 프로세스 탐색기를 사용하여 응용 프로그램에서로드 된 여러 dll 경로를 찾을 수 있습니다. .net 어셈블리 및 경로 목록입니다. 하지만이 어셈블리에는 경로가없고 어셈블리 이름 만 있습니다.

메모리에서이 dll을 '추출'하는 방법이 있습니까? 이 어셈블리에 대한 자세한 내용을 알기 위해 할 수있는 일은 무엇입니까?

감사합니다. Conan.

+0

그런 어셈블리의 라이선스 기간이 코드를 리버스 엔지니어링하는 권한을 부여한다고 생각하지 않습니다. 따라서 그러한 토론은 부적절 할 수 있습니다. –

+0

귀하의 우려를 이해합니다. 그러나 전체 소스 코드가없는 재무 데이터 및 레거시 시스템을 사용하는 경우이 작업이 유일한 옵션입니다. 나는이 프로젝트의 모든 세부 사항을 밝힐 수는 없지만, 한 회사가 인수되었고 많은 비즈니스 정보와 프로세스가 문서화되지 않았다고 상상해보십시오. 그리고 우리는 모든 시스템을 규정 및 준수에 대한 확인을 할 수있는 일정을 마련했습니다. –

답변

0

코드 크래커가 Megadumper라고 부르는 도구가 있습니다 ... 메모리 덤핑 도구입니다. 당신은 단순히 프로그램을 실행하고 메가 덤퍼에서 프로세스를 마우스 오른쪽 버튼으로 클릭하고 .net 덤프를 선택하십시오. 프로세스가 사용중인 모든 파일은 프로세스가 시작된 덤프 폴더의 메모리에서 덤프됩니다. Mega Dumper를 관리자 권한으로 실행하십시오.

+0

감사합니다. 이 도구는 정말 훌륭합니다. 내가 탐험해야 할 .net 자원 중 일부를 덤프 수 있습니다. 그러나 불행히도, 모든 것이 아닙니다. 가장 중요한 어셈블리는 여전히 JustDecompile이 내부에서 찾을 수없는 수준에서 난독 화됩니다. –

0

de4dot를 통해 난독 화 파일을 실행하십시오. 그런 다음 dnspy에서 정리 된 파일을 엽니 다. 그런 다음 난독 화 소스 코드를 훨씬 더 잘 볼 수 있습니다.

+0

@Lex Li 그렇다면 공급 업체가 백도어를 코드에 넣었을 때 알려주지 않는다면 괜찮습니까? 보안 취약성을 검사하기 위해 코드를 감사하는 것은 어셈블리가 내부에 머물러있는 한 완벽하게 합법적입니다. 이제 OP가 소스를 복사하여 자신의 제품 아래 배포하려는 경우 OP는 불법입니다. – user8555433

+0

다시 한번 몇 가지 사항에 대해 올바르지 않습니다. Windows 및 Mac OS는 기본 코드입니다. OP가 deobfuscate하려고하는 코드는 훨씬 쉽게 .net 코드입니다. De4dot은 목록에없는 많은 obfuscator를 deobfuscate하는 일반적인 deobfuscation 도구입니다. 추측하는 대신 사용하려고하면 내가 참조하는 것을 볼 수 있습니다. – user8555433