Skip to content

Commit b79c33f

Browse files
committed
Downloads + Installs AltStore to devices with Apple ID
1 parent d805bc1 commit b79c33f

20 files changed

Lines changed: 673 additions & 141 deletions

AltServer/AltServer.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,21 @@
2626

2727
// AltSign
2828
#include "DeviceManager.hpp"
29+
#include "Error.hpp"
2930

3031
#include "AltServerApp.h"
3132

33+
#include <pplx/pplxtasks.h>
34+
3235
#pragma comment(linker,"\"/manifestdependency:type='win32' \
3336
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
3437
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
3538

39+
extern std::string StringFromWideString(std::wstring wideString);
40+
extern std::wstring WideStringFromString(std::string string);
41+
42+
#define odslog(msg) { std::stringstream ss; ss << msg << std::endl; OutputDebugStringA(ss.str().c_str()); }
43+
3644
std::string make_uuid()
3745
{
3846
GUID guid;
@@ -270,6 +278,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
270278
case WM_LBUTTONUP:
271279
{
272280
HMENU installMenu = CreatePopupMenu();
281+
282+
auto devices = DeviceManager::instance()->connectedDevices();
283+
273284
//AppendMenu(installMenu, MF_STRING | MF_GRAYED, 201, L"No Connected Devices");
274285
AppendMenu(installMenu, MF_STRING, 202, L"Riley's iPhone X");
275286

@@ -400,14 +411,36 @@ BOOL CALLBACK LoginDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam
400411
switch (LOWORD(wParam))
401412
{
402413
case IDOK:
414+
{
403415
wchar_t appleID[512];
404416
wchar_t password[512];
405417

406418
Edit_GetText(appleIDTextField, appleID, 512);
407419
Edit_GetText(passwordTextField, password, 512);
408420

421+
auto devices = DeviceManager::instance()->connectedDevices();
422+
423+
auto task = AltServerApp::instance()->InstallAltStore(devices[0], StringFromWideString(appleID), StringFromWideString(password));
424+
409425
EndDialog(hwnd, IDOK);
426+
427+
try
428+
{
429+
task.get();
430+
}
431+
catch (Error& error)
432+
{
433+
odslog("Error: " << error.domain() << " (" << error.code() << ").")
434+
}
435+
catch (std::exception& exception)
436+
{
437+
odslog("Exception: " << exception.what());
438+
}
439+
440+
odslog("Finished!");
441+
410442
break;
443+
}
411444

412445
case IDCANCEL:
413446
EndDialog(hwnd, IDCANCEL);

AltServer/AltServer.vcxproj

Lines changed: 8 additions & 4 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;%(AdditionalDependencies)</AdditionalDependencies>
99-
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;"C:\Program Files\Bonjour SDK\Lib\Win32";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
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>
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;%(AdditionalDependencies)</AdditionalDependencies>
119-
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;"C:\Program Files\Bonjour SDK\Lib\Win32";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
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>
120120
</Link>
121121
<Manifest>
122122
<EnableDpiAwareness>true</EnableDpiAwareness>
@@ -168,6 +168,7 @@
168168
<ClInclude Include="Connection.hpp" />
169169
<ClInclude Include="ConnectionManager.hpp" />
170170
<ClInclude Include="DeviceManager.hpp" />
171+
<ClInclude Include="InstallError.hpp" />
171172
<ClInclude Include="resource.h" />
172173
<ClInclude Include="ServerError.hpp" />
173174
</ItemGroup>
@@ -190,6 +191,9 @@
190191
<ProjectReference Include="..\Dependencies\libimobiledevice-vs\libusbmuxd.vcxproj">
191192
<Project>{527ae686-cd0e-4bc2-9b0f-4bc4cf9621e0}</Project>
192193
</ProjectReference>
194+
<ProjectReference Include="..\ldid\ldid.vcxproj">
195+
<Project>{147d42db-4b88-4b3f-8548-6e11fb51c589}</Project>
196+
</ProjectReference>
193197
</ItemGroup>
194198
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
195199
<ImportGroup Label="ExtensionTargets">

AltServer/AltServer.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@
5050
<ClInclude Include="ConnectionManager.hpp">
5151
<Filter>Header Files</Filter>
5252
</ClInclude>
53+
<ClInclude Include="InstallError.hpp">
54+
<Filter>Header Files</Filter>
55+
</ClInclude>
5356
</ItemGroup>
5457
<ItemGroup>
5558
<ResourceCompile Include="Resource.rc">

0 commit comments

Comments
 (0)