PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Instagram erkennt unterschied zwischen App und Bot



Mr.Tr33
27.12.2016, 13:27
Hallo,

mir ist schon länger aufgefallen, dass Instagram es irgendwie hinbekommt einen Unterschied zwischen App und Bot findet.

Für den Bot (basiert auf einer Android App) haben ich folgende Api: https://github.com/mgp25/Instagram-API
Als Android App habe ich mal die selbe Appversion genommen die in der Api angegeben ist und den selben Useragent im Bot angegeben.
Da ich kein Android Gerät / Emulator habe auf dem Instagram + Sniffer funktioniert, habe ich mein iPhone zum Abgleichen genommen. Die Struktur und Inhalt ist 1:1 gleich, ausser der Sign-Hash. Wenn aber der Key zum Posten von der Api gesperrt wäre, dann könnten zich Apps nicht vernünftig posten :D

Wie ich merke, ob es funktioniert:
Man postet mit dem Bot ein Bild und einem zufälligem Hashtag (öffentlicher Account natürlich). Mit einem zweiten völlig unabhängigen Account sucht man nach dem Hashtag. Laut Suche steht dann da z.B. 1 Bild gefunden aber wenn man drauf geht, zeit es keins an.
Selber Vorgang mit der App, und es funktioniert.

Wie erkennen die den Unterschied?
Wie umgeht man so etwas?

Starflow
27.12.2016, 15:23
Ist das Phone via WLan im Netz oder via Mobilfunk?

/E1: Scheint wohl exakt so gewünscht zu sein: https://github.com/mgp25/Instagram-API/issues/780
Warum auch immer…

/E2: Oh…Baum1234 bist sicher du selbst, aber dann weißt du doch schon das es nichts mit Botdetection zu tun hat…

/E3:
https://github.com/mgp25/Instagram-API/issues/599
https://github.com/mgp25/Instagram-API/issues/470
https://github.com/mgp25/Instagram-API/issues/523

What the…bist du wirklich Baum1234, jetzt zweifel ich langsam. Wenn du es doch bist…wtf?

/E4: Achja, du brauchst ja auch noch irgendwie ne Lösung: Schneid die Requests doch einfach mit, analysier die Unterschiede und pass den BotRequest so an, dass er ausschaut wie ein Request aus der App.

Cystasy
27.12.2016, 20:09
/E1: Scheint wohl exakt so gewünscht zu sein: https://github.com/mgp25/Instagram-API/issues/780
Warum auch immer…

Reine Vermutung aber...



Terms and conditions



You will NOT use this API for marketing purposes (spam, massive sending...).

We do NOT give support to anyone that wants this API to send massive messages or similar.



Anyway ->

1) https://github.com/mgp25/Instagram-API/wiki/FAQ#my-photosvideos-are-removed-just-after-upload + https://github.com/mgp25/Instagram-API/wiki/FAQ#instagram-registration-doesnt-work

2) https://github.com/mgp25/Instagram-API/wiki/FAQ#how-to-extract-instagram-signature-key

Hast du das beachtet @OP ?
grüße

Starflow
27.12.2016, 23:24
Ok, das hab ich wohl überlesen, aber eigentlich ist es ja auch nicht meine Aufgabe die Doku zu lesen…

Mr.Tr33
28.12.2016, 21:36
Ja, baum1234 bin ich :D
Das Problem besteht schon sehr lange, dachte damals, dass es irgendwann mal gefixt wird, aber so ist es nicht.

Ich habe den Link zur Api nur dazu geschrieben, weil es eben eine funktionierende API ist und ich nur den Key von der API benutze. Die Requests habe ich selbst gesnifft, weil ich eben vermutet habe, dass es an den Unterschieden liegen könnte.

Wie bereits erwähnt habe ich mal Handy und Requests verglichen. Habe sogar eine Windows 10 App installiert und diese Requests mit den von der API verglichen.
Nachdem ich es soweit angepasst habe, dass nur noch der Sign-Key anders ist, bin ich verzweifelt.

Deswegen ja auch mein Hauptgedanke, wenn alles gleich ist (Header und Data) vom Request, ausser der Key selbst, wie kann Instagram es erkennen? Den Key haben die definitiv nicht geblacklistet.

Cystasy
28.12.2016, 22:07
Deswegen ja auch mein Hauptgedanke, wenn alles gleich ist (Header und Data) vom Request, ausser der Key selbst, wie kann Instagram es erkennen? Den Key haben die definitiv nicht geblacklistet.

Soweit ich das sehe ist der Key ja im jeweiligen .apk build drine hardcoded.
Vielleicht ist der Key der API den du hast veraltet, wird aber teilweise noch unterstützt?
Kann ja sein das du dann vllt nen neuen extrahieren musst weils vllt ein App Update gab oder so.

Würde an deiner Stelle definitiv versuchen den Key selbst zu extrahieren.. vorallem wenn die Requests echt gleich sind bis aufn Key wie du sagst sehe ich da eher das Problem^^

grüße

Mr.Tr33
28.12.2016, 23:22
Würde an deiner Stelle definitiv versuchen den Key selbst zu extrahieren.. vorallem wenn die Requests echt gleich sind bis aufn Key wie du sagst sehe ich da eher das Problem^^
Den Key extrahiert er ziemlich regelmäßig und ist meist auch immer ziemlich aktuell.
Witzigerweise haben alle Leute, die ein iOS Key haben, keine Probleme. Aber keiner von den stellt ihn kostenlos, meist sogar nur über einen Lizenzserver für das Signieren.

Weil ich eben verzweifle, frage ich euch um Hilfe :D