4 ms·
Maybe it's just me, but I dislike the whole concept of advertising in places that aren't related to shopping. I go to Instagram to look at my friends' pictures,
by grishka 5y ago
Maybe it's just me, but I dislike the whole concept of advertising in places that aren't related to shopping. I go to Instagram to look at my friends' pictures, not to be sold something I don't actually need. If I were to shop, I'd go to a mall, thank you very much.
Anyway, at some point Instagram ads (especially the autoplaying video kind, with sound) drove me crazy enough that out came jadx and apktool and I found a beautiful way to inject my own code into Instagram's networking. The code I injected rewrites the API responses before the rest of the app sees them. I can now scroll through my feed without annoying salesmen begging for my attention. I've also enabled a "secret" debugging menu while at it, where there are manual overrides for server-side settings, and there are at least several hundred of them — it's a bit creepy what they're A/B testing, like slightly different wording or different button colors.
The only problem that still remains is that the feed is still algorithmic, and there's nothing that could be done with that with client patches.
- 0x0nyandesu 5y agoIt's definitely just you. Women go on Instagram to see fashion with links to shopping "the look".
- Broken_Hippo 5y agoSome people go to instagram for fashion, but that is definitely not all women nor just women. I personally just wear a black shirt and black pants almost every day, am not all that interested in fashion, and am a woman.
- coldtea 5y ago>Some people go to instagram for fashion, but that is definitely not all women nor just women. No, but it is the third option you ommited: mostly women (doing that).
- OJFord 5y agoGreat, does it matter? I think GGP's comment's point was that some do want that. They said 'women' but I don't think it really matters (or affects the point) who it is.
- stirfish 5y agoAre you on Instagram? If so, do you find the fashion ads annoying? I just scrolled through Instagram and I think they changed the ads. I still want to shoot myself, but I'm not getting any ads for weapons anymore
- fieryskiff11 5y agoYWNBAW
- stirfish 5y agoYou are not welcome here. Get out.
- deleted 5y ago[deleted]
- Izikiel43 5y agoHow do you detect ads? If not in following empty response?
- grishka 5y agoAd posts have additional fields in them. They have to, because they're shown in the UI as "sponsored" and with extra buttons and stuff. Ad stories are retrieved via a separate request, so it just suffices to either return an empty response or throw an exception from there.
- bat_sy 5y agoCan you share the modified apk or any tutorial to make similar modified Instagram apk?
- grishka 5y agoI did a thread on xda a while ago: https://forum.xda-developers.com/t/app-mod-4-4-instagram-without-ads-and-annoyances.3927066/ https://forum.xda-developers.com/t/app-mod-4-4-instagram-wit...
- NeoLaval 5y agohttps://thedise.me/instander/ https://thedise.me/instander/
- grishka 5y agoThis isn't mine but it does use my approach to ad blocking.
- draw_down 5y agoYes my friend, maybe it’s just you that dislikes ads. Maybe you’re totally unique and alone in the universe with that opinion. Maybe, maybe.
- distances 5y agoI wonder why they left the debugging stuff in live release builds. Common best practice for Android is to have a separate build flavor with debug settings and layouts, and make sure they aren't included in live builds.
- FearlessNebula 5y agoI’d love to read a write up on how you did that. I wonder if it’s possible that one endpoint returns a chronological feed whereas another endpoint returns an algorithmic field?
- grishka 5y agoIn short. The HTTP client Instagram uses (Proxygen) is written in C++, which means it needs JNI bindings, which means those classes are necessarily excluded from obfuscation. I decompiled the dexes into human-readable bytecode (smali) using apktool, compiled my own class with additional code to strip ads, converted it to dex, decompiled that into smali, added that to instagram smali files, added calls into my class in the JNI classes, and, finally, put it all back together with apktool. I didn't want to touch the obfuscated parts because that would make the patch break with every version. Though I did have to touch them to enable the debug menu. I should also probably make this in the form of an Xposed module. Do people even use Xposed any more?
- FearlessNebula 5y agoDoesn’t compiling the code into an executable inherently obfuscate it?
- stirfish 5y agoGood question, but no. Obfuscation is an additional step you can take to make it harder to turn that executable back into code.
- FearlessNebula 5y agoSo with obfuscation you can still decompile the binary into source code, but that version of the source code is much less human-readable and it would take more effort for a human to go through and understand it?
- 5y ago
- deleted 5y ago[deleted]