SingleFileExtractor
1.0.0
맬웨어 분석과 같은 목적에 적합한 단일 파일 애플리케이션에서 디렉터리로 콘텐츠(어셈블리, 구성 등)를 추출하는 도구입니다.
이 도구를 사용하려면 전역 dotnet 도구로 설치하세요.
dotnet tool install -g sfextract
sfextract [file] -o|--output [directory]
파일 추출
sfextract Application.exe -o path/to/output/
파일 나열
출력 디렉터리를 생략하면 단일 파일 실행 파일의 모든 파일이 나열됩니다.
sfextract Application.exe
프로그래밍 방식으로 사용하려면 SingleFileExtractor.Core
NuGet 패키지를 설치하세요.
var reader = new ExecutableReader("application.exe");
진입점 어셈블리가 무엇인지 알고 싶으면 시작 정보를 읽어보세요.
var reader = new ExecutableReader("application.exe");varstartupInfo = reader.StartupInfo;
var reader = new ExecutableReader("application.exe");// 실행 파일이 단일 실행 파일인지 확인하고 추출할 수 있는지 확인var isSingleFile = reader.IsSingleFile;if (isSingleFile){// 특정 파일 항목 추출 reader.Manifest.Entries를 기다립니다. [0].ExtractToFileAsync("example.dll");// 또는 특정 파일 항목의 메모리 내 스트림 생성var stream = wait reader.Manifest.Entries[0].AsStreamAsync()// 모든 파일을 디렉터리로 추출await reader.ExtractToDirectoryAsync("path/to/output");}
var reader = new ExecutableReader("application.exe");await reader.Manifest.Entries[0].ExtractToFileAsync("example.dll");
var reader = new ExecutableReader("application.exe");var stream = wait reader.Manifest.Entries[0].AsStreamAsync()
제가 작업 중인 또 다른 응용 프로그램에서는 단일 파일의 내용을 추출해야 합니다. 사람들이 이 작업을 수행하는 방법을 요청하는 것을 보았기 때문에 이를 닷넷 도구와 NuGet 패키지로 전환하기로 결정했습니다.
GitHub: 단일 파일 애플리케이션 개발을 위한 dotnet/runtime.
MIT License Copyright (c) 2021 Joery Droppers (https://github.com/Droppers) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.