<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Keagan&#039;s Website</title>
	<atom:link href="https://keaganpeterson.dev/feed/" rel="self" type="application/rss+xml" />
	<link>https://keaganpeterson.dev</link>
	<description>Keagan Peterson&#039;s personal website</description>
	<lastBuildDate>Fri, 15 Dec 2023 15:08:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Beeper Mini: The Game Against Apple</title>
		<link>https://keaganpeterson.dev/blog/beeper-mini-the-game-against-apple/</link>
					<comments>https://keaganpeterson.dev/blog/beeper-mini-the-game-against-apple/#comments</comments>
		
		<dc:creator><![CDATA[Keagan Peterson]]></dc:creator>
		<pubDate>Fri, 15 Dec 2023 15:08:18 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://keaganpeterson.dev/?p=1093</guid>

					<description><![CDATA[Introduction Beeper is an app that connects multiple chat networks into one, such as SMS, iMessage, Whatsapp, Signal and others. Each message you send and receive are relayed through Beeper&#8217;s servers, which act as a bridge to convert these messages to a Matrix channel. (This can be cool since you can use multiple Matrix clients [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Introduction</h2>



<p><a href="https://www.beeper.com/">Beeper</a> is an app that connects multiple chat networks into one, such as SMS, iMessage, Whatsapp, Signal and others. Each message you send and receive are relayed through Beeper&#8217;s servers, which act as a bridge to convert these messages to a <a href="https://matrix.org/">Matrix</a> channel. (This can be cool since you can use multiple Matrix clients to message people using a different network). Beeper has always used a fleet of Mac Minis to relay iMessages, since historically Apple devices are the only way to expose iMessage to be used elsewhere. However, a recent reverse engineering proof-of-concept named <a href="https://github.com/JJTech0130/pypush">Pypush</a> is being actively developed by <a href="https://github.com/JJTech0130/">JJtech</a>, a 16 year old security researcher who outsmarted Apple&#8217;s iMessage algorithm &#8211; never before attempted. This gained him a vast amount of popularity, especially after YouTuber &#8220;<a href="https://www.youtube.com/@snazzy">snazzy labs</a>&#8221; released a <a href="https://www.youtube.com/watch?v=S24TDRxEna4">video</a> that grew the Pypush community by 8x and gave the project 3k stars in the first week.</p>



<h2 class="wp-block-heading">Who is Beeper?</h2>



<p>The Beeper team bought Pypush a couple months before all of this, and they recently made a new Matrix bridge, replacing the old one which was slower, unreliable, and was powered by Macs. Beeper Mini has just been released, soon to replace the original Beeper app, now named Beeper Cloud. Beeper Mini now does everything locally, no need for any separate servers or Matrix bridge. This app exploded in popularity, gaining 100k downloads in 36 hours. Beeper Mini is the single most defining move in the history of iMessage x Android apps, as many parodies, commentaries, and videos are being made about this app. Linus Tech Tips also talked about Pypush, JJtech, and Beeper Mini in the latest WAN show, and one of their sister channels has released a video here. US Senator Warren also made her opinions known on Twitter, as did many others.</p>



<h2 class="wp-block-heading">Current Sentiment</h2>



<p>However, with the good also comes the bad. Many people have made comments about this app about it being &#8220;insecure and a huge vulnerability for Apple&#8221;. These are the same people who are thinking you are hacking the government and expecting the FBI to take you to prison or something just because you jailbroke your iPhone. These comments are luckily being called out as BS, since Pypush is very much open source as well as Beeper, who currently has every one of their Beeper Cloud bridges open-sourced, and parts of Beeper Mini in the future (and they have been very transparent compared to other competitors, where communication is a huge problem in the community). You can see exactly how Beeper Mini works and all the technical details <a href="https://blog.beeper.com/p/how-beeper-mini-works">right here</a>, which is also where you can find their <a href="https://blog.beeper.com/p/beeper-cloud-and-product-roadmap">product roadmap for future plan</a>s.</p>



<h2 class="wp-block-heading">What Broke?</h2>



<p>I bet you&#8217;re wondering an important question right now, does Apple like this? The answer is: no. No, not one bit. They were fine with the development of Pypush, but the second day Beeper Mini was released, they broke it. If you are interested in the technical details, here they are (I highly recommend you read <a href="https://jjtech.dev/reverse-engineering/imessage-explained/">JJtech&#8217;s article</a> before continuing): when Pypush first connects, it requests an authentication certificate from Albert (which is required to connect to <a href="https://www.google.com/search?client=firefox-b-1-lm&amp;q=apns">APNs</a>), the first step in connecting to Apple&#8217;s servers. Device info is sent along with the request, and before we were identifying as a Windows device since Windows can use iTunes and that is what JJtech first developed on. However Windows devices do not have iMessage functionality, so Apple can easily see block devices that identify as Windows but try to send an iMessage.</p>



<h2 class="wp-block-heading">Beeper&#8217;s Response</h2>



<p>This was a simple fix but took a few days to implement. However, SMS-registration is still broken to this day due to unknown reasons. SMS-registration is the act of registering an Android phone number with iMessage so you can use your number as an alias within Beeper or any other Android iMessage client. To add onto that, Apple seems to be silently breaking people&#8217;s messages, as some can&#8217;t send or receive iMessages. Apple appears to be blocking the serials and device info Beeper Mini/Cloud and Pypush uses. This is yet to be fixed for everyone, but it seems Beeper has a solution for now.</p>



<h2 class="wp-block-heading">Just a Theory&#8230;</h2>



<p>Many are speculating this will be an infinite cat-and-mouse game between Pypush/Beeper and Apple, but no one knows how it&#8217;s going to shape out to be or end, as Apple did confirm they broke &#8220;unauthorized actors from gaining access to our system with fake credentials&#8221; which is absolute bullshit. We do however know that Apple has not broken iMessage with older devices such as the iPhone 4 or legacy Macs, which is a very good sign for us. The only reason Pypush would ever break is if Apple ever released an update to use the <a href="https://www.reddit.com/r/jailbreak/comments/7kqbw1/question_what_is_sep/">SEP</a> (Secure Enclave Processor, all iPhones and all M series Macs) or <a href="https://support.apple.com/en-us/103265">T2 chip</a> (Intel Macs starting with 2019) to integrate with iMessage. However many rightfully doubt this will ever happen since older Intel Mac models do not have these chips, and an update would be required &#8211; which many of Apple&#8217;s EOL devices would not be able to undergo, and even then very few people update their devices that often, and iMessage would be broken for all devices on iOS 17 or lower.</p>



<h2 class="wp-block-heading">The Future of Beeper Mini</h2>



<p>However that doesn&#8217;t mean Apple still won&#8217;t play a cat-and-mouse game, though eventually it will probably shape up Pypush and Beeper Mini to be more undetectable, and officially end the game. This is most likely since projects like this need much time to mature, and this is a very new product. Many speculate the reason Apple broke Beeper Mini was because it was $2/month, which creates a legal grey area because they were effectively selling the services of another company. Beeper Mini has since made their service free, planning to paywall it with new features in the future as they plan to add more networks and device compatibility.</p>



<h2 class="wp-block-heading">Resources</h2>



<p><a href="https://jjtech.dev/reverse-engineering/imessage-explained/">JJtech&#8217;s articl</a>e<br><a href="https://blog.beeper.com/p/beeper-cloud-and-product-roadmap">Beeper Product Roadmap</a><br><a href="https://blog.beeper.com/p/how-beeper-mini-works">How Beeper Mini Works</a><br><a href="https://blog.beeper.com/p/beeper-mini-is-back">Beeper Mini&#8217;s return</a></p>



<h5 class="wp-block-heading">From JJtech&#8217;s article</h5>



<p><a href="https://kb.imfreedom.org/protocols/imessage/">IMFreedom Knowledge Base: iMessage</a><br><a href="https://github.com/mfrister/pushproxy">M. Frister: pushproxy</a><br><a href="https://gitlab.com/nicolas17/apns-dissector">Nicolás: APNs-dissector</a><br><a href="QuarkSlab: iMessage Privacy"></a><a href="https://blog.quarkslab.com/imessage-privacy.html">QuarkSlab: iMessage Privacy</a><br><a href="https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_garman.pdf">Garman et al. Chosen Ciphertext Attacks on Apple iMessage</a><br><a href="NowSecure: Reverse Engineering iMessage"></a><a href="https://www.nowsecure.com/blog/2021/01/27/reverse-engineering-imessage-leveraging-the-hardware-to-protect-the-software/">NowSecure: Reverse Engineering iMessage</a><br><a href="Elcomsoft: iMessage Security and Attachments"></a><a href="https://blog.elcomsoft.com/2018/11/imessage-security-encryption-and-attachments/">Elcomsoft: iMessage Security and Attachments</a><br><a href="https://github.com/open-imcore">Eric Rabil’s open-imcore</a><br><a href="https://theapplewiki.com/wiki/Apple_Push_Notification_Service">The Apple Wiki: Apple Push Notification Service</a><br><a href="https://par.nsf.gov/servlets/purl/10200009">Mihir Bellare and Igors Stepanovs: Security under Message-Derived Keys: Signcryption in iMessage</a><br><a href="https://support.apple.com/lt-lt/guide/security/sec70e68c949/web">Apple Platform Security: How iMessage sends and receives messages securely</a><br><a href="https://gist.github.com/nicolas17/559bec0d8e636f93f62cca844ee94ada">Nicolás: Apple IDS payload keys</a><br><a href="https://discord.gg/NAxRYvysuc">Various people on the Hack Different Discord</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://keaganpeterson.dev/blog/beeper-mini-the-game-against-apple/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>The Sunbird Situation</title>
		<link>https://keaganpeterson.dev/blog/the-sunbird-situation/</link>
					<comments>https://keaganpeterson.dev/blog/the-sunbird-situation/#comments</comments>
		
		<dc:creator><![CDATA[Keagan Peterson]]></dc:creator>
		<pubDate>Wed, 22 Nov 2023 02:36:40 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://keaganpeterson.dev/?p=1087</guid>

					<description><![CDATA[The past few days have been quite the rough ride for Sunbird, a competitor of Beeper among security concerns raised by the community. When it comes to unified messaging apps, Sunbird has always been the runt of them all, being closed-source (and no sign of change), very buggy, slow development, and a plethora of other [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>      The past few days have been quite the rough ride for <a href="https://www.sunbirdapp.com/">Sunbird</a>, a competitor of Beeper among security concerns raised by the community. When it comes to unified messaging apps, Sunbird has always been the runt of them all, being closed-source (and no sign of change), very buggy, slow development, and a plethora of other reasons. However recently, <a href="https://us.nothing.tech/">Nothing</a> made a partnership with Sunbird, which made the app more mainstream with Nothing Phone 2 users now getting access to &#8220;Nothing Chats&#8221;, a divergent of Sunbird. However, this partnership has gone very south recently.</p>



<h2 class="wp-block-heading">Rising Concerns</h2>



<p>      Community members have raised concerns about the app&#8217;s privacy for quite a long time, pointing out trackers found in the decompiled app&#8217;s code. Sunbird later banned this member and did not allow discussion of this incident. However three days ago, November 18 2023, multiple members found a fatal vulnerability. The initial request to the Firebase DB is made using HTTP, rather than HTTPS &#8211; the secure version. Many of us wonder how in the world a mistake like this was made &#8211; many people pointed out that a simple 14 year old could identify and fix this issue with some tech knowledge, and implementing HTTPS is an extremely easy task to do. A proof-of-concept showing how this could be exploited can be found [here], and shows the true impact of user&#8217;s privacy. Every user that has ever used Sunbird now has some amount of information leaked online.</p>



<h2 class="wp-block-heading">Sunbird&#8217;s Response</h2>



<p>      Days later, Sunbird shut down their service due to these security concerns, and their app has been pulled both from the Apple App Store and the Google Play Store. Nothing&#8217;s relationship with Sunbird seems to be dwindling in light of this situation, as Nothing probably had no idea who they were dealing with. Amid these leaks, Sunbird still holds their stance on having their app closed-source &#8211; a foolish decision since they have the least transparency and user trust than any other unified messaging platform to begin with!</p>



<h2 class="wp-block-heading">Current Sentiment</h2>



<p>      Many users have since left, but few are still foolishly siding with Sunbird, not knowing the benefits of using generally better apps such as Beeper. After communicating with some of the Sunbird community members about the truth of what is happening, many others (including those who made the proof-of-concept demonstration, those who raised concerns about trackers, and even those who said anything positive about Beeper) have been banned &#8211; I myself have gotten a lengthy timeout. The only thing that surprised everyone is how long it is taking Sunbird to correct this issue&#8230;we were all generally aware about security concerns and failing user trust, but this entire situation has been enlightening for everyone, and will continue to be once this gets resolved.</p>



<h2 class="wp-block-heading">The Future of Sunbird</h2>



<p>      Sunbird&#8217;s future is ultimately unsure. However this has left a astonishing mark on their reputation and will never fully recover from this, after a lot of time, work, and consideration it will be added back to app stores. I believe Sunbird unfortunately will live on, but I also believe that Beeper will reign supreme in the long run, and that Sunbird&#8217;s tarnished trust with its users will only slightly heal, especially when we find more vulnerabilities. But for now, Sunbird&#8217;s reputation is very much dwindling, and we are unsure if Nothing will continue their partnership.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://keaganpeterson.dev/blog/the-sunbird-situation/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Pypush: A Look Inside iMessage</title>
		<link>https://keaganpeterson.dev/blog/pypush-a-look-inside-imessage/</link>
					<comments>https://keaganpeterson.dev/blog/pypush-a-look-inside-imessage/#comments</comments>
		
		<dc:creator><![CDATA[Keagan Peterson]]></dc:creator>
		<pubDate>Fri, 17 Nov 2023 19:51:03 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://keaganpeterson.dev/?p=1067</guid>

					<description><![CDATA[Over the years (not very many) I&#8217;ve been involved in quite a few projects. Whether it&#8217;s a community project, personal project, or just a Bash script that&#8217;s taking a little too long. One such &#8220;project&#8221; I&#8217;ve contributed to is called Pypush. I never helped that much with the internals, but I guess I&#8217;ve done enough [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Over the years (not very many) I&#8217;ve been involved in quite a few projects. Whether it&#8217;s a community project, personal project, or just a Bash script that&#8217;s taking a little too long. One such &#8220;project&#8221; I&#8217;ve contributed to is called <a href="https://github.com/beeper/pypush" title="">Pypush</a>. I never helped <em>that</em> much with the internals, but I guess I&#8217;ve done enough to gain the Contributor role on Discord :p. Anyway, Pypush is a proof-of-concept reverse engineering attempt at iMessage written in Python. I have to say, this is a pretty neat project, especially today where apps like Beeper, BlueBubbles and Sunbird are emerging and paving the path to bring chat networks (mainly iMessage) together. 3 years ago, no one would have ever thought of the concept of having iMessage on a standard Android phone. Well, I guess people still think the same thing today, but the difference is, they&#8217;re wrong.</p>



<h2 class="wp-block-heading">Overview</h2>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<p>I&#8217;ve been able to use Beeper on my phone and communicate with others via iMessage very easily. And not just with my email, but with my literal phone number as my main iMessage alias! This is one of the core features of Pypush, being able to link a standard phone number to the proprietary iMessage network. Very soon, Pypush will be built as the backend of these apps and platforms, Beeper is already doing it today, rolling out betas for those who want to try! There is also an active attempt to implement the Rust version of Pypush into <a href="https://bluebubbles.app/" title="">BlueBubbles</a>, the best iMessage-only platform.</p>
</div>
</div>



<h2 class="wp-block-heading">History</h2>



<p>Pypush is written and maintained by a high school student, Who&#8217;s Github alias is <a href="https://github.com/JJTech0130" title="">JJtech</a>. His endeavors began in the <a href="https://github.com/hack-different" title="">Hack Different</a> community, and it eventually gained enough traction to get it&#8217;s very own small community. (He currently has a blog post about how it works right <a href="https://jjtech.dev/reverse-engineering/imessage-explained/" title="">here</a>). Right now, Pypush can do two <em>main</em> things: send iMessages, and link phone numbers; however iCloud and Openhaystack integrations are currently being worked on. Soon after, a company called <a href="https://www.beeper.com/" title="">Beeper</a> bought it and hired JJtech, or James, as a part-time employee. A community member has ported <a href="https://github.com/TaeHagen/rustpush" title="">Pypush to Rust</a>, gaining the name &#8220;Rustpush&#8221;, and Beeper has an internal Go version, soon to be open-sourced. Beeper is also currently rolling out betas with the new &#8220;Pypush bridge&#8221;, in place of their previous Mac server farm.</p>



<h2 class="wp-block-heading">Impact</h2>



<p>Apps such as Beeper, Sunbird, and BlueBubbles currently use a Mac server to host an iMessage bridge on Android devices. This is basically the backend of all these platforms. However, Pypush now can serve as the &#8220;serverless backend&#8221;, being able to now use Apple related services locally, without a separate server. Beeper is moving towards this, and there is a current push to get it working with BlueBubbles&#8230;.once this happens, it will be a game changer, since BlueBubbles is without a doubt the best platform for iMessage.</p>



<p>In summary, the impact of Pypush extends beyond its proof-of-concept roots. Each of the platforms I mentioned before will soon be impacted by Pypush, serving as the new backend for these apps, and hopefully ending Apple&#8217;s monopoly on iMessage. Beeper&#8217;s integration and ongoing efforts with BlueBubbles show that this could be a huge transition, especially with companies like <a href="https://us.nothing.tech/" title="">Nothing</a> implementing Sunbird on their consumer devices (more on that <a href="https://www.theverge.com/2023/11/14/23960516/nothing-chats-imessage-android-phone" title="">here</a>) and Apple claiming to integrate RCS on their messaging app.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://keaganpeterson.dev/blog/pypush-a-look-inside-imessage/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Minified using Disk

Served from: keaganpeterson.dev @ 2026-05-09 11:07:01 by W3 Total Cache
-->