From 9b0fea6906e631f103adbc6387a2a4cf96e81823 Mon Sep 17 00:00:00 2001 From: Austin Huang Date: Wed, 17 Mar 2021 14:13:04 -0400 Subject: [PATCH] update signing mechanism --- .../awais/instagrabber/utils/Constants.java | 18 +++---- .../java/awais/instagrabber/utils/Utils.java | 51 ++++++++++--------- 2 files changed, 35 insertions(+), 34 deletions(-) diff --git a/app/src/main/java/awais/instagrabber/utils/Constants.java b/app/src/main/java/awais/instagrabber/utils/Constants.java index e518b9c8..45fd9e3f 100644 --- a/app/src/main/java/awais/instagrabber/utils/Constants.java +++ b/app/src/main/java/awais/instagrabber/utils/Constants.java @@ -62,15 +62,15 @@ public final class Constants { public static final int DM_CHECK_NOTIFICATION_ID = 11; // see https://github.com/dilame/instagram-private-api/blob/master/src/core/constants.ts - public static final String SUPPORTED_CAPABILITIES = "[ { \"name\": \"SUPPORTED_SDK_VERSIONS\", \"value\":" + - " \"13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0," + - "32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0," + - "52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0\" }, { \"name\": \"FACE_TRACKER_VERSION\", " + - "\"value\": 12 }, { \"name\": \"segmentation\", \"value\": \"segmentation_enabled\" }, { \"name\": \"COMPRESSION\", " + - "\"value\": \"ETC2_COMPRESSION\" }, { \"name\": \"world_tracker\", \"value\": \"world_tracker_enabled\" }, { \"name\": " + - "\"gyroscope\", \"value\": \"gyroscope_enabled\" } ]"; - public static final String SIGNATURE_VERSION = "4"; - public static final String SIGNATURE_KEY = "9193488027538fd3450b83b7d05286d4ca9599a0f7eeed90d8c85925698a05dc"; +// public static final String SUPPORTED_CAPABILITIES = "[ { \"name\": \"SUPPORTED_SDK_VERSIONS\", \"value\":" + +// " \"13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0," + +// "32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0," + +// "52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0\" }, { \"name\": \"FACE_TRACKER_VERSION\", " + +// "\"value\": 12 }, { \"name\": \"segmentation\", \"value\": \"segmentation_enabled\" }, { \"name\": \"COMPRESSION\", " + +// "\"value\": \"ETC2_COMPRESSION\" }, { \"name\": \"world_tracker\", \"value\": \"world_tracker_enabled\" }, { \"name\": " + +// "\"gyroscope\", \"value\": \"gyroscope_enabled\" } ]"; +// public static final String SIGNATURE_VERSION = "4"; +// public static final String SIGNATURE_KEY = "9193488027538fd3450b83b7d05286d4ca9599a0f7eeed90d8c85925698a05dc"; public static final String BREADCRUMB_KEY = "iN4$aGr0m"; public static final int LOGIN_RESULT_CODE = 5000; public static final String FDROID_SHA1_FINGERPRINT = "C1661EB8FD09F618307E687786D5E5056F65084D"; diff --git a/app/src/main/java/awais/instagrabber/utils/Utils.java b/app/src/main/java/awais/instagrabber/utils/Utils.java index 02103468..ed22c52a 100644 --- a/app/src/main/java/awais/instagrabber/utils/Utils.java +++ b/app/src/main/java/awais/instagrabber/utils/Utils.java @@ -50,8 +50,8 @@ import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Map; -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; +//import javax.crypto.Mac; +//import javax.crypto.spec.SecretKeySpec; import awais.instagrabber.R; import awais.instagrabber.models.PostsLayoutPreferences; @@ -93,33 +93,34 @@ public final class Utils { } public static Map sign(final Map form) { - final String signed = sign(Constants.SIGNATURE_KEY, new JSONObject(form).toString()); - if (signed == null) { - return null; - } +// final String signed = sign(Constants.SIGNATURE_KEY, new JSONObject(form).toString()); +// if (signed == null) { +// return null; +// } final Map map = new HashMap<>(); - map.put("ig_sig_key_version", Constants.SIGNATURE_VERSION); - map.put("signed_body", signed); +// map.put("ig_sig_key_version", Constants.SIGNATURE_VERSION); +// map.put("signed_body", signed); + map.put("signed_body", "SIGNATURE." + new JSONObject(form).toString()); return map; } - public static String sign(final String key, final String message) { - try { - final Mac hasher = Mac.getInstance("HmacSHA256"); - hasher.init(new SecretKeySpec(key.getBytes(), "HmacSHA256")); - byte[] hash = hasher.doFinal(message.getBytes()); - final StringBuilder hexString = new StringBuilder(); - for (byte b : hash) { - final String hex = Integer.toHexString(0xff & b); - if (hex.length() == 1) hexString.append('0'); - hexString.append(hex); - } - return hexString.toString() + "." + message; - } catch (Exception e) { - Log.e(TAG, "Error signing", e); - return null; - } - } +// public static String sign(final String key, final String message) { +// try { +// final Mac hasher = Mac.getInstance("HmacSHA256"); +// hasher.init(new SecretKeySpec(key.getBytes(), "HmacSHA256")); +// byte[] hash = hasher.doFinal(message.getBytes()); +// final StringBuilder hexString = new StringBuilder(); +// for (byte b : hash) { +// final String hex = Integer.toHexString(0xff & b); +// if (hex.length() == 1) hexString.append('0'); +// hexString.append(hex); +// } +// return hexString.toString() + "." + message; +// } catch (Exception e) { +// Log.e(TAG, "Error signing", e); +// return null; +// } +// } public static String getMimeType(@NonNull final Uri uri, final ContentResolver contentResolver) { String mimeType;