That trick I learned with the Visual Studio debugger

Alright, I’ll admit it it: I am in team WinDbg. Sure, I’ll happily use WinDbgX — the “Preview” version of the “new” WinDbg which has been in preview for ages now — but I always was a bit unhappy with the facilities that Visual Studio had to offer.

Lately I was helping debugging an issue in the Visual C/C++ runtime (“MSVCRT”) and we were wondering which exact Win32 status had been reported under the hood. Unfortunately by remapping the Win32 status codes to errno_t some information may get lost.

So I thought to myself: “Well, I know this one! The TEB 1 holds the last Win32 status, which is what GetLastError() queries.” … so despite my disdain for the VS debugger, I thought I’d be able to guide someone else through using the pseudovariable $tib 2 to look at TEB::LastErrorValue. Alas, when I tried it already failed at the first step: identifier “_TEB” is undefined. Oh my.

The immediate rescue came from someone else, who suggested that we should be able to set a watch with the value GetLastError() to get to the Win32 status code. Adding another as GetLastError(),hr even makes it human-readable, just like the modifier x will cause values to be shown in hex:

Watch window inside Visual Studio showing failed attempts

But the next time around I needed to know the last NT status code. And while that also resides in the TEB as TEB::LastStatusValue, it’s even more cumbersome to get to. But either way, GetLastError() wasn’t going to cut it.

So back to the drawing board. But not for long.

Although I also had initially tried qualifying the name of the module by prepending it separated with an exclamation point — (nt!_TEB*)$tib — just the way I knew from WinDbg, I only ever received: Module “nt” not found.. But that seems to be a condition different from identifier … is undefined. And then I had the epiphany. Probably the debug symbols containing _TEB and _PEB and friends where simply not loaded.

Watch window inside Visual Studio showing module not found error

And sure enough I noticed that I had picked — for performance reasons — “Load only specified modules” within VS. Telling it to load the symbols for ntdll.dll and kernel32.dll was my course of action:

Dialog: Symbols to load automatically with Visual Studio Options dialog in background

Furthermore it turned out that — contrary to what I was used from WinDbg 3nt wasn’t a valid module name. So fair enough, I tried with ntdll.

And sure enough it worked!

Watch window inside Visual Studio showing the first successful attempt to cast $tib to ntdll!_TEB

… and as you can see, it can even expand the variable and peek into it.

Consequently the next step was natural:

  • Last Win32 status: ((ntdll!_TEB*)$tib)->>LastErrorValue,hr
  • Last NT status: ((ntdll!_TEB*)$tib)->>LastStatusValue,hr

Observe:

Watch window inside Visual Studio showing TEB::LastErrorValue and TEB::LastStatusValue

The nice thing is, since we can rely on the matching debug symbols, this should work reliably 4.

If you wanted to be really “hardcore” you could use something like these to tap into the aforementioned structs without symbols:

  • *(int*)($tib+(sizeof(void*) == 8 ? 0x68 : 0x34)),hr
  • *(int*)($tib+(sizeof(void*) == 8 ? 0x1250 : 0x0bf4)),hr

Watch window inside Visual Studio showing TEB::LastErrorValue and TEB::LastStatusValue without loaded/available debug symbols

Hope this will prove useful to someone.

// Oliver

  1. Thread Environment Block []
  2. Thread Information Block: _NT_TIB []
  3. where nt can stand in as module name for either the current kernel or ntdll []
  4. … unlike the layout of those structs from Terminus Project which may or may not be correct on any given system []
Posted in C/C++, EN, Programming | Tagged , | Leave a comment

IDA and Hex-Rays decompiler keyboard shortcut cheat sheet

Find it on GitHub: assarbad/some-latex/releases/tag/v1.0-ida-cheat-sheet

LaTeX source can be found in the repository itself.

Posted in EN, Reversing | Tagged , | Leave a comment

Reminder to self: IDA load all sections

Just a reminder to myself. Edit cfg/pe.cfg inside the IDA installation folder to configure the PE loader to load all sections:

// Always load all sections of a PE file?
// If no, sections like .reloc and .rsrc are skipped

PE_LOAD_ALL_SECTIONS = YES

This will load the PE header as well as the resource section into the database.

Posted in EN, Reversing, Software | Tagged | Leave a comment

ASR rule “Block Win32 API calls from Office macros”

Microsoft says it’s fixed. It may be, but I think there’s more to it than meets the eye.

Colleagues of mine noticed that, aside from shortcuts disappearing, Defender also started acting up on TortoiseProc.exe from TortoiseSVN. Notably, checkouts would fail and files would be “caught” (and reported) by Defender. Not only that, but once the rule had been set to audit as an immediate workaround, the problem stopped.

That raised an eyebrow, I have to admit.

But let’s first take the facts we know apart a bit. The rule is named “Block Win32 API calls from Office macros1 — emphasis mine. Now wouldn’t this suggest that the rule is scoped to (Microsoft) Office only? To me it would. Continue reading

  1. GUID: 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b []
Posted in Administration, EN, IT Security | Tagged , , | Leave a comment

dumbin.exe, editbin.exe, lib.exe …

They’re all just slim wrappers around the actual link.exe, not using a common DLL or so, but actually invoking:

  • dumpbin.exe simply invokes "link /dump" and failing that "link.exe link /dump"
  • editbin.exe simply invokes "link /edit" and failing that "link.exe link /edit"
  • lib.exe simply invokes "link /lib" and failing that "link.exe link /lib"

… respectively; all with the respective command line arguments, you passed to the tools, appended.

I’m currently looking into internals of cl.exe and link.exe and thought I’d share. On the other hand I probably could have gained that insight as well from Geoff Chappell’s website, rather than from IDA 😉 …

// Oliver

Posted in EN, Programming, Reversing | Tagged , | Leave a comment

What does adding masm targets do under the hood

If in Visual Studio when you right-click a C/C++-project in the Solution Explorer, you choose Build Customizations…, the following dialog will be presented:

If you check the item for masm, the following changes will be done to your .vcxproj file:

<!-- inside the ImportGroup labeled ExtensionSettings adds: -->
<ImportGroup Label="ExtensionSettings">
  <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
</ImportGroup>
<!-- inside the ImportGroup labeled ExtensionTargets adds: -->
<ImportGroup Label="ExtensionTargets">
  <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
</ImportGroup>

The items will then appear as:

