여기C 또는 C++ : 로더/래퍼는 어떻게 작동합니까?
- 사용자가
- LOADER.EXE 다른 EXE가 다운로드 LOADER.EXE 프로그램을 실행하지만,
- 다운로드 한 실행 디스크에 저장하지 않고 메모리에있는 모든 유지 ... 무슨 뜻인지의 예 EXE는 디스크에서 실행되었지만 메모리에서 직접 수행하는 경우와 동일합니다.
이렇게 몇 가지 응용 프로그램을 보았지만 어떻게 작동하는지 예제 나 설명을 본 적이 없습니다.
아는 사람 있습니까?
또 다른 예는 암호화 된 EXE를 다른 예로 삽입 한 것입니다. 그것은 실행되기 전에 디스크에 저장되지 않고 메모리에서 추출되고 해독됩니다.
불법 복제를 방지하기 위해 일부 애플리케이션에서 사용되는 것을 보았습니다.
편집 : 참고 : UPX와 같은 프로그램이 이와 같은 작업을 수행합니까? 나는 코드를 보았지만 나를 위해 해독하기가 어렵다. 그리고 나는 주로 호기심에서 물었다. 나는 그것을 필요로하지 않는다.
와우, 그건 내가 생각했던 것보다 훨씬 복잡해 보인다. UPX에 대한 경험이 있습니까? 이런 식으로 작동합니까? (나는 포장업자에 대해 많이 모른다.) 필자는 다소 쉽게 이해할 수있는 몇 가지 소스 코드를 발견 할 수 있기를 희망했습니다. –
@ 기타 : 방금 코드를 살펴 보았습니다. 로더 스텁은 꽤 무거운 무거운 어셈블리이지만,이 경우 패커가 많은 양의 사전 처리를하는 것처럼 보이므로 스텁은 이미 정렬 된 파일을 메모리로 압축 해제 한 다음 가져 오기를 가져올 수 있습니다. 이것은 분명히 당신의 두 번째와 세 번째 예제에 충분하지 않습니다. http://upx.hg.sourceforge.net/hgweb/upx/upx/file/c3853d205747/src/pefile.cpp의 패커 항목은 더 가깝지만 다른 곳에서는 특별한 사례가 적다는 것을 확신합니다. –
이것은 상업적인 품질은 아니지만 좋은 시작처럼 보입니다. http://code.google.com/p/egodust/source/browse/trunk/pe.c –