Skip to content

Commit 650d1df

Browse files
committed
Adds installer + fixes bugs when running on secondary computer
1 parent 304b1a2 commit 650d1df

23 files changed

Lines changed: 9636 additions & 34 deletions

AltInstaller/AltInstaller.vdproj

Lines changed: 1329 additions & 0 deletions
Large diffs are not rendered by default.

AltServer.sln

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,76 +15,117 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AltSign", "AltSign\AltSign.
1515
EndProject
1616
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ldid", "ldid\ldid.vcxproj", "{147D42DB-4B88-4B3F-8548-6E11FB51C589}"
1717
EndProject
18+
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "AltInstaller", "AltInstaller\AltInstaller.vdproj", "{2C018865-912E-4D5E-8B13-925E4DAD15D0}"
19+
EndProject
1820
Global
1921
GlobalSection(SolutionConfigurationPlatforms) = preSolution
22+
Debug|Any CPU = Debug|Any CPU
2023
Debug|ARM = Debug|ARM
24+
Debug|ARM64 = Debug|ARM64
2125
Debug|x64 = Debug|x64
2226
Debug|x86 = Debug|x86
27+
Release|Any CPU = Release|Any CPU
2328
Release|ARM = Release|ARM
29+
Release|ARM64 = Release|ARM64
2430
Release|x64 = Release|x64
2531
Release|x86 = Release|x86
2632
EndGlobalSection
2733
GlobalSection(ProjectConfigurationPlatforms) = postSolution
34+
{469259AB-0F25-4B5E-B15C-591001FB9448}.Debug|Any CPU.ActiveCfg = Debug|Win32
2835
{469259AB-0F25-4B5E-B15C-591001FB9448}.Debug|ARM.ActiveCfg = Debug|Win32
36+
{469259AB-0F25-4B5E-B15C-591001FB9448}.Debug|ARM64.ActiveCfg = Debug|Win32
2937
{469259AB-0F25-4B5E-B15C-591001FB9448}.Debug|x64.ActiveCfg = Debug|x64
3038
{469259AB-0F25-4B5E-B15C-591001FB9448}.Debug|x64.Build.0 = Debug|x64
3139
{469259AB-0F25-4B5E-B15C-591001FB9448}.Debug|x86.ActiveCfg = Debug|Win32
3240
{469259AB-0F25-4B5E-B15C-591001FB9448}.Debug|x86.Build.0 = Debug|Win32
41+
{469259AB-0F25-4B5E-B15C-591001FB9448}.Release|Any CPU.ActiveCfg = Release|Win32
3342
{469259AB-0F25-4B5E-B15C-591001FB9448}.Release|ARM.ActiveCfg = Release|Win32
43+
{469259AB-0F25-4B5E-B15C-591001FB9448}.Release|ARM64.ActiveCfg = Release|Win32
3444
{469259AB-0F25-4B5E-B15C-591001FB9448}.Release|x64.ActiveCfg = Release|x64
3545
{469259AB-0F25-4B5E-B15C-591001FB9448}.Release|x64.Build.0 = Release|x64
3646
{469259AB-0F25-4B5E-B15C-591001FB9448}.Release|x86.ActiveCfg = Release|Win32
3747
{469259AB-0F25-4B5E-B15C-591001FB9448}.Release|x86.Build.0 = Release|Win32
48+
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Debug|Any CPU.ActiveCfg = Debug|Win32
3849
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Debug|ARM.ActiveCfg = Debug|Win32
50+
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Debug|ARM64.ActiveCfg = Debug|Win32
3951
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Debug|x64.ActiveCfg = Debug|x64
4052
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Debug|x64.Build.0 = Debug|x64
4153
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Debug|x86.ActiveCfg = Debug|Win32
4254
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Debug|x86.Build.0 = Debug|Win32
55+
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Release|Any CPU.ActiveCfg = Release|Win32
4356
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Release|ARM.ActiveCfg = Release|Win32
57+
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Release|ARM64.ActiveCfg = Release|Win32
4458
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Release|x64.ActiveCfg = Release|x64
4559
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Release|x64.Build.0 = Release|x64
4660
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Release|x86.ActiveCfg = Release|Win32
4761
{75352A45-BCB8-4774-8C66-3AF9EA6B6B42}.Release|x86.Build.0 = Release|Win32
62+
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Debug|Any CPU.ActiveCfg = Debug|Win32
4863
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Debug|ARM.ActiveCfg = Debug|Win32
64+
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Debug|ARM64.ActiveCfg = Debug|Win32
4965
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Debug|x64.ActiveCfg = Debug|x64
5066
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Debug|x64.Build.0 = Debug|x64
5167
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Debug|x86.ActiveCfg = Debug|Win32
5268
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Debug|x86.Build.0 = Debug|Win32
69+
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Release|Any CPU.ActiveCfg = Release|Win32
5370
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Release|ARM.ActiveCfg = Release|Win32
71+
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Release|ARM64.ActiveCfg = Release|Win32
5472
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Release|x64.ActiveCfg = Release|x64
5573
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Release|x64.Build.0 = Release|x64
5674
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Release|x86.ActiveCfg = Release|Win32
5775
{527AE686-CD0E-4BC2-9B0F-4BC4CF9621E0}.Release|x86.Build.0 = Release|Win32
76+
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Debug|Any CPU.ActiveCfg = Debug|Win32
5877
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Debug|ARM.ActiveCfg = Debug|Win32
78+
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Debug|ARM64.ActiveCfg = Debug|Win32
5979
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Debug|x64.ActiveCfg = Debug|x64
6080
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Debug|x64.Build.0 = Debug|x64
6181
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Debug|x86.ActiveCfg = Debug|Win32
6282
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Debug|x86.Build.0 = Debug|Win32
83+
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Release|Any CPU.ActiveCfg = Release|Win32
6384
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Release|ARM.ActiveCfg = Release|Win32
85+
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Release|ARM64.ActiveCfg = Release|Win32
6486
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Release|x64.ActiveCfg = Release|x64
6587
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Release|x64.Build.0 = Release|x64
6688
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Release|x86.ActiveCfg = Release|Win32
6789
{EE16E7F2-AC27-4E30-AB22-B02A9C2380B4}.Release|x86.Build.0 = Release|Win32
90+
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Debug|Any CPU.ActiveCfg = Debug|Win32
6891
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Debug|ARM.ActiveCfg = Debug|Win32
92+
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Debug|ARM64.ActiveCfg = Debug|Win32
6993
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Debug|x64.ActiveCfg = Debug|x64
7094
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Debug|x64.Build.0 = Debug|x64
7195
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Debug|x86.ActiveCfg = Debug|Win32
7296
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Debug|x86.Build.0 = Debug|Win32
97+
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Release|Any CPU.ActiveCfg = Release|Win32
7398
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Release|ARM.ActiveCfg = Release|Win32
99+
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Release|ARM64.ActiveCfg = Release|Win32
74100
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Release|x64.ActiveCfg = Release|x64
75101
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Release|x64.Build.0 = Release|x64
76102
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Release|x86.ActiveCfg = Release|Win32
77103
{3DD5EA43-D078-46FE-B5C2-BB6213F936CD}.Release|x86.Build.0 = Release|Win32
104+
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Debug|Any CPU.ActiveCfg = Debug|Win32
78105
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Debug|ARM.ActiveCfg = Debug|Win32
106+
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Debug|ARM64.ActiveCfg = Debug|Win32
79107
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Debug|x64.ActiveCfg = Debug|x64
80108
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Debug|x64.Build.0 = Debug|x64
81109
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Debug|x86.ActiveCfg = Debug|Win32
82110
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Debug|x86.Build.0 = Debug|Win32
111+
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Release|Any CPU.ActiveCfg = Release|Win32
83112
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Release|ARM.ActiveCfg = Release|Win32
113+
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Release|ARM64.ActiveCfg = Release|Win32
84114
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Release|x64.ActiveCfg = Release|x64
85115
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Release|x64.Build.0 = Release|x64
86116
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Release|x86.ActiveCfg = Release|Win32
87117
{147D42DB-4B88-4B3F-8548-6E11FB51C589}.Release|x86.Build.0 = Release|Win32
118+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Debug|Any CPU.ActiveCfg = Debug
119+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Debug|ARM.ActiveCfg = Debug
120+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Debug|ARM64.ActiveCfg = Debug
121+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Debug|x64.ActiveCfg = Debug
122+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Debug|x86.ActiveCfg = Debug
123+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Debug|x86.Build.0 = Debug
124+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Release|Any CPU.ActiveCfg = Release
125+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Release|ARM.ActiveCfg = Release
126+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Release|ARM64.ActiveCfg = Release
127+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Release|x64.ActiveCfg = Release
128+
{2C018865-912E-4D5E-8B13-925E4DAD15D0}.Release|x86.ActiveCfg = Release
88129
EndGlobalSection
89130
GlobalSection(SolutionProperties) = preSolution
90131
HideSolutionNode = FALSE

