Whole-known-network
<p>We chose ActBlue as our donation processor because they follow all the rules and have systems in place to prevent fraudulent donations, like requiring donors to affirm US citizenship/residency.</p><p>Trump knows he can’t outlaw his opposition, so he’s trying to kneecap it by cutting off its funding. <a href="https://www.motherjones.com/politics/2025/04/trumps-attack-on-actblues-dark-money-was-backed-by-dark-money/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">motherjones.com/politics/2025/</span><span class="invisible">04/trumps-attack-on-actblues-dark-money-was-backed-by-dark-money/</span></a></p>
<p>one of my favorite stupid methods of reversing is "break it"</p><p>what's this function do? well, lemme disable it, and see what breaks.</p><p>Apparently this is the "restore the image under the cursor" function.</p>
<p>in 32bit we do 32bit calls and 32bit returns. <br />in 64bit we do 64bit calls and 64bit returns.</p><p>in 16bit we can do 16bit calls and 16 bits returns, 32bit calls and 32bit returns, and sometimes we do a 16bit call to a 32bit return because it's slightly fewer bytes</p>
<p>this is "thing 9005 that you don't have to worry about anymore, thank fuck"</p>
<p>so you'll see, for example, it decompiles a strlen as:</p><p>uint1 = strlen(0x1000, some_String);</p><p>which is less than useful</p>
<p>but ghidra doesn't understand that this is what's happening, so it hallucinates it as a parameter to the function that's CS.</p>
<p>I might have explained this before, but normally a near call to a far function will break, because it'll pop 4 bytes off the stack for the return address, when the near call only pushed 2. </p><p>So you fix this by doing push CS first, so it'll pop the 2 from the call, and then the 2 you placed before.</p>
<p>ugh. ghidra really doesn't understand that you can call far functions using near calls. </p><p>and the compiler for this LOVES using them.</p>
<p><span class="h-card" translate="no"><a href="https://toot.berlin/@krono" class="u-url mention">@<span>krono</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> we are probably kind of bad at asyncio. We never had a great benchmark based on that, and thus never focused on it. Maybe I should find some program that relies heavily on async, and try to profile it.</p>