<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Melomac</title>
		<link>https://melomac.com/</link>
		<description>Recent content on Melomac</description>
		<generator>Hugo</generator>
		<language>en_US</language>
		
		
		
			<copyright>Melomac &amp;copy; 2026</copyright>
		
		
			<lastBuildDate>Thu, 02 Jul 2026 04:24:17 +0200</lastBuildDate>
		
			<atom:link href="https://melomac.com/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Run Swift on Debian Trixie</title>
				<link>https://melomac.com/posts/run-swift-on-debian-trixie/</link>
				<pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://melomac.com/posts/run-swift-on-debian-trixie/</guid>
				<description>&lt;p&gt;Installing &lt;a href=&#34;https://www.swift.org/&#34; title=&#34;Swift official website&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Swift&lt;/a&gt; toolchain on &lt;a href=&#34;https://www.debian.org/&#34; title=&#34;Debian official website&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Debian&lt;/a&gt; is a no-brainer. Users can either pick up &lt;a href=&#34;https://www.swift.org/install/linux/&#34; title=&#34;The Swiftly installer manages Swift and its dependencies.&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;swiftly&lt;/a&gt; or unpack the &lt;a href=&#34;https://www.swift.org/install/linux/debian/&#34; title=&#34;Alternate Install Options&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;current&lt;/a&gt; tarball, and if you are running a supported Debian version—e.g. Debian 12 &lt;a href=&#34;https://wiki.debian.org/DebianBookworm&#34; title=&#34;Debian Releases: Debian Bookworm&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bookworm&lt;/a&gt; at the time of this writing—then you are good to go.&lt;/p&gt;&#xA;&lt;p&gt;This article is about running the latest Swift toolchain on the current stable Debian release: &lt;a href=&#34;https://wiki.debian.org/DebianTrixie&#34; title=&#34;Debian Releases: Debian Trixie&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Trixie&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Introducing fashion command-line tool</title>
				<link>https://melomac.com/posts/introducing-fashion-command-line-tool/</link>
				<pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
				<guid>https://melomac.com/posts/introducing-fashion-command-line-tool/</guid>
				<description>&lt;p&gt;&lt;code&gt;fashion&lt;/code&gt; is a Swift command-line interface to traverse a file hierarchy and compute or match popular hash digests.&#xA;The project is hosted on &lt;a href=&#34;https://codeberg.org/melomac/fashion&#34; title=&#34;Codeberg: melomac/fashion&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Codeberg&lt;/a&gt; and natively supports:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developer.apple.com/documentation/cryptokit/&#34; title=&#34;Perform cryptographic operations securely and efficiently.&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CryptoKit&lt;/a&gt; hash functions: &lt;a href=&#34;https://en.wikipedia.org/wiki/SHA-2&#34; title=&#34;Wikipedia: SHA-2&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SHA-2&lt;/a&gt; (SHA256 by default), insecure &lt;a href=&#34;https://en.wikipedia.org/wiki/SHA-1&#34; title=&#34;Wikipedia: SHA-1&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SHA-1&lt;/a&gt; and &lt;a href=&#34;https://en.wikipedia.org/wiki/MD5&#34; title=&#34;Wikipedia: MD5&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MD5&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;fuzzy hash functions: &lt;a href=&#34;https://github.com/ssdeep-project/ssdeep&#34; title=&#34;GitHub: ssdeep-project/ssdeep&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ssdeep&lt;/a&gt; and &lt;a href=&#34;https://github.com/trendmicro/tlsh&#34; title=&#34;GitHub: trendmicro/tlsh&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TLSH&lt;/a&gt; as submodules with Swift C bridging&lt;/li&gt;&#xA;&lt;li&gt;searching for multiple digests with any algo and a similarity / distance score for fuzzy hash&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://git-scm.com/docs/git-hash-object&#34; title=&#34;Git: hash-object&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;git-hash-object&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.anomali.com/blog/symhash&#34; title=&#34;SymHash: An ImpHash for Mach-O&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;symhash&lt;/a&gt; with any algo, separator and optional sort (Mach-O binaries)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apple-oss-distributions/xar/&#34; title=&#34;GitHub: apple-oss-distributions/xar&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;XAR&lt;/a&gt; archives (macOS packages) table of contents checksum with any algo and optional decompress (zlib)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developer.apple.com/documentation/technotes/tn3126-inside-code-signing-hashes&#34; title=&#34;TN3126: Inside Code Signing: Hashes&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CDHash&lt;/a&gt; of Mach-O binaries — embedded when signed, AD-HOC synthesized when not&lt;/li&gt;&#xA;&lt;li&gt;multithreading&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;With optimizations, &lt;code&gt;fashion&lt;/code&gt; is very fast yet has a minimal real memory footprint &amp;lt; 150MB:&lt;/p&gt;</description>
			</item>
			<item>
				<title>About Me, Myself, and I</title>
				<link>https://melomac.com/about/</link>
				<pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate>
				<guid>https://melomac.com/about/</guid>
				<description>&lt;p&gt;I&amp;rsquo;d love to spare you the agony of a biography, but you might want to know I started with computers on a Macintosh SE running System 7, programming musical keyboards, then drifted into pirating, debugging, reversing, and developing software 🏴‍☠️&lt;/p&gt;&#xA;&lt;p&gt;As a security researcher, I notably discovered &lt;a href=&#34;https://en.wikipedia.org/wiki/RSPlug&#34; title=&#34;Wikipedia: RSPlug&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RSPlug&lt;/a&gt; aka the DNSChanger variant for Mac, uncovered the &lt;a href=&#34;https://en.wikipedia.org/wiki/Flashback_%28Trojan%29&#34; title=&#34;Wikipedia: Flashback (Trojan)&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Flashback&lt;/a&gt; botnet (named after the popular &lt;a href=&#34;https://www.youtube.com/watch?v=dYZEl7TVu-0&#34; title=&#34;Laurent Garnier - Flashback (Official Video by Quentin Dupieux - 1997 - F Communications)&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;track&lt;/a&gt; by Laurent Garnier), exposed the &lt;a href=&#34;https://wikileaks.org/hackingteam/emails/emailid/473861&#34; title=&#34;WikiLeaks: OSX/Crisis Has Been Used as Part of a Targeted Attack&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hacking Team&lt;/a&gt; implant, dissected adware like &lt;a href=&#34;https://www.sentinelone.com/blog/osx-ironcore-a-or-what-we-know-about-osx-flashimitator-a/&#34; title=&#34;OSX.IronCore.A or what we know about OSX.FlashImitator.A&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IronCore&lt;/a&gt; or &lt;a href=&#34;https://www.sentinelone.com/blog/analysis-ios-guiinject-adware-library/&#34; title=&#34;Analysis of iOS.GuiInject Adware Library&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GuiInject&lt;/a&gt;, miners like &lt;a href=&#34;https://www.sentinelone.com/blog/osx-pwnet-a-csgo-hack-and-sneaky-miner/&#34; title=&#34;CS:GO Hacks for Mac That You Shouldn&amp;#39;t Trust&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Pwnet&lt;/a&gt; or &lt;a href=&#34;https://www.sentinelone.com/blog/osx-cpumeaner-miner-trojan-software-pirates/&#34; title=&#34;OSX.CpuMeaner: New Crypto Mining Trojan Targets macOS&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CpuMeaner&lt;/a&gt;, and even suggested the &lt;a href=&#34;https://www.intego.com/mac-security-blog/osxshlayer-new-mac-malware-comes-out-of-its-shell/&#34; title=&#34;OSX/Shlayer: New Mac malware comes out of its shell&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shlayer&lt;/a&gt; name. Then I vanished into the &lt;a href=&#34;https://en.wikipedia.org/wiki/Reality_distortion_field&#34; title=&#34;Wikipedia: Reality distortion field&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reality distortion field&lt;/a&gt;. I shipped meaningful work, outlasted some turbulence, and left with unfinished business &lt;a href=&#34;https://en.wikipedia.org/wiki/Three_wise_monkeys&#34; title=&#34;see no evil, hear no evil, speak no evil.&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;🙉🙊🙈&lt;/a&gt; &lt;a href=&#34;https://www.reddit.com/r/shiftingrealities/wiki/index/&#34; title=&#34;r/shiftingrealities Wiki&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;#shifting&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>XProtect behavioral flop</title>
				<link>https://melomac.com/posts/xprotect-behavioral-flop/</link>
				<pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate>
				<guid>https://melomac.com/posts/xprotect-behavioral-flop/</guid>
				<description>&lt;p&gt;On reading the latest Security Advisories for macOS, a few friends noticed I recently went through a career change:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Sandbox&lt;/strong&gt;&lt;br&gt;&#xA;We would like to acknowledge Arnaud Abbati for their assistance.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;And, for once I can share what I do, I am certainly not going to miss the opportunity!&lt;/p&gt;&#xA;&lt;h2 id=&#34;threat-or-thread&#34;&gt;Threat or Thread&lt;a href=&#34;#threat-or-thread&#34; aria-hidden=&#34;true&#34; tabindex=&#34;-1&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;As far as I remember, I always kept an eye wide open on live threats to monitor their evolutions. Once I&amp;rsquo;d figure out the delivery method, I&amp;rsquo;d automate the downloading of new variants and receive notifications about notable changes.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