AltServer/AltServer.vcxproj

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@
9595
<Link>
9696
<SubSystem>Windows</SubSystem>
9797
<GenerateDebugInformation>true</GenerateDebugInformation>
98-
<AdditionalDependencies>Ws2_32.lib;dnssd.lib;plist.lib;regex.lib;%(AdditionalDependencies)</AdditionalDependencies>
99-
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;C:\Program Files\Bonjour SDK\Lib\Win32;C:\Users\User\Documents\vcpkg\packages\cpprestsdk_x86-windows\lib;$(SolutionDir)AltSign\Dependencies\regex\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
98+
<AdditionalDependencies>Ws2_32.lib;dnssd.lib;plist.lib;regex.lib;ldid.lib;%(AdditionalDependencies)</AdditionalDependencies>
99+
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;C:\Program Files\Bonjour SDK\Lib\Win32;C:\Users\User\Documents\vcpkg\packages\cpprestsdk_x86-windows\lib;$(SolutionDir)AltSign\Dependencies\regex\lib;$(SolutionDir)$(Configuration)\;$(SolutionDir)Dependencies\Libraries;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
100100
</Link>
101101
<Manifest>
102102
<EnableDpiAwareness>true</EnableDpiAwareness>
@@ -115,8 +115,8 @@
115115
<Link>
116116
<SubSystem>Windows</SubSystem>
117117
<GenerateDebugInformation>true</GenerateDebugInformation>
118-
<AdditionalDependencies>Ws2_32.lib;dnssd.lib;plist.lib;regex.lib;%(AdditionalDependencies)</AdditionalDependencies>
119-
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;C:\Program Files\Bonjour SDK\Lib\Win32;C:\Users\User\Documents\vcpkg\packages\cpprestsdk_x86-windows\lib;$(SolutionDir)AltSign\Dependencies\regex\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
118+
<AdditionalDependencies>Ws2_32.lib;dnssd.lib;plist.lib;regex.lib;ldid.lib;%(AdditionalDependencies)</AdditionalDependencies>
119+
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;C:\Program Files\Bonjour SDK\Lib\Win32;C:\Users\User\Documents\vcpkg\packages\cpprestsdk_x86-windows\lib;$(SolutionDir)AltSign\Dependencies\regex\lib;$(SolutionDir)$(Configuration)\;$(SolutionDir)Dependencies\Libraries;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
120120
</Link>
121121
<Manifest>
122122
<EnableDpiAwareness>true</EnableDpiAwareness>
@@ -129,15 +129,22 @@
129129
<FunctionLevelLinking>true</FunctionLevelLinking>
130130
<IntrinsicFunctions>true</IntrinsicFunctions>
131131
<SDLCheck>true</SDLCheck>
132-
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
132+
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
133133
<ConformanceMode>true</ConformanceMode>
134+
<LanguageStandard>stdcpp17</LanguageStandard>
135+
<AdditionalIncludeDirectories>$(ProjectDir)..\AltSign;$(ProjectDir)..\Dependencies\libimobiledevice-vs\libplist\include;$(ProjectDir)..\Dependencies\libimobiledevice-vs\libimobiledevice\include;"C:\Program Files\Bonjour SDK\Include";%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
134136
</ClCompile>
135137
<Link>
136138
<SubSystem>Windows</SubSystem>
137139
<EnableCOMDATFolding>true</EnableCOMDATFolding>
138140
<OptimizeReferences>true</OptimizeReferences>
139141
<GenerateDebugInformation>true</GenerateDebugInformation>
142+
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;C:\Program Files\Bonjour SDK\Lib\Win32;C:\Users\User\Documents\vcpkg\packages\cpprestsdk_x86-windows\lib;$(SolutionDir)AltSign\Dependencies\regex\lib;$(SolutionDir)$(Configuration)\;$(SolutionDir)Dependencies\Libraries;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
143+
<AdditionalDependencies>Ws2_32.lib;dnssd.lib;plist.lib;regex.lib;ldid.lib;%(AdditionalDependencies)</AdditionalDependencies>
140144
</Link>
145+
<Manifest>
146+
<EnableDpiAwareness>true</EnableDpiAwareness>
147+
</Manifest>
141148
</ItemDefinitionGroup>
142149
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
143150
<ClCompile>
@@ -148,12 +155,16 @@
148155
<SDLCheck>true</SDLCheck>
149156
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
150157
<ConformanceMode>true</ConformanceMode>
158+
<LanguageStandard>stdcpp17</LanguageStandard>
159+
<AdditionalIncludeDirectories>$(ProjectDir)..\AltSign;$(ProjectDir)..\Dependencies\libimobiledevice-vs\libplist\include;$(ProjectDir)..\Dependencies\libimobiledevice-vs\libimobiledevice\include;"C:\Program Files\Bonjour SDK\Include";%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
151160
</ClCompile>
152161
<Link>
153162
<SubSystem>Windows</SubSystem>
154163
<EnableCOMDATFolding>true</EnableCOMDATFolding>
155164
<OptimizeReferences>true</OptimizeReferences>
156165
<GenerateDebugInformation>true</GenerateDebugInformation>
166+
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;C:\Program Files\Bonjour SDK\Lib\Win32;C:\Users\User\Documents\vcpkg\packages\cpprestsdk_x86-windows\lib;$(SolutionDir)AltSign\Dependencies\regex\lib;$(SolutionDir)$(Configuration)\;$(SolutionDir)Dependencies\Libraries;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
167+
<AdditionalDependencies>Ws2_32.lib;dnssd.lib;plist.lib;regex.lib;ldid.lib;%(AdditionalDependencies)</AdditionalDependencies>
157168
</Link>
158169
</ItemDefinitionGroup>
159170
<ItemGroup>

