Commit 04828df0 authored by longpanda's avatar longpanda
Browse files

1. When click install button, if the USB stick already installed with Ventoy,...

1. When click install button, if the USB stick already installed with Ventoy, then popup a dialog to require a YES text input to confirm.
2. Prevent DLL search order hijacking
parent 2f95139c
...@@ -26,7 +26,7 @@ sfs: fshelp ...@@ -26,7 +26,7 @@ sfs: fshelp
reiserfs: fshelp reiserfs: fshelp
part_sunpc: part_sunpc:
zstd: zstd:
gfxmenu: trig video_colors gfxterm bitmap_scale font normal video bitmap gfxmenu: video_colors trig gfxterm bitmap_scale font normal video bitmap
backtrace: backtrace:
jfs: jfs:
help: extcmd normal help: extcmd normal
...@@ -227,6 +227,7 @@ gcry_sha256: crypto ...@@ -227,6 +227,7 @@ gcry_sha256: crypto
ls: extcmd normal ls: extcmd normal
usbserial_common: serial usb usbserial_common: serial usb
ntfscomp: ntfs ntfscomp: ntfs
mouse:
lzopio: crypto lzopio: crypto
video_cirrus: video video_fb video_cirrus: video video_fb
hello: extcmd hello: extcmd
......
iat_keyboard: at_keyboard iat_keyboard: at_keyboard
imouse: mouse
iserial: serial iserial: serial
iserial_*: serial iserial_*: serial
oaudio: morse oaudio: morse
......
This diff is collapsed.
...@@ -83,6 +83,9 @@ typedef enum STR_ID ...@@ -83,6 +83,9 @@ typedef enum STR_ID
STR_PART_RESIZE_FAILED,//46 STR_PART_RESIZE_FAILED,//46
STR_PART_RESIZE_UNSUPPORTED,//47 STR_PART_RESIZE_UNSUPPORTED,//47
STR_INSTALL_YES_TIP1,//48
STR_INSTALL_YES_TIP2,//49
STR_ID_MAX STR_ID_MAX
}STR_ID; }STR_ID;
......
...@@ -28,6 +28,7 @@ DWORD g_PhyDriveCount = 0; ...@@ -28,6 +28,7 @@ DWORD g_PhyDriveCount = 0;
static int g_FilterRemovable = 0; static int g_FilterRemovable = 0;
int g_FilterUSB = 1; int g_FilterUSB = 1;
int g_ForceOperation = 1; int g_ForceOperation = 1;
int g_NoNeedInputYes = 0;
int g_WriteImage = 0; int g_WriteImage = 0;
int ParseCmdLineOption(LPSTR lpCmdLine) int ParseCmdLineOption(LPSTR lpCmdLine)
...@@ -51,6 +52,10 @@ int ParseCmdLineOption(LPSTR lpCmdLine) ...@@ -51,6 +52,10 @@ int ParseCmdLineOption(LPSTR lpCmdLine)
{ {
g_ForceOperation = 1; g_ForceOperation = 1;
} }
else if (strncmp(__argv[i], "-Y", 2) == 0 || strncmp(__argv[i], "-y", 2) == 0)
{
g_NoNeedInputYes = 1;
}
} }
GetCurrentDirectoryA(sizeof(cfgfile), cfgfile); GetCurrentDirectoryA(sizeof(cfgfile), cfgfile);
......
...@@ -201,6 +201,7 @@ typedef enum PROGRESS_POINT ...@@ -201,6 +201,7 @@ typedef enum PROGRESS_POINT
extern PHY_DRIVE_INFO *g_PhyDriveList; extern PHY_DRIVE_INFO *g_PhyDriveList;
extern DWORD g_PhyDriveCount; extern DWORD g_PhyDriveCount;
extern int g_ForceOperation; extern int g_ForceOperation;
extern int g_NoNeedInputYes;
extern HWND g_ProgressBarHwnd; extern HWND g_ProgressBarHwnd;
extern HFONT g_language_normal_font; extern HFONT g_language_normal_font;
extern HFONT g_language_bold_font; extern HFONT g_language_bold_font;
...@@ -246,6 +247,9 @@ int INIT unxz(unsigned char *in, int in_size, ...@@ -246,6 +247,9 @@ int INIT unxz(unsigned char *in, int in_size,
unsigned char *out, int *in_used, unsigned char *out, int *in_used,
void(*error)(char *x)); void(*error)(char *x));
void disk_io_set_param(HANDLE Handle, UINT64 SectorCount); void disk_io_set_param(HANDLE Handle, UINT64 SectorCount);
extern BOOL g_InputYes;
INT_PTR CALLBACK YesDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam);
INT_PTR CALLBACK PartDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK PartDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam);
int GetReservedSpaceInMB(void); int GetReservedSpaceInMB(void);
int IsPartNeed4KBAlign(void); int IsPartNeed4KBAlign(void);
......
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
...@@ -178,7 +178,8 @@ ...@@ -178,7 +178,8 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -197,7 +198,8 @@ ...@@ -197,7 +198,8 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -216,7 +218,8 @@ ...@@ -216,7 +218,8 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -235,7 +238,8 @@ ...@@ -235,7 +238,8 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -258,7 +262,8 @@ ...@@ -258,7 +262,8 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -281,7 +286,8 @@ ...@@ -281,7 +286,8 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -304,7 +310,8 @@ ...@@ -304,7 +310,8 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2DiskArm64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -327,7 +334,8 @@ ...@@ -327,7 +334,8 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<AdditionalDependencies>version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link> </Link>
<Manifest> <Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> <AdditionalManifestFiles>$(ProjectDir)\Res\Ventoy2Disk64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
...@@ -360,6 +368,7 @@ ...@@ -360,6 +368,7 @@
<ClCompile Include="VentoyJson.c" /> <ClCompile Include="VentoyJson.c" />
<ClCompile Include="WinDialog.c" /> <ClCompile Include="WinDialog.c" />
<ClCompile Include="xz-embedded-20130513\linux\lib\decompress_unxz.c" /> <ClCompile Include="xz-embedded-20130513\linux\lib\decompress_unxz.c" />
<ClCompile Include="YesDialog.c" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="DiskService.h" /> <ClInclude Include="DiskService.h" />
......
...@@ -93,6 +93,9 @@ ...@@ -93,6 +93,9 @@
<ClCompile Include="DiskService.c"> <ClCompile Include="DiskService.c">
<Filter>源文件</Filter> <Filter>源文件</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="YesDialog.c">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="Ventoy2Disk.h"> <ClInclude Include="Ventoy2Disk.h">
......
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
B/****************************************************************************** B/******************************************************************************
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment