TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Reverse Engineering Native Apps by Intercepting Network Traffic

188 pointsby andrewricealmost 9 years ago

17 comments

heinrichfalmost 9 years ago
Let us also mention the great mitmproxy, an open source equivalent to the Charles proxy: <a href="https:&#x2F;&#x2F;github.com&#x2F;mitmproxy&#x2F;mitmproxy" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mitmproxy&#x2F;mitmproxy</a> &#x2F; <a href="https:&#x2F;&#x2F;mitmproxy.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mitmproxy.org&#x2F;</a>
评论 #12196204 未加载
评论 #12198945 未加载
shawkinawalmost 9 years ago
Wow, this guy has the completely opposite attitude of me. He seems to think it&#x27;s a bad thing, an attack!, for users to see just what the hell data you&#x27;re pulling off someone&#x27;s phone. And, bizarrely, uses an example of an app that essentially stole data from its users.<p>I should be able to see what data an app is sending, and certificate pinning (and ATS according to another comment) kills that. That&#x27;s not a good thing.
评论 #12197280 未加载
评论 #12195966 未加载
评论 #12196010 未加载
评论 #12195952 未加载
评论 #12197040 未加载
评论 #12201140 未加载
bruno2223almost 9 years ago
There is also a way, on rooted Androids, to sniff SSL pinned Apps.<p>SSL pinned is not an protection for reverse engineering anymore, you may want to add this info on your post.<p>More info at<p><a href="https:&#x2F;&#x2F;github.com&#x2F;ac-pm&#x2F;SSLUnpinning_Xposed" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ac-pm&#x2F;SSLUnpinning_Xposed</a>
评论 #12195923 未加载
Mizzaalmost 9 years ago
I had to do this recently and found a great tool for Android for sniffing traffic on the device called Packet Capture. It can even sniff SSL without root permissions by installing a self-signed certificate and running an in-app local VPN proxy. It also had a bunch of other nice features like parsing common protocols, showing the good bits of HTTP, etc. Much nicer than the approach described here (this article is from 2013), although it&#x27;s certainly only for Android folk.<p>I don&#x27;t think it&#x27;s FOSS, but hopefully a FOSS alternative will come along and use this approach.
评论 #12196463 未加载
aggregator-iosalmost 9 years ago
For those looking for a fully native experience, give <a href="https:&#x2F;&#x2F;interceptapp.xyz" rel="nofollow">https:&#x2F;&#x2F;interceptapp.xyz</a> a try. Currently in alpha. Feedback is welcome and appreciated.<p>Disclosure: I&#x27;m the developer.
评论 #12200263 未加载
ec109685almost 9 years ago
This article is from 2013. The ssl vulnerability mentioned is no longer present: <a href="https:&#x2F;&#x2F;www.charlesproxy.com&#x2F;documentation&#x2F;using-charles&#x2F;ssl-certificates&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.charlesproxy.com&#x2F;documentation&#x2F;using-charles&#x2F;ssl...</a>
isuckatcodingalmost 9 years ago
What are some other ways to prevent people from discovering your API endpoints?<p>One terrible idea I just had was creating only one publicly accessible API and then encrypting the actual endpoint in the payload which the server would decrypt and then redirect.
评论 #12199403 未加载
评论 #12197292 未加载
评论 #12196245 未加载
chillydawgalmost 9 years ago
I wonder how many techies could be silently MITM&#x27;d using the Charles root.
评论 #12196728 未加载
评论 #12202126 未加载
coinalmost 9 years ago
Isn&#x27;t it possible for apps for ignore the OS&#x27;s proxy settings and make a direct TCP connection? In that case the proxy man-in-the-middle trick won&#x27;t work.
评论 #12195782 未加载
评论 #12195686 未加载
评论 #12195675 未加载
评论 #12195730 未加载
dirkdkalmost 9 years ago
this doesn&#x27;t work anymore on iOS apps that use ATS. ATS is enabled by default and will be required by Apple by the end of 2016
评论 #12196117 未加载
throwaway2016aalmost 9 years ago
I&#x27;m pretty heavy into home automation and I use this technique all the time to learn how to control various walled garden home automation systems. Even worked with my Alarm company&#x27;s system.<p>However, if the phone app uses certificate pinning and SSL it doesn&#x27;t work. (yes, that means my alarm company doesn&#x27;t use certificate pinning).
qq66almost 9 years ago
Is there any scenario where snooping on the upstream network connection can give you valuable reverse engineering information? Because of latency&#x2F;reliability issues, most mobile apps have pretty simple and stateless protocols with the server.
bytesandbotsalmost 9 years ago
On android, this only works when the app is using http urlconnection provided by java. If the app uses apache http stack, the request is not routed through the proxy settings. Such traffic will not showup in charles or <i>the great MITM</i>.
filleokusalmost 9 years ago
Even on iOS it&#x27;s possible to bypass certificate pinning by using a jailbroken device and tool. I wouldn&#x27;t say that&#x27;s a good meassure against reverse engineering.
msoadalmost 9 years ago
That&#x27;s what I call debug mode enabled in production. RESTful JSON APIs are truly in debug mode in production
评论 #12198010 未加载
homeroalmost 9 years ago
Seems ignorant not to have a unique Charles certificate
评论 #12199770 未加载
blin17almost 9 years ago
Did someone just post this guys blog from 2013 up?