AltServer/AltServerApp.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@ HKEY OpenRegistryKey()
7070

7171
void SetRegistryBoolValue(const char *lpValue, bool data)
7272
{
73+
int32_t value = data ? 1 : 0;
74+
7375
HKEY rootKey = OpenRegistryKey();
74-
LONG nError = RegSetValueExA(rootKey, lpValue, NULL, REG_DWORD, (LPBYTE)& data, sizeof(DWORD));
76+
LONG nError = RegSetValueExA(rootKey, lpValue, NULL, REG_DWORD, (BYTE *)&value, sizeof(int32_t));
7577

7678
if (nError)
7779
{
@@ -98,10 +100,10 @@ bool GetRegistryBoolValue(const char *lpValue)
98100
{
99101
HKEY rootKey = OpenRegistryKey();
100102

101-
DWORD data;
102-
DWORD size = sizeof(data);
103+
int32_t data;
104+
DWORD size = sizeof(int32_t);
103105
DWORD type = REG_DWORD;
104-
LONG nError = RegQueryValueExA(rootKey, lpValue, NULL, &type, (LPBYTE)& data, &size);
106+
LONG nError = RegQueryValueExA(rootKey, lpValue, NULL, &type, (BYTE *)& data, &size);
105107

106108
if (nError == ERROR_FILE_NOT_FOUND)
107109
{

AltServer/DeviceManager.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,13 @@ pplx::task<void> DeviceManager::InstallApp(std::string appFilepath, std::string
434434

435435
throw error;
436436
}
437+
catch (Error& error)
438+
{
439+
// Specifically catch Error to preserve type information when we re-throw.
440+
finish(device, client, ipc, afc, mis, service);
441+
442+
throw error;
443+
}
437444
catch (std::exception& exception)
438445
{
439446
// MUST finish so we restore provisioning profiles.

AltServer/Resource.aps

-672 Bytes
Binary file not shown.

AltSign/AltSign.vcxproj

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,17 @@
164164
</ItemDefinitionGroup>
165165
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
166166
<ClCompile>
167-
<PrecompiledHeader>Use</PrecompiledHeader>
167+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
168168
<WarningLevel>Level3</WarningLevel>
169169
<Optimization>MaxSpeed</Optimization>
170170
<FunctionLevelLinking>true</FunctionLevelLinking>
171171
<IntrinsicFunctions>true</IntrinsicFunctions>
172172
<SDLCheck>true</SDLCheck>
173-
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
173+
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
174174
<ConformanceMode>true</ConformanceMode>
175175
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
176+
<AdditionalIncludeDirectories>$(ProjectDir)..\Dependencies\libimobiledevice-vs\libplist\include;$(ProjectDir)Dependencies\minizip;$(ProjectDir)..\ldid;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
177+
<LanguageStandard>stdcpp17</LanguageStandard>
176178
</ClCompile>
177179
<Link>
178180
<SubSystem>Windows</SubSystem>
@@ -183,7 +185,7 @@
183185
</ItemDefinitionGroup>
184186
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
185187
<ClCompile>
186-
<PrecompiledHeader>Use</PrecompiledHeader>
188+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
187189
<WarningLevel>Level3</WarningLevel>
188190
<Optimization>MaxSpeed</Optimization>
189191
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -192,6 +194,8 @@
192194
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
193195
<ConformanceMode>true</ConformanceMode>
194196
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
197+
<AdditionalIncludeDirectories>$(ProjectDir)..\Dependencies\libimobiledevice-vs\libplist\include;$(ProjectDir)Dependencies\minizip;$(ProjectDir)..\ldid;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
198+
<LanguageStandard>stdcpp17</LanguageStandard>
195199
</ClCompile>
196200
<Link>
197201
<SubSystem>Windows</SubSystem>

AltSign/Signer.cpp

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,14 @@ extern std::string make_uuid();
3232

3333
std::string CertificatesContent(std::shared_ptr<Certificate> altCertificate)
3434
{
35-
fs::path pemPath = "C:\\Users\\User\\Desktop\\apple.pem";
35+
char executableCPath[MAX_PATH + 1];
36+
GetModuleFileNameA(NULL, executableCPath, MAX_PATH + 1);
37+
38+
fs::path executablePath(executableCPath);
39+
40+
fs::path pemPath = executablePath.parent_path();
41+
pemPath.append("apple.pem");
42+
3643
if (!fs::exists(pemPath))
3744
{
3845
throw SignError(SignErrorCode::MissingAppleRootCertificate);
@@ -196,9 +203,6 @@ void Signer::SignApp(std::string path, std::vector<std::shared_ptr<ProvisioningP
196203
ldid::fun([&](const double signingProgress) {
197204
odslog("Signing Progress: " << signingProgress);
198205
}));
199-
200-
// Wait for resigning to finish.
201-
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
202206

203207
// Zip app back up.
204208
if (ipaPath.has_value())
@@ -215,6 +219,19 @@ void Signer::SignApp(std::string path, std::vector<std::shared_ptr<ProvisioningP
215219

216220
return;
217221
}
222+
catch (Error& e)
223+
{
224+
// Catch type information
225+
226+
if (!ipaPath.has_value())
227+
{
228+
return;
229+
}
230+
231+
fs::remove(*ipaPath);
232+
233+
throw e;
234+
}
218235
catch (std::exception& e)
219236
{
220237
if (!ipaPath.has_value())
2.39 MB
Binary file not shown.

0 commit comments

Comments
 (0)