<ItemGroup>
  <MASM Include="foobar.asm" />
</ItemGroup>

// Oliver

PS: Mostly meant as a reminder for myself.

Posted in C/C++, EN, Programming | Tagged , , | Leave a comment

Certum Open Source Code-Signing certificate

In the past I used a variety of code-signing CAs. But for a few years now I am using Certums affordable offer for Open Source developers.

Let’s assume you already have their latest hardware and merely want to renew or get a new certificate 1. There was a swap to smartcards (and respective readers) in 2021, which allows for bigger key sizes on the card. So if you used the old clunky card reader for them, the new one looks slicker, offers more and is necessary to get a renewal or a new certificate from them. The offer comes in two flavors:

  1. Card reader plus code-signing certificate
  2. Just the certificate

Now the process of getting a certificate is a bit finicky, albeit no comparison to the utterly stupid treatment I received from Sectigo!

Here I am going to explain a little how it worked for me.

So let’s recall what code signing is and what it’s needed for. Code-signing is used to establish a trust chain between you (the developer or company) and the person receiving your software. The certificate authority (CA) — here Certum — is the trust anchor that comes usually preinstalled 2 on the user’s system in a so-called trust store.

Now clearly there’s a gap here. Between you and the CA. And I’ll get to that in a moment.

But for now we have to get a little technical. The code-signing from the technical point of view works by you having a certificate and a secret key ((… technically you have a key pair of public and private 3 key, but the public key is no secret and you can tell anyone about it 😉. The secret key is usually also protected by a passphrase 4 or PIN. With Certum the key pair is generated and stored on a smartcard. This little device looks just like one of those SIM cards (the biggest form factor of SIM cards) and comes right inside the card reader you purchase from them. Access to the card is controlled by a PIN and PUK you can change via their proCertum CardManager software 5.

So how do we fill that gap between you and the CA? Two things:

  1. you send a Certificate Signing Request (CSR) to the CA in which you enter personal details identifying you along with information about your key pair (the public key), signed by you using the private key
  2. the CA duly checks the identity details against documents they will request from you

To send a CSR you first purchase the product and pay for it. After that you have a spare CSR, so to speak. Which you can only send — at least for the Open Source code-signing flavor — via a browser. And this is where it gets a bit involved and finicky.

Firefox did not work for me. So I used MS Edge, given in the past many CAs simply required Internet Explorer 6. However, in order to get this to work you need to download something called the Certum Crypto Agent from Certum’s website. And that is a Java WebStart Applet (.jnlp file). And as we all know Java integration into the browser isn’t what it once was. Since all options more or less suck, I opted for OpenWebStart. You can install it using winget via winget install --id karakun.OpenWebStart. Easy. Of course you also need a Java Runtime Environment for which I used Eclipse Adoptium Temurin JRE, which can be installed via winget install --id EclipseAdoptium.Temurin.19.JRE. Hah! Now start the Certum Crypto Agent and make sure proCertum CardManager is running, too. The agent acts as an intermediary between the website (likely via web sockets or some such) and the CardManager.

So what do we have when we start?

  • Card reader (from Certum)
    • Smartcard (bundled with the reader)
  • proCertum CardManager
  • Certum Crypto Agent

You can then select the spare CSR from the list on the website and walk through the steps. For the key size I prefer to use 4096, but YMMV. This should kick off a key generation step on the smartcard via the agent and CardManager. Once done, the smartcard will hold the new key pair (secured by the card and your PIN) and Certum will have received your CSR, signed with the newly generated key pair.

Now comes the validation phase during which Certum will request documentation about your identity from you 7.

Assuming all checked out — there can be a little back and forth –, you will hear back from Certum and your newly issued certificate will wait for you on their website. That certificate has been signed by Certum to affirm that the public key you mentioned in your CSR belongs to a key pair which you own.

Simply download the certificate and import it onto the card via the proCertum CardManager.

You’re done. You now have:

  • Card reader (from Certum)
    • Smartcard (bundled with the reader)
      • Key pair (private + public)
      • Imported certificate (signed by Certum)
  • proCertum CardManager
  • Certum Crypto Agent (only needed while sending CSR)

From this point on you can use signtool.exe or similar software to sign your code.

// Oliver

PS: keep reading if you want to know some of the more technical aspects, because time and time again people seem to confuse terminology.

What do you need to sign? The certificate? Yes, but that’s not enough. You need the certificate and the matching private key.

When you sign code for Windows, the signing happens by taking parts from the PE file and hashing those 8. The result is a few bytes long and contains a cryptographic hash over the relevant parts of the PE file. That’s what is going to get signed.

And when you sign it, you use you private key — in case of the above method on the smart card and protected by an additional PIN, in the past often in a PFX file and protected by a passphrase.

But your signature with the private key can be verified based on your public key! And so while signing you practically enclose the certificate you received from the CA alongside the signature.

Now the certificate, as you may remember, contains your public key and some information about you. But the certificate is also signed by Certum. And that’s the missing link.

The user’s system will in all likelihood know about the Certum CA and so can check the signature on the enclosed certificate. And because the CA is meant to ensure that the identity of someone receiving such a certificate has been duly checked before it gets issued, this closes the gap between you and the CA.

Now whoever wants to check the signature will first formally check the signature against a computed hash of the PE file contents. If it checks out it will proceed to validate the enclosed certificate and verify that the public key of the signature matches the public key from the certificate. Then it can use the so-called trust store 9 to establish a connection to a trusted CA. And if that succeeds your signature was successfully verified.

There are a lot more details that I could dwell on, but this small treatise should even give laypeople a grasp of what code-signing is all about and what’s involved.

  1. These instructions are in all likelihood also true for their offers which aren’t limited to Open Source signing. []
  2. … on account of the used operating system, such as Windows []
  3. also secret key []
  4. … this was most common when people used PFX files which contained both the certificate and the key []
  5. As a side-note, I cannot recommend the Linux version of their software. I tried it and aside from providing only an unclean uninstallation, it also didn’t work. []
  6. … I know … I know 😉 []
  7. In my case they wanted my government ID which I had to present, along with a video capture of my face to match ID and face. Additionally they wanted a document showing my name with the address, e.g. a utility bill and last but not least the URL to the Open Source project which should list you in plain to make the connection. The last part is due to the offer being considerably cheaper than commercial code-signing certificates, so they want to make sure you’re not cheating their conditions. Also Extended Validation (EV) certificates usually require more documentation, that you have an incorporated company in whose name the certificate is issued and even a notary to affirm that you are you. []
  8. Sysinternals’ sigcheck calls it the PE hash, e.g. PESHA1 and PE256 []
  9. … which is where the system stores the knowledge about the CA certificates []
Posted in EN, IT Security, Software | Tagged , | Leave a comment

PowerShell

Within the last two years or so I have started to use more and more PowerShell scripting at work and for my private administration tasks on Windows.

The thing I find coolest about PowerShell is that you can tap into the .NET Framework and do weirdly satisfying stuff like this:

<#
Reading actual Windows version from KUSER_SHARED_DATA
xref: http://terminus.rewolf.pl/terminus/structures/ntdll/_KUSER_SHARED_DATA_combined.html
xref: https://msrc-blog.microsoft.com/2022/04/05/randomizing-the-kuser_shared_data-structure-on-windows/
#>
$WinVerMaj = [System.Runtime.InteropServices.Marshal]::ReadInt321, 0x026c)
$WinVerMin = [System.Runtime.InteropServices.Marshal]::ReadInt322, 0x0270)
$WinVerBld = [System.Runtime.InteropServices.Marshal]::ReadInt323, 0x0260)
Write-Output "Windows: $WinVerMaj.$WinVerMin.$WinVerBld"

