1
0
mirror of https://github.com/KokaKiwi/BarInsta synced 2024-11-22 22:57:29 +00:00

update signing mechanism

This commit is contained in:
Austin Huang 2021-03-17 14:13:04 -04:00
parent 13200f3f1d
commit 9b0fea6906
No known key found for this signature in database
GPG Key ID: 84C23AA04587A91F
2 changed files with 35 additions and 34 deletions

View File

@ -62,15 +62,15 @@ public final class Constants {
public static final int DM_CHECK_NOTIFICATION_ID = 11; public static final int DM_CHECK_NOTIFICATION_ID = 11;
// see https://github.com/dilame/instagram-private-api/blob/master/src/core/constants.ts // 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\":" + // 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," + // " \"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," + // "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\", " + // "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\": 12 }, { \"name\": \"segmentation\", \"value\": \"segmentation_enabled\" }, { \"name\": \"COMPRESSION\", " +
"\"value\": \"ETC2_COMPRESSION\" }, { \"name\": \"world_tracker\", \"value\": \"world_tracker_enabled\" }, { \"name\": " + // "\"value\": \"ETC2_COMPRESSION\" }, { \"name\": \"world_tracker\", \"value\": \"world_tracker_enabled\" }, { \"name\": " +
"\"gyroscope\", \"value\": \"gyroscope_enabled\" } ]"; // "\"gyroscope\", \"value\": \"gyroscope_enabled\" } ]";
public static final String SIGNATURE_VERSION = "4"; // public static final String SIGNATURE_VERSION = "4";
public static final String SIGNATURE_KEY = "9193488027538fd3450b83b7d05286d4ca9599a0f7eeed90d8c85925698a05dc"; // public static final String SIGNATURE_KEY = "9193488027538fd3450b83b7d05286d4ca9599a0f7eeed90d8c85925698a05dc";
public static final String BREADCRUMB_KEY = "iN4$aGr0m"; public static final String BREADCRUMB_KEY = "iN4$aGr0m";
public static final int LOGIN_RESULT_CODE = 5000; public static final int LOGIN_RESULT_CODE = 5000;
public static final String FDROID_SHA1_FINGERPRINT = "C1661EB8FD09F618307E687786D5E5056F65084D"; public static final String FDROID_SHA1_FINGERPRINT = "C1661EB8FD09F618307E687786D5E5056F65084D";

View File

@ -50,8 +50,8 @@ import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.crypto.Mac; //import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec; //import javax.crypto.spec.SecretKeySpec;
import awais.instagrabber.R; import awais.instagrabber.R;
import awais.instagrabber.models.PostsLayoutPreferences; import awais.instagrabber.models.PostsLayoutPreferences;
@ -93,33 +93,34 @@ public final class Utils {
} }
public static Map<String, String> sign(final Map<String, Object> form) { public static Map<String, String> sign(final Map<String, Object> form) {
final String signed = sign(Constants.SIGNATURE_KEY, new JSONObject(form).toString()); // final String signed = sign(Constants.SIGNATURE_KEY, new JSONObject(form).toString());
if (signed == null) { // if (signed == null) {
return null; // return null;
} // }
final Map<String, String> map = new HashMap<>(); final Map<String, String> map = new HashMap<>();
map.put("ig_sig_key_version", Constants.SIGNATURE_VERSION); // map.put("ig_sig_key_version", Constants.SIGNATURE_VERSION);
map.put("signed_body", signed); // map.put("signed_body", signed);
map.put("signed_body", "SIGNATURE." + new JSONObject(form).toString());
return map; return map;
} }
public static String sign(final String key, final String message) { // public static String sign(final String key, final String message) {
try { // try {
final Mac hasher = Mac.getInstance("HmacSHA256"); // final Mac hasher = Mac.getInstance("HmacSHA256");
hasher.init(new SecretKeySpec(key.getBytes(), "HmacSHA256")); // hasher.init(new SecretKeySpec(key.getBytes(), "HmacSHA256"));
byte[] hash = hasher.doFinal(message.getBytes()); // byte[] hash = hasher.doFinal(message.getBytes());
final StringBuilder hexString = new StringBuilder(); // final StringBuilder hexString = new StringBuilder();
for (byte b : hash) { // for (byte b : hash) {
final String hex = Integer.toHexString(0xff & b); // final String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) hexString.append('0'); // if (hex.length() == 1) hexString.append('0');
hexString.append(hex); // hexString.append(hex);
} // }
return hexString.toString() + "." + message; // return hexString.toString() + "." + message;
} catch (Exception e) { // } catch (Exception e) {
Log.e(TAG, "Error signing", e); // Log.e(TAG, "Error signing", e);
return null; // return null;
} // }
} // }
public static String getMimeType(@NonNull final Uri uri, final ContentResolver contentResolver) { public static String getMimeType(@NonNull final Uri uri, final ContentResolver contentResolver) {
String mimeType; String mimeType;