mirror of
https://github.com/nab138/isideload.git
synced 2026-03-02 06:26:16 +01:00
obfuscate
This commit is contained in:
154
Cargo.lock
generated
154
Cargo.lock
generated
@@ -111,7 +111,7 @@ dependencies = [
|
||||
"crc32fast",
|
||||
"futures-lite",
|
||||
"pin-project",
|
||||
"thiserror",
|
||||
"thiserror 2.0.17",
|
||||
"tokio",
|
||||
"tokio-util",
|
||||
]
|
||||
@@ -196,6 +196,12 @@ version = "3.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
version = "1.10.1"
|
||||
@@ -683,7 +689,7 @@ dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
"futures-util",
|
||||
"http 0.2.12",
|
||||
"http",
|
||||
"indexmap",
|
||||
"slab",
|
||||
"tokio",
|
||||
@@ -723,17 +729,6 @@ dependencies = [
|
||||
"itoa",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http"
|
||||
version = "1.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"fnv",
|
||||
"itoa",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http-body"
|
||||
version = "0.4.6"
|
||||
@@ -741,7 +736,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"http 0.2.12",
|
||||
"http",
|
||||
"pin-project-lite",
|
||||
]
|
||||
|
||||
@@ -768,7 +763,7 @@ dependencies = [
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http 0.2.12",
|
||||
"http",
|
||||
"http-body",
|
||||
"httparse",
|
||||
"httpdate",
|
||||
@@ -788,7 +783,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"http 0.2.12",
|
||||
"http",
|
||||
"hyper",
|
||||
"rustls 0.21.12",
|
||||
"tokio",
|
||||
@@ -923,10 +918,11 @@ dependencies = [
|
||||
"base64 0.22.1",
|
||||
"chrono",
|
||||
"futures",
|
||||
"obfstr",
|
||||
"plist",
|
||||
"rustls 0.23.35",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"thiserror 2.0.17",
|
||||
"tokio",
|
||||
"tokio-rustls 0.26.4",
|
||||
"tracing",
|
||||
@@ -986,11 +982,12 @@ dependencies = [
|
||||
"hex",
|
||||
"idevice",
|
||||
"nab138_icloud_auth",
|
||||
"obfstr",
|
||||
"openssl",
|
||||
"plist",
|
||||
"serde",
|
||||
"sha1",
|
||||
"thiserror",
|
||||
"thiserror 2.0.17",
|
||||
"uuid",
|
||||
"zip",
|
||||
"zsign-rust",
|
||||
@@ -1130,9 +1127,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nab138_icloud_auth"
|
||||
version = "0.1.5"
|
||||
version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2707d665f2ceb5dfc1baf632fd708c6ffba2596f9e63fea054367d1b0e3b7317"
|
||||
checksum = "9974d0c323b02010a93eba36368153b8ca3003ac3f7fdd810b025d5ade24edca"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"aes-gcm",
|
||||
@@ -1142,25 +1139,26 @@ dependencies = [
|
||||
"nab138_omnisette",
|
||||
"nab138_srp",
|
||||
"num-bigint",
|
||||
"obfstr",
|
||||
"pbkdf2",
|
||||
"pkcs7",
|
||||
"plist",
|
||||
"rand",
|
||||
"rand 0.9.2",
|
||||
"reqwest",
|
||||
"rustls 0.23.35",
|
||||
"rustls-pemfile 2.2.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"thiserror",
|
||||
"thiserror 2.0.17",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nab138_omnisette"
|
||||
version = "0.1.3"
|
||||
version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "322cfbcadd65524423b56558259aa093287f1d91bba3515a39de0a38b75d3d36"
|
||||
checksum = "2be32155e6400d1b8dbec36f197fc71790770b991beee2f81d2f78afc526a861"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -1168,13 +1166,14 @@ dependencies = [
|
||||
"chrono",
|
||||
"futures-util",
|
||||
"log",
|
||||
"obfstr",
|
||||
"plist",
|
||||
"rand",
|
||||
"rand 0.9.2",
|
||||
"reqwest",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"thiserror",
|
||||
"thiserror 2.0.17",
|
||||
"tokio-tungstenite",
|
||||
"uuid",
|
||||
]
|
||||
@@ -1254,6 +1253,12 @@ dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "obfstr"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d0d354e9a302760d07e025701d40534f17dd1fe4c4db955b4e3bd2907c63bdee"
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.3"
|
||||
@@ -1496,16 +1501,37 @@ version = "5.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
|
||||
|
||||
[[package]]
|
||||
name = "rand"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"rand_chacha 0.3.1",
|
||||
"rand_core 0.6.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand"
|
||||
version = "0.9.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
|
||||
dependencies = [
|
||||
"rand_chacha",
|
||||
"rand_chacha 0.9.0",
|
||||
"rand_core 0.9.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_chacha"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
||||
dependencies = [
|
||||
"ppv-lite86",
|
||||
"rand_core 0.6.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_chacha"
|
||||
version = "0.9.0"
|
||||
@@ -1576,7 +1602,7 @@ dependencies = [
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http 0.2.12",
|
||||
"http",
|
||||
"http-body",
|
||||
"hyper",
|
||||
"hyper-rustls",
|
||||
@@ -1605,7 +1631,7 @@ dependencies = [
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"webpki-roots 0.25.4",
|
||||
"webpki-roots",
|
||||
"winreg",
|
||||
]
|
||||
|
||||
@@ -1975,13 +2001,33 @@ dependencies = [
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
|
||||
dependencies = [
|
||||
"thiserror-impl 1.0.69",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "2.0.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
"thiserror-impl 2.0.17",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2094,18 +2140,17 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tokio-tungstenite"
|
||||
version = "0.27.0"
|
||||
version = "0.20.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "489a59b6730eda1b0171fcfda8b121f4bee2b35cba8645ca35c5f7ba3eb736c1"
|
||||
checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"log",
|
||||
"rustls 0.23.35",
|
||||
"rustls-pki-types",
|
||||
"rustls 0.21.12",
|
||||
"tokio",
|
||||
"tokio-rustls 0.26.4",
|
||||
"tokio-rustls 0.24.1",
|
||||
"tungstenite",
|
||||
"webpki-roots 0.26.11",
|
||||
"webpki-roots",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2167,20 +2212,21 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
|
||||
|
||||
[[package]]
|
||||
name = "tungstenite"
|
||||
version = "0.27.0"
|
||||
version = "0.20.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d"
|
||||
checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"bytes",
|
||||
"data-encoding",
|
||||
"http 1.3.1",
|
||||
"http",
|
||||
"httparse",
|
||||
"log",
|
||||
"rand",
|
||||
"rustls 0.23.35",
|
||||
"rustls-pki-types",
|
||||
"rand 0.8.5",
|
||||
"rustls 0.21.12",
|
||||
"sha1",
|
||||
"thiserror",
|
||||
"thiserror 1.0.69",
|
||||
"url",
|
||||
"utf-8",
|
||||
]
|
||||
|
||||
@@ -2244,7 +2290,7 @@ checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2"
|
||||
dependencies = [
|
||||
"getrandom 0.3.4",
|
||||
"js-sys",
|
||||
"rand",
|
||||
"rand 0.9.2",
|
||||
"uuid-macro-internal",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
@@ -2370,24 +2416,6 @@ version = "0.25.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "0.26.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
|
||||
dependencies = [
|
||||
"webpki-roots 1.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e"
|
||||
dependencies = [
|
||||
"rustls-pki-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-core"
|
||||
version = "0.62.2"
|
||||
@@ -2847,6 +2875,6 @@ dependencies = [
|
||||
"cc",
|
||||
"openssl-src",
|
||||
"pkg-config",
|
||||
"thiserror",
|
||||
"thiserror 2.0.17",
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
@@ -5,6 +5,6 @@ edition = "2024"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
isideload = { path = "../../isideload", features = ["vendored-openssl"] }
|
||||
isideload = { path = "../../isideload", features = ["vendored-openssl", "obfuscate"] }
|
||||
idevice = { version = "0.1.46", features = ["usbmuxd", "ring"], default-features = false}
|
||||
tokio = { version = "1.43", features = ["macros", "rt-multi-thread"] }
|
||||
|
||||
@@ -13,11 +13,12 @@ readme = "../README.md"
|
||||
[features]
|
||||
default = []
|
||||
vendored-openssl = ["openssl/vendored", "zsign-rust/vendored-openssl"]
|
||||
obfuscate = ["idevice/obfuscate", "icloud_auth/obfuscate", "dep:obfstr"]
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
plist = { version = "1.7" }
|
||||
icloud_auth = { version = "0.1.5", package = "nab138_icloud_auth" }
|
||||
icloud_auth = { version = "0.1.9", package = "nab138_icloud_auth" }
|
||||
uuid = { version = "1.17.0", features = ["v4"] }
|
||||
zip = { version = "4.3", default-features = false, features = ["deflate"] }
|
||||
hex = "0.4"
|
||||
@@ -26,3 +27,4 @@ idevice = { version = "0.1.46", features = ["afc", "installation_proxy", "ring"]
|
||||
openssl = "0.10"
|
||||
zsign-rust = "0.1.7"
|
||||
thiserror = "2"
|
||||
obfstr = { version = "0.4", optional = true }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file was made using https://github.com/Dadoum/Sideloader as a reference for the apple private endpoints
|
||||
|
||||
use crate::Error;
|
||||
use crate::{Error, obf};
|
||||
use icloud_auth::{AppleAccount, Error as ICloudError};
|
||||
use plist::{Date, Dictionary, Value};
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -28,11 +28,11 @@ impl DeveloperSession {
|
||||
let mut request = Dictionary::new();
|
||||
request.insert(
|
||||
"clientId".to_string(),
|
||||
Value::String("XABBG36SBA".to_string()),
|
||||
Value::String(obf!("XABBG36SBA").to_string()),
|
||||
);
|
||||
request.insert(
|
||||
"protocolVersion".to_string(),
|
||||
Value::String("QH65B2".to_string()),
|
||||
Value::String(obf!("QH65B2").to_string()),
|
||||
);
|
||||
request.insert(
|
||||
"requestId".to_string(),
|
||||
@@ -79,8 +79,12 @@ impl DeveloperSession {
|
||||
}
|
||||
|
||||
pub async fn list_teams(&self) -> Result<Vec<DeveloperTeam>, Error> {
|
||||
let url = "https://developerservices2.apple.com/services/QH65B2/listTeams.action?clientId=XABBG36SBA";
|
||||
let response = self.send_developer_request(url, None).await?;
|
||||
let url = obf!(
|
||||
"https://developerservices2.apple.com/services/QH65B2/listTeams.action?clientId=XABBG36SBA"
|
||||
);
|
||||
let response = self
|
||||
.send_developer_request(url.to_string().as_str(), None)
|
||||
.await?;
|
||||
|
||||
let teams = response
|
||||
.get("teams")
|
||||
@@ -134,7 +138,7 @@ impl DeveloperSession {
|
||||
device_type: DeveloperDeviceType,
|
||||
team: &DeveloperTeam,
|
||||
) -> Result<Vec<DeveloperDevice>, Error> {
|
||||
let url = dev_url(device_type, "listDevices");
|
||||
let url = dev_url(device_type, obf!("listDevices"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
let response = self.send_developer_request(&url, Some(body)).await?;
|
||||
@@ -180,7 +184,7 @@ impl DeveloperSession {
|
||||
device_name: &str,
|
||||
udid: &str,
|
||||
) -> Result<DeveloperDevice, Error> {
|
||||
let url = dev_url(device_type, "addDevice");
|
||||
let url = dev_url(device_type, obf!("addDevice"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert("name".to_string(), Value::String(device_name.to_string()));
|
||||
@@ -221,7 +225,7 @@ impl DeveloperSession {
|
||||
device_type: DeveloperDeviceType,
|
||||
team: &DeveloperTeam,
|
||||
) -> Result<Vec<DevelopmentCertificate>, Error> {
|
||||
let url = dev_url(device_type, "listAllDevelopmentCerts");
|
||||
let url = dev_url(device_type, obf!("listAllDevelopmentCerts"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
|
||||
@@ -286,7 +290,7 @@ impl DeveloperSession {
|
||||
team: &DeveloperTeam,
|
||||
serial_number: &str,
|
||||
) -> Result<(), Error> {
|
||||
let url = dev_url(device_type, "revokeDevelopmentCert");
|
||||
let url = dev_url(device_type, obf!("revokeDevelopmentCert"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert(
|
||||
@@ -305,7 +309,7 @@ impl DeveloperSession {
|
||||
csr_content: String,
|
||||
machine_name: String,
|
||||
) -> Result<String, Error> {
|
||||
let url = dev_url(device_type, "submitDevelopmentCSR");
|
||||
let url = dev_url(device_type, obf!("submitDevelopmentCSR"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert("csrContent".to_string(), Value::String(csr_content));
|
||||
@@ -334,7 +338,7 @@ impl DeveloperSession {
|
||||
device_type: DeveloperDeviceType,
|
||||
team: &DeveloperTeam,
|
||||
) -> Result<ListAppIdsResponse, Error> {
|
||||
let url = dev_url(device_type, "listAppIds");
|
||||
let url = dev_url(device_type, obf!("listAppIds"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
|
||||
@@ -424,7 +428,7 @@ impl DeveloperSession {
|
||||
name: &str,
|
||||
identifier: &str,
|
||||
) -> Result<(), Error> {
|
||||
let url = dev_url(device_type, "addAppId");
|
||||
let url = dev_url(device_type, obf!("addAppId"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert("name".to_string(), Value::String(name.to_string()));
|
||||
@@ -445,7 +449,7 @@ impl DeveloperSession {
|
||||
app_id: &AppId,
|
||||
features: &Dictionary,
|
||||
) -> Result<Dictionary, Error> {
|
||||
let url = dev_url(device_type, "updateAppId");
|
||||
let url = dev_url(device_type, obf!("updateAppId"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert(
|
||||
"appIdId".to_string(),
|
||||
@@ -476,7 +480,7 @@ impl DeveloperSession {
|
||||
team: &DeveloperTeam,
|
||||
app_id_id: String,
|
||||
) -> Result<(), Error> {
|
||||
let url = dev_url(device_type, "deleteAppId");
|
||||
let url = dev_url(device_type, obf!("deleteAppId"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert("appIdId".to_string(), Value::String(app_id_id.clone()));
|
||||
@@ -491,7 +495,7 @@ impl DeveloperSession {
|
||||
device_type: DeveloperDeviceType,
|
||||
team: &DeveloperTeam,
|
||||
) -> Result<Vec<ApplicationGroup>, Error> {
|
||||
let url = dev_url(device_type, "listApplicationGroups");
|
||||
let url = dev_url(device_type, obf!("listApplicationGroups"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
|
||||
@@ -540,7 +544,7 @@ impl DeveloperSession {
|
||||
group_identifier: &str,
|
||||
name: &str,
|
||||
) -> Result<ApplicationGroup, Error> {
|
||||
let url = dev_url(device_type, "addApplicationGroup");
|
||||
let url = dev_url(device_type, obf!("addApplicationGroup"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert("name".to_string(), Value::String(name.to_string()));
|
||||
@@ -584,7 +588,7 @@ impl DeveloperSession {
|
||||
app_id: &AppId,
|
||||
app_group: &ApplicationGroup,
|
||||
) -> Result<(), Error> {
|
||||
let url = dev_url(device_type, "assignApplicationGroupToAppId");
|
||||
let url = dev_url(device_type, obf!("assignApplicationGroupToAppId"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert(
|
||||
@@ -607,7 +611,7 @@ impl DeveloperSession {
|
||||
team: &DeveloperTeam,
|
||||
app_id: &AppId,
|
||||
) -> Result<ProvisioningProfile, Error> {
|
||||
let url = dev_url(device_type, "downloadTeamProvisioningProfile");
|
||||
let url = dev_url(device_type, obf!("downloadTeamProvisioningProfile"));
|
||||
let mut body = Dictionary::new();
|
||||
body.insert("teamId".to_string(), Value::String(team.team_id.clone()));
|
||||
body.insert(
|
||||
@@ -666,9 +670,11 @@ impl DeveloperDeviceType {
|
||||
|
||||
fn dev_url(device_type: DeveloperDeviceType, endpoint: &str) -> String {
|
||||
format!(
|
||||
"https://developerservices2.apple.com/services/QH65B2/{}{}.action?clientId=XABBG36SBA",
|
||||
"{}{}{}{}",
|
||||
obf!("https://developerservices2.apple.com/services/QH65B2/"),
|
||||
device_type.url_segment(),
|
||||
endpoint
|
||||
endpoint,
|
||||
obf!(".action?clientId=XABBG36SBA")
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -101,3 +101,19 @@ impl<'a> SideloadConfiguration<'a> {
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "obfuscate")]
|
||||
#[macro_export]
|
||||
macro_rules! obf {
|
||||
($lit:literal) => {
|
||||
&obfstr::obfstring!($lit)
|
||||
};
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "obfuscate"))]
|
||||
#[macro_export]
|
||||
macro_rules! obf {
|
||||
($lit:literal) => {
|
||||
&$lit.to_string()
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user