I’ve done this from C/C++ before, and I’ve even had some encounters with System.Runtime.InteropServices during my first serious C# project, but this is just beautiful. As you may or may not know Windows can lie to you about the Windows version depending on the manifest and its contents or its absence. By consulting the respective fields of KUSER_SHARED_DATA we can simply read the actual version whenever needed … and now even from PowerShell.

Perhaps those more seasoned in the use of PowerShell know even more elegant ways to express the same, but to me the above is already quite satisfying.

// Oliver

  1. New-Object IntPtr(0x7ffe0000 []
  2. New-Object IntPtr(0x7ffe0000 []
  3. New-Object IntPtr(0x7ffe0000 []
Posted in Administration, EN, Programming | Tagged | Leave a comment

Die wohlstandsverwahrloseste Bundesregierung

Sarah Wagenknecht hatte unlängst eine bemerkenswerte und vielbeachtete aber auch viel kritisierte Rede im deutschen Bundestag gehalten.

Schon davor hatte eine gewisse Annalena Baerbock — ihres Zeichens oberste Undiplomatin der Bundesregierung — eine Antwort auf Englisch in einer Podiumsdiskussion von Forum 2000 in Prag gegeben, Zitat:

But if I give the promise to people in Ukraine “we stand with you, as long as you need us”, then I want to deliver. No matter what my German voters think but I want to deliver to the people of Ukraine.

Frei übersetzt von mir:

Aber wenn ich Menschen in der Ukraine das Versprechen gebe “wir stehen euch solange bei, wie ihr uns braucht”, will ich liefern. Egal was meine deutschen Wähler denken, aber ich will den Menschen der Ukraine liefern.

Nun, hier wurde auch Kritik geübt und jegliche 1 Kritik von der Lückenpresse und deren multimedialen Kollegen direkt als Beeinflussungsversuch “des Kreml” abgetan. Als Lumpenpazifist und langjähriger Russen- und NATO/US-Versteher — jeweils noch in Ausbildung, weil ich zwar versuche die zu verstehen, es mir aber häufig nicht gelingt — möchte ich daher vom aktuell noch bestehenden RechtPrivileg 2 auf die Äußerung meiner eigenen Meinung 3 Gebrauch machen.

Die meisten Kritiker echauffierten sich über den ersten Teil des zweiten Satzes. Aber die Gesamtaussage ist bemerkenswert; mal ganz abgesehen von der absolut menschenverachtenden NATO-grünen Ideologie welche aus den Worten nur so trieft 4. Erstens scheint ihr der Amtseid 5, den sie gegenüber dem deutschen Volk und nicht etwa den Menschen in der Ukraine abgegeben hat, weniger wichtig zu sein als irgendwelche Versprechen die sie “den Ukrainern” gegeben hat. Wobei immer wichtig ist anzumerken, daß damit nur nationalistische Ukrainer gemeint sind oder zumindest jene die den nationalistischen ggü. loyal sind und nicht etwa jene Ostukrainer 6 die — aufgrund der seitens der Putschregierung in 2014 geschaffenen Fakten 7 — eine durchaus schon länger existierende Autonomiebewegung in der Ostukraine — dem industriellen Zugpferd des Landes — zu neuem Leben erweckten. Nein, diese Ukrainer sind spätestens mit der Ausrufung der Anti-Terror-Operation, durch die im Herbst 2014 gewählte Poroschenko-Regierung, keine Ukrainer mehr, geschweige denn Menschen. Es handelt sich ganz offenbar nicht nur in den Augen unserer Lückenpresse seit Jahren um Abschaum den man ignorieren kann, sondern offenbar hat auch unsere oberste NATO-grüne Undiplomatin das als “Fakt” verinnerlicht. Daß u.a. ihr Vorgänger und jetzige Bundesgrüßeule Frank-Walter Steinmeier zusammen mit dem französischen Amtskollegen in 2014/2015 die Minsk-Abkommen eingerührt hatte, wobei das zweite als UN-Sicherheitsratsresolution 2202 sogar völkerrechtlich bindend ist — und die Annalena kommt “ja eher aus’m Völkerrecht” — und sich weder der mit dem Anspruch von dessen Umsetzung angetretene Herr Selenskij noch die Garantiemächte Deutschland und Frankreich einen feuchten Kehricht um diese Abkommen scherten; ja diese auf NATO-Ebene seit Jahren reineweg hintertrieben, womit sowohl Schokoladenoligarch und Ex-Präsident der Ukraine Poroschenko als auch NATO-Generaltippse Stoltenberg unlängst prahlten, das wird geflissentlich verschwiegen.

Aber nehmen wir unsere oberste Undiplomatin mal beim Wort. Sie sprach ja von ihren deutschen Wählern, wie auch gern zu ihrer Verteidigung vorgebracht wurde. Ja hallo? Geht’s noch? Seit wann ist eine Bundesregierung, bzw. deren Amtsträger, allein jenen Wählern verpflichtet, die sie gewählt haben? Vielleicht sollte die Annalena statt Völkerrecht — sie meint wohl ohnehin eher die NATO-/US-gefärbte Lesart der “internationalen regelbasierten Ordnung” in der sowas wie der NATO-Angriff auf Jugoslawien voll in Ordnung geht, oder die Besetzung und das Abschöpfen der Gewinne syrischer Ölquellen, aber wehe andere nicht-wertewestliche Großmächte nehmen sich daran ein Beispiel — mal an ihrem Demokratieverständnis arbeiten. Wobei, ich befürchte das wäre nicht die einzige Baustelle bei diesem “besten” Aushängeschild der wohlstandsverwahrlosesten Bundesregierung seit Gründung der BRD.

// Oliver

  1. … auch gerechtfertigte … []
  2. Daß die sogenannten Grundrechte nur Privilegien sind, die entzogen werden können haben die letzten zweieinhalb Jahre hinreichend gezeigt. []
  3. Viele haben den Begriff “Meinungsfreiheit” ja leicht falsch interpretiert und sind bereits seit Jahren bar jeder eigenen Meinung unterwegs, haben den Prozeß der Meinungsbildung spätkapitalistisch-postmodern an diverse Preßorgane ausgelagert. []
  4. Waffenlieferungen in die Ukraine, welche den mittlerweile zum zwischenstaatlichen Krieg — zuvor innerstaatlichen, zwischenzeitlich seitens der ursprünglichen Kiewer Putschregierung als Anti-Terror-Operation beschönigten, Bürgerkrieg in der Ostukraine gegen die eigene Bevölkerung — mutierten, durch die NATO über Jahrzehnte vorbereiteten und provozierten, Konflikt zwischen Rußland und der Ukraine weiter anheizen helfen keiner der beiden Seiten. []
  5. Nunja, wie wie alle mittlerweile wissen ist die Verletzung des gegebenen Amtseids von Politikern, im Gegensatz zum Amtseid von niederen Beamten oder bspw. Richtern, nicht strafbewehrt und damit dieser ganze Amtseid nicht mehr als eine Floskel, auch wenn der Begriff ein ernstgemeintes Versprechen suggeriert. []
  6. … aber das kennen wir ja schon hinlänglich von Waffenlobbyspeichelleckern wie Sascha Lobo aus seinem “Lumpenpazifisten”-Traktat []
  7. Bspw. Abschaffung von Russisch in der Öffentlichkeit; ein Vergleich wäre hier wenn sich die deutschsprachigen Schweizer überlegten von heute auf morgen Romansch oder Französisch als Sprachen der Eidgenossenschaft abzuschaffen (was dort meinem Verständnis nach nicht ganz so einfach ist wie in der Ukraine mit dem Russischen). Oder auch das Massaker im Gewerkschaftshaus in Odessa im Mai 2014 bei dem per Zug aus Kiew und anderen Landesteilen angereiste Nazihundertschaften mal ein paar “Kartoffelkäfer” — deren entmenschlichender Begriff für russischsprachige Mitbürger! — “tilgen” durften. []
Posted in DE, Meinung, Wertewesten | Tagged , , | Leave a comment

Sarah Wagenknechts Bundestagsrede kürzlich

… schlug ein.

Während Frau Wagenknecht also dem im Grundgesetz (Artikel 38 GG) verankerten Prinzip, der Abgeordnete sei nur seinem Gewissen verpflichtet genüge tat, im Wortlaut:

Sie sind Vertreter des ganzen Volkes, an Aufträge und Weisungen nicht gebunden und nur ihrem Gewissen unterworfen.

… konnten sich diverse Mitglieder der Partei “Die Linke” und insbesondere deren Parteispitze überhaupt nicht schnell genug distanzieren. Das sei keine Parteilinie, das hätte die Fraktionsspitze zu verantworten usw.

Abgesehen davon, daß dies ein faszinierendes Verständnis der Rechte und Pflichten von Bundestagsabgeordneten offenbart, hatte die Rede mittlerweile noch weitere Folgen. So verließ Ulrich Schneider mit (negativer) Bezugnahme auf Wagenknechts Rede die Partei. Diverse “Größen” äußerten sich dann auch dazu, zumeist unterstützend, teils gegen Wagenknecht keilend 1. Unser werter Herr Gesundheitsminister Prof. Karl Lauterbach entblödete sich dann auch nicht Ulrich Schneider zu empfehlen andere linke Parteien zu erwägen. Im Wortlaut:

Eine konsequente Haltung. Respekt. Für mich war Ulrich Schneider, auch bei gelegentlichen Meinungsverschiedenheiten, immer ein Sozialexperte mit hoher Integrität. Solche Leute sollten auch andere linke Parteien erwägen.

Prof. Karl Lauterbach am 2022-09-12

Welche linke Partei 2 das sein könnte, bleibt wohl Herrn Lauterbachs Geheimnis, denn zumindest im Bundestag sind mir ausschließlich “Mitte-Parteien” und NSDAP-Nachfolgeparteien geläufig. Und “Die Linke” hockt allenfalls noch am linken Rand der Mitte — zumal sie auch in großen Teilen nicht mehr klassisch links ist. Aber klar, wenn alle nach rechts rücken, bleibt der linke Rand des Spektrums natürlich weiterhin linksaußen, auch wenn er sich von klassisch linken Positionen vielleicht längst meilenweit entfernt hat. Vielleicht meinte er ja auch Nischenparteien wie die MLPD? Und fragen will ich nicht, da unser Gesundheitsminister sicher voll im Streß ist. Im Streß restriktive Maßnahmen auszuarbeiten bzw. ausarbeiten zu lassen, die unter Bezugnahme auf Corona im kommenden “Wutwinter” zufällig genau dann in Stellung gebracht werden, wenn die Leute begreifen, daß man sich beim Demonstrieren auch warmhalten kann, wenn die Wohnung schon kalt bleiben muß oder man sich aufgrund Preissteigerung oder Arbeitsplatzverlust nichts mehr leisten kann.

Nach Ulrich Schneider trat dann ein — aus meiner Sicht — noch profilierteres Mitglied aus, nämlich Fabio De Masi. Er ließ sich nicht weiter zu den Gründen ein. Man könnte zwar spekulieren, aber das lasse ich mal. Vielleicht gibt es ja irgendwann doch noch eine Stellungnahme.

Dabei wäre es doch fast sinnvoller wenn Frau Wagenknecht genau wie ihr Mann die Partei verließe, in welcher echte linke Positionen nicht gefragt sind.

Allerdings ist dies leichter gesagt als getan, denn die Chance ohne Rückendeckung einer bereits etablierten Partei in den Bundestag zu kommen ist verschwindend gering. Wir verlören eine wichtige und kritische Stimme. Nicht zuletzt deshalb, weil unsere Parteien sich inzwischen — aus meiner Sicht verfassungswidrig — das Monopol der politischen Willensbildung gesichert haben, obwohl es im Artikel 21 GG gleich eingangs unter (1) heißt:

Die Parteien wirken bei der politischen Willensbildung des Volkes mit.

Setzt man die Zahl von Parteimitgliedern ins Verhältnis zur Gesamtbevölkerung, ergibt sich eine starke Schlagseite der Macht weg vom Souverän hin zu den Parteien. Betrachtet man dann nur die Aktiven in den Parteien, wird es nur umso schlimmer …

// Oliver

PS: übrigens schätze ich sowohl Ulrich Schneider wie auch Fabio De Masi für das was sie bisher geleistet haben (und hoffentlich weiter leisten), insofern ist mir deren Parteibuch/-karte herzlich egal.

  1. Ich bewundere Sarah Wagenknecht seit Jahren, weil sie trotz stetem Gegenwind und unfairen Praktiken, bspw. bei der Sendung “entweder butterweich oder unfair” (oder so ähnlich), ihre Position vertritt und weiter herausarbeitet und sich auch nicht zu doof ist Fehleinschätzungen einzugestehen. []
  2. … in der Mehrzahl kann man davon nun wirklich nicht reden! []
Posted in DE, Ich, der Zyniker, Meinung, Wertewesten | 3 Comments

Kaum denkt man es gehe nicht bescheuerter

… kommt ein grüner Minister daher.

// Oliver

Posted in DE | Tagged , | Leave a comment

Höhere Gewalt

Während sich unsere NATO-Grüne Bundesaußenschnepfe auf Bali empört, daß Lawrow sich ihr Gestammel nicht anhören wollte — war mit dem “das wird Rußland ruinieren” aus dem Februar nicht alles gesagt und die deutsche Spitzendiplomatie bereits voll ausgeschöpft? — rollt die Inflationswelle bereits jetzt über Deutschland.

Der NATO-Grüne Bundeswirtschaftsbückling stimmt auf Frieren für den Frieden, bzw. gegen Putin ein und mahnt Einsparungen an. Kohlekraftwerke sollen wiederbelebt werden, aber jetzt stellt sich raus, daß die Transportkapazitäten eventuell nicht vorhanden sind um kraftwerksnahe Reserven anzulegen. Da rächt sich, daß die Bundesregierung kein Amazon Prime Coal Abo abgeschlossen hat.

Offenbar sind die nach hinten losgegangenen Sanktionen höhere Gewalt, denn anders kann man sich nicht erklären daß, selbst jetzt wo kristallklar ist, daß die Sanktionen uns bei weitem mehr schaden als sie Rußland jemals schaden könnten, — begleitet von den Sturmgeschützen der NATO-Propaganda — unisono nach deren Fortführung gerufen wird. Die seit Jahren dysfunktionale repräsentative Demokratie beweist einmal mehr, daß Fehlentscheidungen nicht zurückgenommen werden, selbst wenn sie Schaden vom deutschen Volk abwenden könnten.

Selbst die sonst so lautstarke und mächtige Wirtschaftslobby übt sich allenfalls mit einzelnen Wortmeldungen in leiser Kritik am derzeitigen Kurs.

Aber die nächste SARS-CoV2-Mutante und der passende Lockdown wird mit Sicherheit zeitgenau auf das “Frieren für den Frieden” abgestimmt sein. Wenn es zu keiner rechtzeitigen Kehrtwende kommt und man lieber den rechtsnationalen Russenhassern in Polen unser bezahltes russisches Erdgas weiterschickt als deutsche Gasspeicher zu füllen — während Nord Stream 2 weiterhin nicht geöffnet wird — könnte es jedoch sein, daß es selbst mit Lockdown zu einem eher heißen Winter für unser Spitzenpersonal wird. Die Maslowsche — verdammt, schon wieder so ein Ru… … puh Glück gehabt … ukrainische Abstammung — die Maslowsche Bedürfnishierarchie jedenfalls, dürfte den meisten auch ohne Kenntnis des Begriffs intuitiv geläufig sein. Sobald wir am Fundament dieser Hierarchie ankommen, könnte sich der alle paar Jahre zum Wahlvieh degradierte Souverän in größerer Zahl entsinnen, daß Bewegung hilft um warm zu bleiben, während Wohnung und Duschwasser kalt bleiben.

Das müssen die interessanten Zeiten aus dem chinesischen Fluch sein.

// Oliver

Posted in DE, Ich, der Zyniker, Wertewesten | Tagged | Leave a comment

(N)Ostalgie pur für mich

Irgendwann rund um die Wende verbrachte ich als Kind mit meiner Familie das Jahresende auf Usedom in einem alten Ferienheim. Ich könnte heute nicht mehr sagen ob es tatsächlich vor oder nach der Wende war.

Jedenfalls gab es dort einen Spielautomaten in der – ich sag mal – “Empfangshalle” an dem ich ein Spiel spielen konnte. Ich weiß nicht mehr ob man Münzen brauchte, ich meine fast nicht.

So sah das dann aus:

Poly-Play DDR Spielekonsole

Besonders blieb mir dabei das oben ausgewählte “Hase und Wolf” in Erinnerung, welches so aussah. Ich muß sagen heutzutage macht das nicht mehr viel her und in meiner Erinnerung scheine ich so einige Pixel bei der Auflösung hinzugedichtet zu haben 1 😁

Poly-Play DDR Spielekonsole

Als Hersteller ist angegeben 1986 VEB Polytechnik Karl-Marx-Stadt.

Irgendwie surreal, daß man heutzutage auch eine ganze Horde dieser Spielautomaten auf den meisten tragbaren Smartphones parallel emulieren könnte, ohne daß das Smartphone dabei ins Schwitzen käme.

Auch wenn das Spiel in meiner Erinnerung irgendwie prächtiger daherkam, ist es toll daß uns dank MAME solche Software aus der IT-Steinzeit erhalten bleibt.

// Oliver

PS: Da ich mich wirklich mehrfach pro Jahrzehnt an dieses Spiel erinnert habe, insbesondere vor dem Hintergrund, daß ich mittlerweile selbst programmieren kann, war ich total aus dem Häuschen, als ich es heute entdeckte.

  1. laut MAME 512×265 Pixel []
Posted in DE, Software | Leave a comment

Scheiße

Wenn

  • US-amerikanische Whistleblower in Rußland im Asyl sitzen
  • Australische Journalisten unter fadenscheidigen Gründen im Hochsicherheitsknast sitzen und der Auslieferung in God’s Own Country™ harren und wertewestliche Journalistenkollegen überwiegend schweigen
  • AfD-Mann Gauland eine vernünftige Rede hält
  • die Grünen sich endlich ein zweites Mal als NATO-Olivgrüne outen
  • einem Alice Schwarzer plötzlich sympathisch wird
  • … und in einer Debatte mit Marie-Agnes Strack-Zimmermann geradezu eloquent deren NATO-Propaganda bloßstellt 1

… dann merkt man, daß im Wertewesten irgendwas nicht stimmt. Oder um es mit britischem Humor einer meiner Lieblings-Britcom-Duos auszudrücken: Are we the baddies?

  1. Siehe hier []
Posted in DE, Ich, der Zyniker, Wertewesten | 1 Comment

Herr Lobo hatte wieder einen Preßvorgang

… und der Spiegel — Sturmgeschütz der NATO-Narrative — macht seinem Namen als Presseorgan alle Ehre und gibt das Abgesonderte als Kolumne wieder. Und das auch noch ausgerechnet am 20.4. … aber das kann ich auch: 8.5.!

Was man von seinem Abgesonderten zu denken hat, kann man schon erahnen wenn Herr Lobo bereits im ersten Absatz Mahatma Ghandi als “sagenhafte Knalltüte” tituliert.

Aber es ergeben sich auch Fragen. Er meint beispielsweise auf ein Zitat von Michael Müller (SPD):

Schnell? Also bereits nach wenigen Zehntausend Toten, gefolterten, vergewaltigten, ermordeten Zivilist*innen, massenhaften Kriegsverbrechen?

Geht es Herrn Lobo hier um die ukrainischen Staatsbürger 1 welche im anfangs euphemistisch Anti-Terror-Operation getauften 2 innerukrainischen Konflikt Dank ihrer eigenen Regierung gestorben sind? Nach UN-Zahlen sind wir aktuell bei etwa vierzehntausend Ukrainern?

Ich vermute eher nicht, denn der Konflikt wurde von unseren Medien — auch dem Spiegel — maßgeblich ignoriert und totgeschwiegen 3 oder davon allenfalls spärlich und tendenziös berichtet. Und jene Ostukrainer wurden häufig einfach als Separatisten, Aufständische oder schlimmeres tituliert, ohne die Entstehungsgeschichte und Hintergründe zu beleuchten. Diese Ukrainer waren in den Augen ihrer eigenen Zentralregierung in Kiew bereits keine Ukrainer mehr 4 und mehrheitlich auch nicht in den wenigen Berichten die sich dazu in unseren Medien finden lassen. Seitens der ukrainischen Nationalisten und Nazis waren sie ohnehin seit jeher Russen und damit der Feind. Also sind diese getöteten (Ost-)Ukrainer wohl nicht gemeint. Woher stammen also diese Zahlen, die ich zuvor in dieser Höhe noch nirgends finden konnte? … und auf welche Opfer beziehen sie sich?

Nun ja, ich denke als Lumpenpazifist habe ich eine gewisse Ahnung woher die Zahlen stammen könnten. Vielleicht aus dem NATO-Hauptquartier? Oder eher mittelbar aus deren Presseorganen? Da kann ich mit NATO- und Rüstungsapologeten wie Herrn Lobo natürlich nicht mithalten. Solche fragwürdigen Kontakte habe ich natürlich nicht.

Kriegsverbrechen gibt es in jedem Krieg, das ist eine Binsenweisheit. Komm und sieh. Nur traue ich den Tschetschenen die auf russischer Seite kämpfen ebenso wie den Georgiern auf ukrainischer Seite und den reinrassig-ukrainischen Nazis aus den Regimentern/Bataillonen Ajdar 5 und Asow Kriegsverbrechen der schlimmsten Art zu. Teils sind solche auch schon aktenkundig und ihre “Reputation” eilt ihnen voraus. Und wie bei allen kriegsgeilen Idioten rühmen sich beide Seiten auch noch mit ihren Untaten, teils in den sogenannten sozialen Medien. Wer das nicht glaubt, darf einschlägige Kanäle und Webseiten gern einmal frequentieren — Sprachkenntnisse vorausgesetzt. Aber bei den teils doch sehr ausdrucksstarken Bildern sind Sprachkenntnisse auch nicht immer notwendig. Ich habe mal ein paar Tage auf beiden Seiten mitgelesen und war schockiert. Die Barbarei, welche man hierzulande 6 gern allein Rußland zuschreibt, grassiert ebenfalls unter den kriegsgeilen Idioten unter den Ukrainern und jenen die auf ihrer Seite kämpfen. Außerdem befürchte ich, den getöteten Menschen ist am Ende ihres Lebens herzlich egal von welcher Seite der Schuß abgegeben wurde.

Nur eines fragte ich mich bei und nach der Lektüre seines … Ergusses … ob und wie sehr der Autor sein Kind liebt, welches er laut Wikipedia-Artikel hat. Meine Frage zielt darauf ab, ob dem Autoren nicht klar ist daß Berlin im Falle der nuklearen Apokalypse sicherlich von gleich mehreren nuklearen Sprengköpfen verheert würde 7. Wenn erst einmal im eigenen Berliner Bezirk die Atompilze sprießen, hilft auch keine coole Sonnenbrille, Irokesenschnitt und “Lumpenpazifisten!”-Gezeter mehr. Und vermutlich ist es einem — falls man es überlebt — in diesem Fall auch auf absehbare Zeit recht egal welche Seite zuerst auf den Knopf gedrückt hat.

Ich weiß jedenfalls, daß mir herzlich egal wäre wer auf den Knopf gedrückt um mich und meine Familie zu vernichten, oder schlimmer zu verletzen, auseinanderzureißen oder bis zum Lebensende leiden zu lassen.

Ich mag jene Ukrainer die ich kennenlernte als ich dort studierte und auch die meisten welche nach meiner Rückkehr dazukamen. Ich mochte ihre Art und wie auch in der russischen Alltagssprache das als H gesprochene G als sympathische Eigenheit durchschien. Ich mochte nicht die verbreitete Korruption, welche ich bereits in den ersten Wochen vom feinsten zu spüren bekam. Als ich dort studierte, gab es diese Animositäten zwischen Russen und Ukrainern noch nicht in der Form die mittlerweile seit einigen Jahren üblich war. Das lag sicher auch daran, daß ich nicht in den ehemaligen und neuerdings wieder neu erblühten Bandera-Hochburgen weilte und ohnehin damals die Zukunft noch rosiger aussah, vor “9/11”.

Aber genau deshalb will ich nicht, daß die USA und deren NATO-Lakaien ihren Stellvertreterkrieg bis zum letzten Ukrainer und der totalen Zerstörung dieses Landes in die Länge zieht.

Und wie ein Kompromiß aussehen könnte, wollte Herr Lobo wissen. Nun geht man von den Bekundungen beider Seiten bis etwa Ende März aus, war klar wie der aussehen könnte. Und hätte man sich, statt den großen Plänen von Scharfmachern ala Zbigniew Brzesinski, George Friedman und der RAND Corporation zu folgen, nur ein einziges Mal ernsthaft mit den — damals noch moderateren — Forderungen der Russen auf diplomatischem Parkett auseinandergesetzt, hätte es zum Krieg nicht kommen müssen. Aber wen juckt in den USA schon die Ukraine? Außer vielleicht als Figur auf dem großen Schachbrett Brzesinskis?! Das sogenannte Hilfspaket — alias Sozialismus für die US-Waffenindustrie — welches Biden ausgerechnet am 9.5. zu unterzeichnen gedenkt, wurde bereits im Januar 2022 8 angeleiert und wird Generationen von Ukrainern in Schuldenabhängigkeit stürzen 9. Beim IWF und der Weltbank haben die Sektkorken vermutlich ohnehin bereits geknallt, ebenso wie in den Villen der Rüstungsindustriellen. So ist niemandem geholfen, außer der Waffenindustrie und den US-Interessen.

Schön, daß der Spiegel NATO- und Rüstungslobbyisten wie Herrn Lobo ein Forum gibt. Das diente der Abbildung der Meinungsvielfalt, kämen nicht geradezu immer die Sichtweisen und Argumente der so betitelten Lumpenpazifisten zu kurz.

// Oliver

PS: 2009 war ich zuletzt in der Ukraine. Heute würde ich mich nicht mehr hintrauen. Das galt übrigens bereits vor dem 2022-02-24. Wer die Entwicklungen dort, insbesondere seit 2013, verfolgt hat könnte eventuell eine Idee haben warum dem so ist.

  1. inzwischen teils, passend zur Alltagssprache, mit zusätzlicher russischer Staatsbürgerschaft []
  2. ja, nicht nur die Russen können Euphemismen für Gewaltanwendung []
  3. Stichwort: Lückenpresse []
  4. ziehen lassen wollte man sie aber offenbar auch nicht []
  5. Ajdar wird ja gern heutzutage vergessen, warum auch immer []
  6. und seitens ukrainischer Regierungsvertreter und -berater []
  7. Ich würde sogar stark davon ausgehen, daß dies nicht exklusiv aus östlicher Richtung geschähe. []
  8. Gibt das jemandem zu denken? []
  9. Ein Land welches schon jetzt mit – je nach Schätzung – 48, 80 oder gar 90% des Bruttoinlandsprodukts verschuldet ist []
Posted in DE, Gedanken, Meinung, Wertewesten | Tagged | Leave a comment

FLOSS-Developers gone bonkers?

So as I understand under the hashtag #StandWithUkraine some idiots have started supply-chain attacks, targeting Russian and Belarussian targets. I’ll leave the exercise to find the respective repos on GitHub to the inclined reader.

Has everyone gone bonkers now?

Aside from affecting the wrong people (full quote of the text at the bottom of this post) it also raises other questions. I wonder who is using 7-Zip for example?! Last time I checked it was fairly popular, given its excellent support for a multitude of archive formats. Not that I consider someone who came up with this clever software idiotic enough to pull the same disastrous “pranks” as those mentioned above, but imagine if the author of 7-Zip decided to delete data based on the geo-located IP of the user or the user’s locale? … or how about instead more subtly corrupting the data … or corrupting and not reporting it when unpacking files? Imagine Russian FLOSS developers were as reckless and unprofessional as their virtuous counterparts elsewhere …

There is plenty of software out there written or maintained by Russian developers. And while I agree with the sentiment, that if you don’t pay for it you shouldn’t place demands, it’s a wholly different story for FLOSS developers to callously and wantonly wreak havoc like that.

This may very well become a selling point for proprietary software. While not necessarily more secure, the fact that there is a paid business relationship with the maker of the consumed library/software may seem to provide assurances FLOSS no longer can, because of idiotic actions of certain FLOSS contributors. Trust built over decades can be quickly lost. But can it be regained? … and how fast?

// Oliver

PS: the quote from said NGO (link above), reproducing all spelling issues verbatim:

We are an American NGO based in Washington, D.C. that monitors human rights infringements by authoritarian regimes in Belarus, Russia and other post-Soviet states. Since our start in 2014, we have been in contact with over 2,500 whistleblowers that provided us with detailed reports on various kinds of abuse happening there.

Due to internet censorship there, one of the web services used to contact us securely was hosted on servers located inside Belarus. Normally, we backup the received content to an external server on 20th day of every month, as this is reasonable given the volume we usually get, but since the start of the invasion on February 24th, traffic to our web service has increased over fiftyfold. Our staff has been working round the clock to accomodate the influx and during one of their tasks, package containing node-ipc module was updated on a production server, which resulted in executing your code and wiping over 30,000 messages and files detailing war crimes commited in Ukraine by Russian army and government officials. Due to the way the files were stored on the server, we are not able to recover any data and it’s most likely gone forever. For some of the senders, this might as well have been their last contact with the outside world, as many of them were front-line soldiers that could’ve been killed in action during the offensive.

Personally, me and my colleagues are absolutely devastated. All I can say that your little shenanigan did more damage to us than Putin or Lukashenka ever could. Profesionally, our counsel suggested filing criminal charges federally and it’s likely we’ll be proceeding this way.

Posted in EN, IT Security, Opinion, Software, Thoughts | Tagged | Leave a comment

Fun times

Posted in /dev/null | 1 Comment

Geschäftsidee, suche Investoren!

USB-betriebene Raspel welche Nudeln die aus Hartweizengrieß hergestellt wurden in 405er Weizenmehl verwandelt 1. Jetzt wo es schon seit mehreren Wochen kein Mehl mehr zu kaufen gibt (nicht einmal mehr Bio oder Vollkorn 😁), dürfte es eine Nachfrage für ein solches Gerät geben.

Einmal auf den Markt gebracht, wird das der Renner. Aber dran denken: vorher Nudeln horten. Ansonsten wird’s auch nix mit dem Mehl.

Den Mehlhamstern unter meinen Mitbürgern wünsche ich weiterhin gutes Gelingen bei der Zubereitung des Ölteigs mit reichlich Jodsalz. Aber bitte dran Denken: Duck & Cover gilt auch für den Teig, sonst wird die Kruste zu knusprig.

Tschüssi, mit Zwinker-Smiley.

  1. Ja, ich lege mich fest: es muß 405er rauskommen! []
Posted in /dev/null, DE, Ich, der Zyniker | Tagged , | 1 Comment

Dem Tschaikowski, diesem Schurken haben wir’s gegeben!

Tschaikowski war Russe. Das ist schlimm und sehr böse von ihm. Wer seine Musik mochte oder mag, ist ein Unhold und hat bereits die Vorstufe zum Kriegsverbrecher erklommen. Bisher ist auch nicht bekannt, daß sich Tschaikowski von Angriffskrieg Putins auf die Ukraine distanziert hat.

Daher ist es nur folgerichtig und allzu verständlich, wenn das Philharmonische Orchester Cardiff 1 in Wales die Aufführung seiner Schurkenmusik absagte. Das hat er eben davon, dieser kriegstreiberische Russenkomponist. Hätte er sich wenigstens von Putins Angriffskrieg distanziert, hätte man vielleicht nochmal Gnade vor Recht ergehen lassen können. Aber so hat er halt Pech … kann er mal schön sehen wo die Einnahmen aus Aufnahmen seiner Stücke bleiben! Ha.

Wenn man gegen Rußland und Russen keilt oder alles was aus Versehen die kyrillische Schrift 2 benutzt, liegt man aktuell in den Augen der meisten Bewohner des Wertewestens nie falsch. Dirigenten, Sänger, Künstler, Sportler, Katzen – wer sich nicht bei drei von Putin distanziert hat, ist weg vom Fenster.

Aber Vorsicht! Daß im griechischen Parlament bei Selenskyjs Rede zwei angeblich griechischstämmige Kämpfer des berüchtigten ukrainischen Naziregiments Asow — einer davon vermummt (!) — auf Russisch zu Wort kamen, ist etwas anderes. Berichtet wird darüber ohnehin nur in griechischen Medien oder in Südamerika; sicher nicht in deutschen Nachrichten. So gesehen läuft der gemeine Wertewestler kaum Gefahr in Verlegenheit zu kommen hier zwischen gesundem Russenhaß und vorsichtigerer Ukrainesolidarität abwägen zu müssen. Denn nur weil diese griechischstämmigen Ukrainer aus Mariupol Russisch sprechen, sind die keine Putinversteher oder gar -befürworter. Oh nein! Die können noch differenzieren. Nazis sind die übrigens auch keinesfalls, denn Selenskyj hat jüdische Vorfahren (q.e.d.). Die zackige Wolfsangel, die SS-Runen, die schwarze Sonne und die Hakenkreuze werden vom Regiment Asow auch rein allegorisch als Symbole für den ukrainischen Freiheitskampf eingesetzt. Einfach mal den großmäuligen ukrainischen Botschafter in Deutschland fragen, der weiß euch einzunorden euch das einzuordnen.

Außerdem, hat ja nicht jeder so viel Zeit erst einmal Ukrainisch zu lernen, wie der ehemalige Präsidentendarsteller und aktuelle Präsident Selenskyj während seines Wahlkampfs vor der aktuellen Amtszeit 😉 … oder dessen Vorgänger, der schon hin und wieder Schwierigkeiten hatte sich an einzelne ukrainische Worte zu erinnern. Kann schon einmal passieren, wenn man sehr gestreßt ist. Das bedeutet sicher nicht, daß Poroschenko — wie ich das vor über zwanzig Jahren im heutigen Dnipro in der Ukraine erlebte — im Alltag ansonsten Russisch spricht/sprach. Oligarchenehrenwort!

Daß der Russe wieder Feind ist und vor der sprichwörtlichen Tür steht — diesmal ohne
“Milchschnjiähtte” — gibt dem Tag Struktur und erleichtert die Orientierung im Alltag. Beim Kauf von Mehl oder Speiseöl hingegen, hilft es einem nicht. Jedoch wünsche ich allen meinen Mitbürgern, die ihren Ölteig im Widerschein der Atompilze genießen, gutes Gelingen und Wohlschmecken! Und dran denken: reichlich Jodsalz verwenden.

// Oliver

Sachdienlicher Hinweis: die obigen Wikipedia-Verweise mögen allein der weiteren eigenen Recherche dienen. Wikipedia-Artikel über politisch relevante Themen sind seit Jahren nicht mehr enzyklopädisch-neutral, sofern sie es je waren. Aber wie wir unlängst aus einem Poroschenko-Interview (zusammenfassende Überschrift des ZDF: “Trauen Sie Putin nicht”) erfuhren, sind die alten Sünden ohnehin angesichts der russischen Invasion vergessen. Schwamm drüber. Oligarchenehrenwort!

  1. Cardiff Philharmonic Orchestra []
  2. … nehmt das Bulgaren und Mongolen! []
Posted in DE, Ich, der Zyniker, Wertewesten | Tagged , | Leave a comment

“Es braucht eine staatliche Hass-Ampel”

Es braucht eine staatliche Hass-Ampel

Wo man sieht was man so richtig ungestraft hassen darf bei der aktuellen Propagandawetterlage. Sonst wird es verwirrend.

— FischX

Letztens gelesen im Heise-Forum.

Posted in DE, Satiren | Tagged | Leave a comment