반응형
특정 프로그램이 지원하는 파일 확장자 알아보기 in windows 10
일단 퍼징할 프로그램으로 IrfanView를 선택했는데, 타겟 함수를 정하기 위해 우선 IrfanView가 지원하는 파일 확장자를 알아보기로 했다.
검색해보니 대충 레지스트리를 살펴서 특정 확장자에 대해 어떤 어플리케이션으로 열지 지정하기 위한 레지스트리 키와 데이터는 알 수 있었다. 다음 세 가지 경로 아래에 각 확장자 이름으로 나누는 것을 확인할 수 있었다.
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER\Software\Classes
HKEY_LOCAL_MACHINE\Software\Classes
그러나 내가 알고 싶은 것과는 조금 방향이 달라서 조금 삽질하다가 다음 두 가지의 방법을 찾아냈다.
Solution 1
제어판
-> 기본 앱
-> 앱별 기본값 설정
-> 앱 선택 후 관리
해당 앱이 지원하는 파일 확장자를 확인할 수 있다.
Solution 2
레지스트리에서 그냥 파일 이름으로 검색하다가 찾았다.
컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications
에서 해당 프로그램을 찾아 키 값을 읽어 파일 확장자가 저장된 경로를 알아낸다.
나의 경우 IrfanView의 경로가 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\IrfanView\Capabilities\FileAssociations
로 나온다.
해당 키를 살펴보면 프로그램이 지원하는 프로그램 확장자에 대한 정보를 모두 갖고 있다.
reg query
를 통해 값을 가져오면 다음과 같다.
D:\>reg query HKEY_LOCAL_MACHINE\SOFTWARE\IrfanView\Capabilities\FileAssociations
HKEY_LOCAL_MACHINE\SOFTWARE\IrfanView\Capabilities\FileAssociations
.ani REG_SZ IrfanView.ani
.b3d REG_SZ IrfanView.b3d
.bmp REG_SZ IrfanView.bmp
.dib REG_SZ IrfanView.bmp
.clp REG_SZ IrfanView.clp
.crw REG_SZ IrfanView.crw
.cr2 REG_SZ IrfanView.cr2
.cr3 REG_SZ IrfanView.cr3
.cur REG_SZ IrfanView.cur
.dcm REG_SZ IrfanView.dcm
.acr REG_SZ IrfanView.dcm
.ima REG_SZ IrfanView.dcm
.dcx REG_SZ IrfanView.dcx
.dds REG_SZ IrfanView.dds
.djvu REG_SZ IrfanView.djvu
.iw44 REG_SZ IrfanView.djvu
.dxf REG_SZ IrfanView.dxf
.ecw REG_SZ IrfanView.ecw
.emf REG_SZ IrfanView.emf
.eps REG_SZ IrfanView.eps
.ps REG_SZ IrfanView.eps
.exr REG_SZ IrfanView.exr
.g3 REG_SZ IrfanView.g3
.gif REG_SZ IrfanView.gif
.hdp REG_SZ IrfanView.hdp
.jxr REG_SZ IrfanView.hdp
.wdp REG_SZ IrfanView.hdp
.heic REG_SZ IrfanView.heic
.ico REG_SZ IrfanView.ico
.iff REG_SZ IrfanView.iff
.lbm REG_SZ IrfanView.iff
.jls REG_SZ IrfanView.jls
.jp2 REG_SZ IrfanView.jp2
.jpc REG_SZ IrfanView.jp2
.j2k REG_SZ IrfanView.jp2
.jpg REG_SZ IrfanView.jpg
.jpeg REG_SZ IrfanView.jpg
.jpe REG_SZ IrfanView.jpg
.jpm REG_SZ IrfanView.jpm
.mng REG_SZ IrfanView.mng
.jng REG_SZ IrfanView.jng
.pbm REG_SZ IrfanView.pbm
.pcd REG_SZ IrfanView.pcd
.pcx REG_SZ IrfanView.pcx
.pgm REG_SZ IrfanView.pgm
.png REG_SZ IrfanView.png
.ppm REG_SZ IrfanView.ppm
.psd REG_SZ IrfanView.psd
.psp REG_SZ IrfanView.psp
.ras REG_SZ IrfanView.ras
.sun REG_SZ IrfanView.ras
.raw REG_SZ IrfanView.raw
.rle REG_SZ IrfanView.rle
.sff REG_SZ IrfanView.sff
.sgi REG_SZ IrfanView.sgi
.rgb REG_SZ IrfanView.sgi
.sid REG_SZ IrfanView.sid
.tga REG_SZ IrfanView.tga
.tif REG_SZ IrfanView.tif
.tiff REG_SZ IrfanView.tif
.wbmp REG_SZ IrfanView.wbmp
.webp REG_SZ IrfanView.webp
.wmf REG_SZ IrfanView.wmf
.xbm REG_SZ IrfanView.xbm
.xpm REG_SZ IrfanView.xpm
.swf REG_SZ IrfanView.swf
.flv REG_SZ IrfanView.flv
.ttf REG_SZ IrfanView.ttf
.asf REG_SZ IrfanView.asf
.avi REG_SZ IrfanView.avi
.mpg REG_SZ IrfanView.mpg
.mpe REG_SZ IrfanView.mpe
.mpeg REG_SZ IrfanView.mpg
.mov REG_SZ IrfanView.mov
.wmv REG_SZ IrfanView.wmv
.aif REG_SZ IrfanView.aif
.mid REG_SZ IrfanView.mid
.rmi REG_SZ IrfanView.rmi
.mp3 REG_SZ IrfanView.mp3
.ogg REG_SZ IrfanView.ogg
.au REG_SZ IrfanView.au
.snd REG_SZ IrfanView.au
.wav REG_SZ IrfanView.wav
.wma REG_SZ IrfanView.wma
Reference
내가씀
반응형
'Information* > 알면도움됨' 카테고리의 다른 글
프로세스 종료 확인 shell script (0) | 2021.12.11 |
---|---|
How to break out of multiple loops in python? (0) | 2021.10.21 |
Index를 unsigned 변수로 사용 시 주의할 점 (0) | 2021.09.28 |
CMakeLists.txt 로 Visual Studio Code Debugging 하기 (0) | 2021.08.04 |
멀티 코어와 게임 성능 간의 상관 관계 (0) | 2021.01.22 |