From 570a3a63b75ce1ae4eacac3dfc19da522b270947 Mon Sep 17 00:00:00 2001 From: Dadoum <24679280+Dadoum@users.noreply.github.com> Date: Sun, 7 Apr 2024 11:47:11 +0000 Subject: [PATCH 1/9] Fix #36 --- source/usbmuxd/c.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/usbmuxd/c.d b/source/usbmuxd/c.d index 69cc8f5..12b2a2d 100644 --- a/source/usbmuxd/c.d +++ b/source/usbmuxd/c.d @@ -32,7 +32,7 @@ version (Windows) { } else version (OSX) { enum libusbmuxd = LibImport("libusbmuxd-2.0.6.dylib"); } else { - enum libusbmuxd = LibImport("libusbmuxd-2.0.so.6", "libusbmuxd.so.2"); + enum libusbmuxd = LibImport("libusbmuxd-2.0.so.6", "libusbmuxd.so.2", "libusbmuxd-2.0.so"); } mixin makeBindings; From b525c2a3c75772695846d1f09a679661047f6027 Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 08:10:11 +0200 Subject: [PATCH 2/9] Getting Username & Password from Env --- frontends/cli/source/cli_frontend.d | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/frontends/cli/source/cli_frontend.d b/frontends/cli/source/cli_frontend.d index 5ee2779..46da283 100644 --- a/frontends/cli/source/cli_frontend.d +++ b/frontends/cli/source/cli_frontend.d @@ -109,17 +109,25 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { // ... if (account) return null; - if (!interactive) { + string appleId = environment("APPLE_ID"); + if(appleId is null && interactive) { + log.info("Please enter your account informations. They will only be sent to Apple servers."); + log.info("See it for yourself at https://github.com/Dadoum/Sideloader/"); + write("Apple ID: "); + appleId = readln().chomp(); + } + string password = environment("APPLE_PASSWORD"); + if(password is null && interactive) { + password = readPasswordLine("Password: "); + } + + if (appleId is null || password is null) { log.error("You are not logged in. (use `sidestore login` to log-in, or add `-i` to make us ask you the account)"); return null; } - log.info("Please enter your account informations. They will only be sent to Apple servers."); - log.info("See it for yourself at https://github.com/Dadoum/Sideloader/"); - - write("Apple ID: "); - string appleId = readln().chomp(); - string password = readPasswordLine("Password: "); + log.info('picked up apple id: ', appleId); + log.info('picked up password: ', password); return DeveloperSession.login( device, From 8262630e62f205802cf1814e3df418907c637074 Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 08:12:27 +0200 Subject: [PATCH 3/9] Temporarily removed unecessary builds --- .github/workflows/build-cli.yml | 462 ++++++++++++++++---------------- 1 file changed, 231 insertions(+), 231 deletions(-) diff --git a/.github/workflows/build-cli.yml b/.github/workflows/build-cli.yml index b9ce0ac..87963c7 100644 --- a/.github/workflows/build-cli.yml +++ b/.github/workflows/build-cli.yml @@ -6,75 +6,75 @@ env: BUILD_TYPE: Release jobs: - build-x86_64: - runs-on: ubuntu-20.04 + # build-x86_64: + # runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: recursive - - uses: dlang-community/setup-dlang@v1 - with: - compiler: ldc-1.33.0 + # - uses: dlang-community/setup-dlang@v1 + # with: + # compiler: ldc-1.33.0 - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils + # - name: Install dependencies + # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils - - name: Write version file - run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + # - name: Write version file + # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - name: Build - run: dub build -b release-debug --compiler=ldc2 :cli-frontend + # - name: Build + # run: dub build -b release-debug --compiler=ldc2 :cli-frontend - - name: Rename - run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" + # - name: Rename + # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" - - name: Put debug symbols in a separate file - run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" + # - name: Put debug symbols in a separate file + # run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" - - uses: actions/upload-artifact@v3 - with: - name: sideloader-cli-linux-x86_64 - path: | - ${{github.workspace}}/bin/sideloader-cli-linux-x86_64 - ${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg + # - uses: actions/upload-artifact@v3 + # with: + # name: sideloader-cli-linux-x86_64 + # path: | + # ${{github.workspace}}/bin/sideloader-cli-linux-x86_64 + # ${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg - build-i686: - # Does not work yet - if: false - runs-on: ubuntu-22.04 + # build-i686: + # # Does not work yet + # if: false + # runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: recursive - - uses: dlang-community/setup-dlang@v1 - with: - compiler: ldc-1.33.0 + # - uses: dlang-community/setup-dlang@v1 + # with: + # compiler: ldc-1.33.0 - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils gcc-i686-linux-gnu libc6-dev + # - name: Install dependencies + # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils gcc-i686-linux-gnu libc6-dev - - name: Write version file - run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + # - name: Write version file + # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - name: Build - run: dub build -b release-debug --compiler=ldc2 --arch i686-linux-gnu :cli-frontend + # - name: Build + # run: dub build -b release-debug --compiler=ldc2 --arch i686-linux-gnu :cli-frontend - - name: Rename - run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-i686" + # - name: Rename + # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-i686" - - name: Put debug symbols in a separate file - run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-i686" + # - name: Put debug symbols in a separate file + # run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-i686" - - uses: actions/upload-artifact@v3 - with: - name: sideloader-cli-linux-i686 - path: | - ${{github.workspace}}/bin/sideloader-cli-linux-i686 - ${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg + # - uses: actions/upload-artifact@v3 + # with: + # name: sideloader-cli-linux-i686 + # path: | + # ${{github.workspace}}/bin/sideloader-cli-linux-i686 + # ${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg build-aarch64: runs-on: ubuntu-20.04 @@ -131,182 +131,182 @@ jobs: ${{github.workspace}}/bin/sideloader-cli-linux-aarch64 ${{github.workspace}}/bin/sideloader-cli-linux-aarch64.dbg - build-macos-x86_64: - runs-on: ubuntu-22.04 - - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - - uses: dlang-community/setup-dlang@v1 - with: - compiler: ldc-1.33.0 - - - name: Set-up macOS cross-compilation - run: | - mkdir -p $HOME/.ldc/ - curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz - tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME - cat << EOF | tee $HOME/.ldc/ldc2.conf - "x86_64-apple-darwin": - { - // default switches injected before all explicit command-line switches - switches = [ - "-gcc=clang", - "-linker=lld", - "-Xcc=-target", - "-Xcc=x86_64-apple-darwin", - "-Xcc=-isysroot", - "-Xcc=$HOME/MacOSX11.0.sdk", - "-defaultlib=phobos2-ldc,druntime-ldc", - ]; - // default switches appended after all explicit command-line switches - post-switches = [ - "-I$HOME/ldc2-1.33.0-osx-x86_64/import", - ]; - // default directories to be searched for libraries when linking - lib-dirs = [ - "$HOME/ldc2-1.33.0-osx-x86_64/lib", - ]; - }; - EOF - mkdir $HOME/ldc-macos - curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-x86_64.tar.xz - tar -xf ./ldc2-1.33.0-osx-x86_64.tar.xz -C $HOME - - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld - - - name: Write version file - run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - - name: Build - run: dub build -b release-debug --compiler=ldc2 --arch x86_64-apple-darwin :cli-frontend - - - name: Rename - run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-x86_64" # TODO make an app bundle - - - uses: actions/upload-artifact@v3 - with: - name: sideloader-cli-macOS-x86_64 - path: | - ${{github.workspace}}/bin/sideloader-cli-macOS-x86_64 - - build-macos-arm64: - runs-on: ubuntu-22.04 - - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - - uses: dlang-community/setup-dlang@v1 - with: - compiler: ldc-1.33.0 - - - name: Set-up macOS cross-compilation - run: | - mkdir -p $HOME/.ldc/ - curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz - tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME - cat << EOF | tee $HOME/.ldc/ldc2.conf - "arm64-apple-macos": - { - // default switches injected before all explicit command-line switches - switches = [ - "-gcc=clang", - "-linker=lld", - "-Xcc=-target", - "-Xcc=arm64-apple-macos", - "-Xcc=-isysroot", - "-Xcc=$HOME/MacOSX11.0.sdk", - "-defaultlib=phobos2-ldc,druntime-ldc", - ]; - // default switches appended after all explicit command-line switches - post-switches = [ - "-I$HOME/ldc2-1.33.0-osx-arm64/import", - ]; - // default directories to be searched for libraries when linking - lib-dirs = [ - "$HOME/ldc2-1.33.0-osx-arm64/lib", - ]; - }; - EOF - mkdir $HOME/ldc-macos - curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-arm64.tar.xz - tar -xf ./ldc2-1.33.0-osx-arm64.tar.xz -C $HOME - - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld - - - name: Write version file - run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - - name: Build - run: dub build -b release-debug --compiler=ldc2 --arch arm64-apple-macos :cli-frontend - - - name: Rename - run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-arm64" # TODO make an app bundle - - - uses: actions/upload-artifact@v3 - with: - name: sideloader-cli-macOS-arm64 - path: | - ${{github.workspace}}/bin/sideloader-cli-macOS-arm64 - - build-windows-x86_64: - runs-on: ubuntu-22.04 - - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - - uses: dlang-community/setup-dlang@v1 - with: - compiler: ldc-1.35.0 - - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld 7zip - - - name: Set-up Windows cross-compilation - run: | - mkdir -p $HOME/.ldc/ - cat << EOF | tee $HOME/.ldc/ldc2.conf - "x86_64-.*-windows-msvc": - { - // default switches injected before all explicit command-line switches - switches = [ - "-defaultlib=phobos2-ldc,druntime-ldc", - ]; - // default switches appended after all explicit command-line switches - post-switches = [ - "-I$HOME/ldc2-1.35.0-windows-x64/import", - ]; - // default directories to be searched for libraries when linking - lib-dirs = [ - "$HOME/ldc2-1.35.0-windows-x64/lib", - ]; - }; - EOF - curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.35.0/ldc2-1.35.0-windows-x64.7z - 7z x ./ldc2-1.35.0-windows-x64.7z -o$HOME - - - name: Write version file - run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - - name: Build - run: dub build -b release-debug --compiler=ldc2 --arch x86_64-windows-msvc :cli-frontend - - - name: Rename - run: | - mv "${{github.workspace}}/bin/sideloader.exe" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe" - mv "${{github.workspace}}/bin/sideloader.pdb" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb" - - - uses: actions/upload-artifact@v3 - with: - name: sideloader-cli-windows-x86_64 - path: | - ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe - ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb + # build-macos-x86_64: + # runs-on: ubuntu-22.04 + + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: recursive + + # - uses: dlang-community/setup-dlang@v1 + # with: + # compiler: ldc-1.33.0 + + # - name: Set-up macOS cross-compilation + # run: | + # mkdir -p $HOME/.ldc/ + # curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz + # tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME + # cat << EOF | tee $HOME/.ldc/ldc2.conf + # "x86_64-apple-darwin": + # { + # // default switches injected before all explicit command-line switches + # switches = [ + # "-gcc=clang", + # "-linker=lld", + # "-Xcc=-target", + # "-Xcc=x86_64-apple-darwin", + # "-Xcc=-isysroot", + # "-Xcc=$HOME/MacOSX11.0.sdk", + # "-defaultlib=phobos2-ldc,druntime-ldc", + # ]; + # // default switches appended after all explicit command-line switches + # post-switches = [ + # "-I$HOME/ldc2-1.33.0-osx-x86_64/import", + # ]; + # // default directories to be searched for libraries when linking + # lib-dirs = [ + # "$HOME/ldc2-1.33.0-osx-x86_64/lib", + # ]; + # }; + # EOF + # mkdir $HOME/ldc-macos + # curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-x86_64.tar.xz + # tar -xf ./ldc2-1.33.0-osx-x86_64.tar.xz -C $HOME + + # - name: Install dependencies + # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld + + # - name: Write version file + # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + + # - name: Build + # run: dub build -b release-debug --compiler=ldc2 --arch x86_64-apple-darwin :cli-frontend + + # - name: Rename + # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-x86_64" # TODO make an app bundle + + # - uses: actions/upload-artifact@v3 + # with: + # name: sideloader-cli-macOS-x86_64 + # path: | + # ${{github.workspace}}/bin/sideloader-cli-macOS-x86_64 + + # build-macos-arm64: + # runs-on: ubuntu-22.04 + + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: recursive + + # - uses: dlang-community/setup-dlang@v1 + # with: + # compiler: ldc-1.33.0 + + # - name: Set-up macOS cross-compilation + # run: | + # mkdir -p $HOME/.ldc/ + # curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz + # tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME + # cat << EOF | tee $HOME/.ldc/ldc2.conf + # "arm64-apple-macos": + # { + # // default switches injected before all explicit command-line switches + # switches = [ + # "-gcc=clang", + # "-linker=lld", + # "-Xcc=-target", + # "-Xcc=arm64-apple-macos", + # "-Xcc=-isysroot", + # "-Xcc=$HOME/MacOSX11.0.sdk", + # "-defaultlib=phobos2-ldc,druntime-ldc", + # ]; + # // default switches appended after all explicit command-line switches + # post-switches = [ + # "-I$HOME/ldc2-1.33.0-osx-arm64/import", + # ]; + # // default directories to be searched for libraries when linking + # lib-dirs = [ + # "$HOME/ldc2-1.33.0-osx-arm64/lib", + # ]; + # }; + # EOF + # mkdir $HOME/ldc-macos + # curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-arm64.tar.xz + # tar -xf ./ldc2-1.33.0-osx-arm64.tar.xz -C $HOME + + # - name: Install dependencies + # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld + + # - name: Write version file + # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + + # - name: Build + # run: dub build -b release-debug --compiler=ldc2 --arch arm64-apple-macos :cli-frontend + + # - name: Rename + # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-arm64" # TODO make an app bundle + + # - uses: actions/upload-artifact@v3 + # with: + # name: sideloader-cli-macOS-arm64 + # path: | + # ${{github.workspace}}/bin/sideloader-cli-macOS-arm64 + + # build-windows-x86_64: + # runs-on: ubuntu-22.04 + + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: recursive + + # - uses: dlang-community/setup-dlang@v1 + # with: + # compiler: ldc-1.35.0 + + # - name: Install dependencies + # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld 7zip + + # - name: Set-up Windows cross-compilation + # run: | + # mkdir -p $HOME/.ldc/ + # cat << EOF | tee $HOME/.ldc/ldc2.conf + # "x86_64-.*-windows-msvc": + # { + # // default switches injected before all explicit command-line switches + # switches = [ + # "-defaultlib=phobos2-ldc,druntime-ldc", + # ]; + # // default switches appended after all explicit command-line switches + # post-switches = [ + # "-I$HOME/ldc2-1.35.0-windows-x64/import", + # ]; + # // default directories to be searched for libraries when linking + # lib-dirs = [ + # "$HOME/ldc2-1.35.0-windows-x64/lib", + # ]; + # }; + # EOF + # curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.35.0/ldc2-1.35.0-windows-x64.7z + # 7z x ./ldc2-1.35.0-windows-x64.7z -o$HOME + + # - name: Write version file + # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + + # - name: Build + # run: dub build -b release-debug --compiler=ldc2 --arch x86_64-windows-msvc :cli-frontend + + # - name: Rename + # run: | + # mv "${{github.workspace}}/bin/sideloader.exe" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe" + # mv "${{github.workspace}}/bin/sideloader.pdb" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb" + + # - uses: actions/upload-artifact@v3 + # with: + # name: sideloader-cli-windows-x86_64 + # path: | + # ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe + # ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb From c0d70a4bb1cbb900067d9647b71bb55cf29832f5 Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 08:18:52 +0200 Subject: [PATCH 4/9] testing --- frontends/cli/source/cli_frontend.d | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontends/cli/source/cli_frontend.d b/frontends/cli/source/cli_frontend.d index 46da283..c552ffc 100644 --- a/frontends/cli/source/cli_frontend.d +++ b/frontends/cli/source/cli_frontend.d @@ -126,8 +126,8 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { return null; } - log.info('picked up apple id: ', appleId); - log.info('picked up password: ', password); + log.info('picked up apple id: ' + appleId); + log.info('picked up password: ' + password); return DeveloperSession.login( device, @@ -135,7 +135,7 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { appleId, password, (sendCode, submitCode) { - sendCode(); + sendCoe(); string code; do { write("A code has been sent to your devices, please type it here (type `resend` to resend one): "); From 38c0eac12f85b76d1a974951ef096e974bb58c7e Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 09:33:03 +0200 Subject: [PATCH 5/9] testing.. --- frontends/cli/source/cli_frontend.d | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontends/cli/source/cli_frontend.d b/frontends/cli/source/cli_frontend.d index c552ffc..b95fed4 100644 --- a/frontends/cli/source/cli_frontend.d +++ b/frontends/cli/source/cli_frontend.d @@ -126,8 +126,8 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { return null; } - log.info('picked up apple id: ' + appleId); - log.info('picked up password: ' + password); + log.info("picked up apple id: " + appleId); + log.info("picked up password: " + password); return DeveloperSession.login( device, From d91cccd3e69723102381f50b302a507237f82def Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 09:49:25 +0200 Subject: [PATCH 6/9] testing... --- frontends/cli/source/cli_frontend.d | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontends/cli/source/cli_frontend.d b/frontends/cli/source/cli_frontend.d index b95fed4..e873a9f 100644 --- a/frontends/cli/source/cli_frontend.d +++ b/frontends/cli/source/cli_frontend.d @@ -109,14 +109,14 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { // ... if (account) return null; - string appleId = environment("APPLE_ID"); + string appleId = environment.get("APPLE_ID"); if(appleId is null && interactive) { log.info("Please enter your account informations. They will only be sent to Apple servers."); log.info("See it for yourself at https://github.com/Dadoum/Sideloader/"); write("Apple ID: "); appleId = readln().chomp(); } - string password = environment("APPLE_PASSWORD"); + string password = environment.get("APPLE_PASSWORD"); if(password is null && interactive) { password = readPasswordLine("Password: "); } @@ -126,8 +126,8 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { return null; } - log.info("picked up apple id: " + appleId); - log.info("picked up password: " + password); + log.info(`"picked up apple id: " ~ appleId`); + log.info(`"picked up password: " ~ password`); return DeveloperSession.login( device, @@ -135,7 +135,7 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { appleId, password, (sendCode, submitCode) { - sendCoe(); + sendCode(); string code; do { write("A code has been sent to your devices, please type it here (type `resend` to resend one): "); From dc6920e8cc1258bdf80bee8c6e3a015fd413a010 Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 13:10:19 +0200 Subject: [PATCH 7/9] Getting username and password from env variables. --- README.md | 2 ++ frontends/cli/source/cli_frontend.d | 13 +++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cb620d6..92d70e6 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,8 @@ Optional arguments: -h, --help Show this help message and exit ``` +Additionally, AppleID user and password can be set via the environment variables `APPLE_ID_USER` and `APPLE_ID_PWD`. + Table of Contents ================= diff --git a/frontends/cli/source/cli_frontend.d b/frontends/cli/source/cli_frontend.d index e873a9f..4400aa5 100644 --- a/frontends/cli/source/cli_frontend.d +++ b/frontends/cli/source/cli_frontend.d @@ -109,15 +109,14 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { // ... if (account) return null; - string appleId = environment.get("APPLE_ID"); - if(appleId is null && interactive) { + string appleId = environment.get("APPLE_ID_USER"); + string password = environment.get("APPLE_ID_PWD"); + if(interactive && (appleId is null || password is null)) { log.info("Please enter your account informations. They will only be sent to Apple servers."); log.info("See it for yourself at https://github.com/Dadoum/Sideloader/"); + write("Apple ID: "); appleId = readln().chomp(); - } - string password = environment.get("APPLE_PASSWORD"); - if(password is null && interactive) { password = readPasswordLine("Password: "); } @@ -126,15 +125,13 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { return null; } - log.info(`"picked up apple id: " ~ appleId`); - log.info(`"picked up password: " ~ password`); - return DeveloperSession.login( device, adi, appleId, password, (sendCode, submitCode) { + if(!interactive) return null; sendCode(); string code; do { From a30dbcb45f642cbcff763a80d64d6072e21ecac7 Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 13:18:05 +0200 Subject: [PATCH 8/9] No 2FA check when interactive is off. --- frontends/cli/source/cli_frontend.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontends/cli/source/cli_frontend.d b/frontends/cli/source/cli_frontend.d index 4400aa5..24045e9 100644 --- a/frontends/cli/source/cli_frontend.d +++ b/frontends/cli/source/cli_frontend.d @@ -131,7 +131,7 @@ DeveloperSession login(Device device, ADI adi, bool interactive) { appleId, password, (sendCode, submitCode) { - if(!interactive) return null; + if(!interactive) return; sendCode(); string code; do { From 5ba18dcb0c69c94bb408fdb0a0a4eb4f1977a233 Mon Sep 17 00:00:00 2001 From: Frank Steiler Date: Mon, 22 Apr 2024 14:20:24 +0200 Subject: [PATCH 9/9] Restoring GH pipeline --- .github/workflows/build-cli.yml | 462 ++++++++++++++++---------------- 1 file changed, 231 insertions(+), 231 deletions(-) diff --git a/.github/workflows/build-cli.yml b/.github/workflows/build-cli.yml index 87963c7..b9ce0ac 100644 --- a/.github/workflows/build-cli.yml +++ b/.github/workflows/build-cli.yml @@ -6,75 +6,75 @@ env: BUILD_TYPE: Release jobs: - # build-x86_64: - # runs-on: ubuntu-20.04 + build-x86_64: + runs-on: ubuntu-20.04 - # steps: - # - uses: actions/checkout@v3 - # with: - # submodules: recursive + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive - # - uses: dlang-community/setup-dlang@v1 - # with: - # compiler: ldc-1.33.0 + - uses: dlang-community/setup-dlang@v1 + with: + compiler: ldc-1.33.0 - # - name: Install dependencies - # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils - # - name: Write version file - # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + - name: Write version file + run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - # - name: Build - # run: dub build -b release-debug --compiler=ldc2 :cli-frontend + - name: Build + run: dub build -b release-debug --compiler=ldc2 :cli-frontend - # - name: Rename - # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" + - name: Rename + run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" - # - name: Put debug symbols in a separate file - # run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" + - name: Put debug symbols in a separate file + run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" - # - uses: actions/upload-artifact@v3 - # with: - # name: sideloader-cli-linux-x86_64 - # path: | - # ${{github.workspace}}/bin/sideloader-cli-linux-x86_64 - # ${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg + - uses: actions/upload-artifact@v3 + with: + name: sideloader-cli-linux-x86_64 + path: | + ${{github.workspace}}/bin/sideloader-cli-linux-x86_64 + ${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg - # build-i686: - # # Does not work yet - # if: false - # runs-on: ubuntu-22.04 + build-i686: + # Does not work yet + if: false + runs-on: ubuntu-22.04 - # steps: - # - uses: actions/checkout@v3 - # with: - # submodules: recursive + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive - # - uses: dlang-community/setup-dlang@v1 - # with: - # compiler: ldc-1.33.0 + - uses: dlang-community/setup-dlang@v1 + with: + compiler: ldc-1.33.0 - # - name: Install dependencies - # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils gcc-i686-linux-gnu libc6-dev + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils gcc-i686-linux-gnu libc6-dev - # - name: Write version file - # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + - name: Write version file + run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - # - name: Build - # run: dub build -b release-debug --compiler=ldc2 --arch i686-linux-gnu :cli-frontend + - name: Build + run: dub build -b release-debug --compiler=ldc2 --arch i686-linux-gnu :cli-frontend - # - name: Rename - # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-i686" + - name: Rename + run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-i686" - # - name: Put debug symbols in a separate file - # run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-i686" + - name: Put debug symbols in a separate file + run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-i686" - # - uses: actions/upload-artifact@v3 - # with: - # name: sideloader-cli-linux-i686 - # path: | - # ${{github.workspace}}/bin/sideloader-cli-linux-i686 - # ${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg + - uses: actions/upload-artifact@v3 + with: + name: sideloader-cli-linux-i686 + path: | + ${{github.workspace}}/bin/sideloader-cli-linux-i686 + ${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg build-aarch64: runs-on: ubuntu-20.04 @@ -131,182 +131,182 @@ jobs: ${{github.workspace}}/bin/sideloader-cli-linux-aarch64 ${{github.workspace}}/bin/sideloader-cli-linux-aarch64.dbg - # build-macos-x86_64: - # runs-on: ubuntu-22.04 - - # steps: - # - uses: actions/checkout@v3 - # with: - # submodules: recursive - - # - uses: dlang-community/setup-dlang@v1 - # with: - # compiler: ldc-1.33.0 - - # - name: Set-up macOS cross-compilation - # run: | - # mkdir -p $HOME/.ldc/ - # curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz - # tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME - # cat << EOF | tee $HOME/.ldc/ldc2.conf - # "x86_64-apple-darwin": - # { - # // default switches injected before all explicit command-line switches - # switches = [ - # "-gcc=clang", - # "-linker=lld", - # "-Xcc=-target", - # "-Xcc=x86_64-apple-darwin", - # "-Xcc=-isysroot", - # "-Xcc=$HOME/MacOSX11.0.sdk", - # "-defaultlib=phobos2-ldc,druntime-ldc", - # ]; - # // default switches appended after all explicit command-line switches - # post-switches = [ - # "-I$HOME/ldc2-1.33.0-osx-x86_64/import", - # ]; - # // default directories to be searched for libraries when linking - # lib-dirs = [ - # "$HOME/ldc2-1.33.0-osx-x86_64/lib", - # ]; - # }; - # EOF - # mkdir $HOME/ldc-macos - # curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-x86_64.tar.xz - # tar -xf ./ldc2-1.33.0-osx-x86_64.tar.xz -C $HOME - - # - name: Install dependencies - # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld - - # - name: Write version file - # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - # - name: Build - # run: dub build -b release-debug --compiler=ldc2 --arch x86_64-apple-darwin :cli-frontend - - # - name: Rename - # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-x86_64" # TODO make an app bundle - - # - uses: actions/upload-artifact@v3 - # with: - # name: sideloader-cli-macOS-x86_64 - # path: | - # ${{github.workspace}}/bin/sideloader-cli-macOS-x86_64 - - # build-macos-arm64: - # runs-on: ubuntu-22.04 - - # steps: - # - uses: actions/checkout@v3 - # with: - # submodules: recursive - - # - uses: dlang-community/setup-dlang@v1 - # with: - # compiler: ldc-1.33.0 - - # - name: Set-up macOS cross-compilation - # run: | - # mkdir -p $HOME/.ldc/ - # curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz - # tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME - # cat << EOF | tee $HOME/.ldc/ldc2.conf - # "arm64-apple-macos": - # { - # // default switches injected before all explicit command-line switches - # switches = [ - # "-gcc=clang", - # "-linker=lld", - # "-Xcc=-target", - # "-Xcc=arm64-apple-macos", - # "-Xcc=-isysroot", - # "-Xcc=$HOME/MacOSX11.0.sdk", - # "-defaultlib=phobos2-ldc,druntime-ldc", - # ]; - # // default switches appended after all explicit command-line switches - # post-switches = [ - # "-I$HOME/ldc2-1.33.0-osx-arm64/import", - # ]; - # // default directories to be searched for libraries when linking - # lib-dirs = [ - # "$HOME/ldc2-1.33.0-osx-arm64/lib", - # ]; - # }; - # EOF - # mkdir $HOME/ldc-macos - # curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-arm64.tar.xz - # tar -xf ./ldc2-1.33.0-osx-arm64.tar.xz -C $HOME - - # - name: Install dependencies - # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld - - # - name: Write version file - # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - # - name: Build - # run: dub build -b release-debug --compiler=ldc2 --arch arm64-apple-macos :cli-frontend - - # - name: Rename - # run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-arm64" # TODO make an app bundle - - # - uses: actions/upload-artifact@v3 - # with: - # name: sideloader-cli-macOS-arm64 - # path: | - # ${{github.workspace}}/bin/sideloader-cli-macOS-arm64 - - # build-windows-x86_64: - # runs-on: ubuntu-22.04 - - # steps: - # - uses: actions/checkout@v3 - # with: - # submodules: recursive - - # - uses: dlang-community/setup-dlang@v1 - # with: - # compiler: ldc-1.35.0 - - # - name: Install dependencies - # run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld 7zip - - # - name: Set-up Windows cross-compilation - # run: | - # mkdir -p $HOME/.ldc/ - # cat << EOF | tee $HOME/.ldc/ldc2.conf - # "x86_64-.*-windows-msvc": - # { - # // default switches injected before all explicit command-line switches - # switches = [ - # "-defaultlib=phobos2-ldc,druntime-ldc", - # ]; - # // default switches appended after all explicit command-line switches - # post-switches = [ - # "-I$HOME/ldc2-1.35.0-windows-x64/import", - # ]; - # // default directories to be searched for libraries when linking - # lib-dirs = [ - # "$HOME/ldc2-1.35.0-windows-x64/lib", - # ]; - # }; - # EOF - # curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.35.0/ldc2-1.35.0-windows-x64.7z - # 7z x ./ldc2-1.35.0-windows-x64.7z -o$HOME - - # - name: Write version file - # run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d - - # - name: Build - # run: dub build -b release-debug --compiler=ldc2 --arch x86_64-windows-msvc :cli-frontend - - # - name: Rename - # run: | - # mv "${{github.workspace}}/bin/sideloader.exe" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe" - # mv "${{github.workspace}}/bin/sideloader.pdb" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb" - - # - uses: actions/upload-artifact@v3 - # with: - # name: sideloader-cli-windows-x86_64 - # path: | - # ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe - # ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb + build-macos-x86_64: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: dlang-community/setup-dlang@v1 + with: + compiler: ldc-1.33.0 + + - name: Set-up macOS cross-compilation + run: | + mkdir -p $HOME/.ldc/ + curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz + tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME + cat << EOF | tee $HOME/.ldc/ldc2.conf + "x86_64-apple-darwin": + { + // default switches injected before all explicit command-line switches + switches = [ + "-gcc=clang", + "-linker=lld", + "-Xcc=-target", + "-Xcc=x86_64-apple-darwin", + "-Xcc=-isysroot", + "-Xcc=$HOME/MacOSX11.0.sdk", + "-defaultlib=phobos2-ldc,druntime-ldc", + ]; + // default switches appended after all explicit command-line switches + post-switches = [ + "-I$HOME/ldc2-1.33.0-osx-x86_64/import", + ]; + // default directories to be searched for libraries when linking + lib-dirs = [ + "$HOME/ldc2-1.33.0-osx-x86_64/lib", + ]; + }; + EOF + mkdir $HOME/ldc-macos + curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-x86_64.tar.xz + tar -xf ./ldc2-1.33.0-osx-x86_64.tar.xz -C $HOME + + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld + + - name: Write version file + run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + + - name: Build + run: dub build -b release-debug --compiler=ldc2 --arch x86_64-apple-darwin :cli-frontend + + - name: Rename + run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-x86_64" # TODO make an app bundle + + - uses: actions/upload-artifact@v3 + with: + name: sideloader-cli-macOS-x86_64 + path: | + ${{github.workspace}}/bin/sideloader-cli-macOS-x86_64 + + build-macos-arm64: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: dlang-community/setup-dlang@v1 + with: + compiler: ldc-1.33.0 + + - name: Set-up macOS cross-compilation + run: | + mkdir -p $HOME/.ldc/ + curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz + tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME + cat << EOF | tee $HOME/.ldc/ldc2.conf + "arm64-apple-macos": + { + // default switches injected before all explicit command-line switches + switches = [ + "-gcc=clang", + "-linker=lld", + "-Xcc=-target", + "-Xcc=arm64-apple-macos", + "-Xcc=-isysroot", + "-Xcc=$HOME/MacOSX11.0.sdk", + "-defaultlib=phobos2-ldc,druntime-ldc", + ]; + // default switches appended after all explicit command-line switches + post-switches = [ + "-I$HOME/ldc2-1.33.0-osx-arm64/import", + ]; + // default directories to be searched for libraries when linking + lib-dirs = [ + "$HOME/ldc2-1.33.0-osx-arm64/lib", + ]; + }; + EOF + mkdir $HOME/ldc-macos + curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-arm64.tar.xz + tar -xf ./ldc2-1.33.0-osx-arm64.tar.xz -C $HOME + + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld + + - name: Write version file + run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + + - name: Build + run: dub build -b release-debug --compiler=ldc2 --arch arm64-apple-macos :cli-frontend + + - name: Rename + run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-arm64" # TODO make an app bundle + + - uses: actions/upload-artifact@v3 + with: + name: sideloader-cli-macOS-arm64 + path: | + ${{github.workspace}}/bin/sideloader-cli-macOS-arm64 + + build-windows-x86_64: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: dlang-community/setup-dlang@v1 + with: + compiler: ldc-1.35.0 + + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld 7zip + + - name: Set-up Windows cross-compilation + run: | + mkdir -p $HOME/.ldc/ + cat << EOF | tee $HOME/.ldc/ldc2.conf + "x86_64-.*-windows-msvc": + { + // default switches injected before all explicit command-line switches + switches = [ + "-defaultlib=phobos2-ldc,druntime-ldc", + ]; + // default switches appended after all explicit command-line switches + post-switches = [ + "-I$HOME/ldc2-1.35.0-windows-x64/import", + ]; + // default directories to be searched for libraries when linking + lib-dirs = [ + "$HOME/ldc2-1.35.0-windows-x64/lib", + ]; + }; + EOF + curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.35.0/ldc2-1.35.0-windows-x64.7z + 7z x ./ldc2-1.35.0-windows-x64.7z -o$HOME + + - name: Write version file + run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d + + - name: Build + run: dub build -b release-debug --compiler=ldc2 --arch x86_64-windows-msvc :cli-frontend + + - name: Rename + run: | + mv "${{github.workspace}}/bin/sideloader.exe" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe" + mv "${{github.workspace}}/bin/sideloader.pdb" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb" + + - uses: actions/upload-artifact@v3 + with: + name: sideloader-cli-windows-x86_64 + path: | + ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe + ${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb