<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.proggen.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.proggen.org/feed.php">
        <title>proggen.org</title>
        <description></description>
        <link>https://www.proggen.org/</link>
        <image rdf:resource="https://www.proggen.org/lib/tpl/proggenX/images/favicon.ico" />
       <dc:date>2026-05-20T09:30:17+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=c:lib:stdlib:atol&amp;rev=1727255084"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=security:ctf:writeup:google:2021:filestore&amp;rev=1706738656"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=security:memory-corruption:exploitation:nop-sled&amp;rev=1681859361"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=c:type:funcptr&amp;rev=1680603055"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=c:article:stdarg&amp;rev=1680601737"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=boost:why&amp;rev=1670973769"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=c:func:callbyreference&amp;rev=1669066491"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=admin:todo&amp;rev=1664853506"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=c:tutorial:attribute&amp;rev=1659896636"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=c:article:start&amp;rev=1659746254"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=c:func:main:parameter&amp;rev=1659745568"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=build:cmake:configure&amp;rev=1656761420"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?image=build%3Acmake%3Acmake-gui-option.png&amp;ns=build%3Acmake&amp;rev=1656761394&amp;do=media"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=build:cmake:create-project&amp;rev=1656757317"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?image=algo%3Aprefix-sum%3Aarea_sum_calc_2_3.png&amp;ns=algo%3Aprefix-sum&amp;rev=1644708978&amp;do=media"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.proggen.org/lib/tpl/proggenX/images/favicon.ico">
        <title>proggen.org</title>
        <link>https://www.proggen.org/</link>
        <url>https://www.proggen.org/lib/tpl/proggenX/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.proggen.org/doku.php?id=c:lib:stdlib:atol&amp;rev=1727255084">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-25T11:04:44+0200</dc:date>
        <dc:creator>xin (xin@undisclosed.example.com)</dc:creator>
        <title>atol() - [Funktion] Rechtschreibfehler atoi -&gt; atol </title>
        <link>https://www.proggen.org/doku.php?id=c:lib:stdlib:atol&amp;rev=1727255084</link>
        <description>atol()

atol ist definiert in der stdlib, die in C über stdlib.h, bzw. in C++ über cstdlib eingebunden wird.

Funktion

atol konvertiert einen ASCII-String in eine (vorzeichenbehaftete) breite Integerzahl (ASCII to long integer - atol).

Zunächst werden sämtliche Whitespaces (Leerzeichen, Tabs) übersprungen, bis die ersten Ziffern gefunden werden. Es darf ein + bzw. - der Zahl vorangestellt sein.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=security:ctf:writeup:google:2021:filestore&amp;rev=1706738656">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-31T23:04:16+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>Google CTF 2021: Filestore</title>
        <link>https://www.proggen.org/doku.php?id=security:ctf:writeup:google:2021:filestore&amp;rev=1706738656</link>
        <description>Google CTF 2021: Filestore

Following description was provided for the task:
We stored our flag on this platform, but forgot to save the id. Can you help us restore it?
The full source code of the challenge was attached to the description:


# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#…</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=security:memory-corruption:exploitation:nop-sled&amp;rev=1681859361">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-19T01:09:21+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>NOP Sled</title>
        <link>https://www.proggen.org/doku.php?id=security:memory-corruption:exploitation:nop-sled&amp;rev=1681859361</link>
        <description>NOP Sled

To directly transfer control flow to our shellcode, we need to specify its address as the return address of the current function. However, guessing the exact address can be very hard, especially on remote machines without the possibility to use a debugger. Already minor system differences can lead to a different stack layout.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=c:type:funcptr&amp;rev=1680603055">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-04T12:10:55+0200</dc:date>
        <dc:creator>naums (naums@undisclosed.example.com)</dc:creator>
        <title>Funktionspointer - [Syntax] </title>
        <link>https://www.proggen.org/doku.php?id=c:type:funcptr&amp;rev=1680603055</link>
        <description>Funktionspointer

Zeiger auf Funktionen sind ein beliebtes Tool in C um Funktionen bspw. auf Arrays auszuführen, oder um eine gewisse Art der Objektorientierung zu implementieren.

Nehmen wir doch folgendes Beispiel. Hier wollen wir die Summe aus den Einträgen eines Arrays berechnen. Die Länge wurde uns mitgegeben. Der einfach Ansatz wäre einfach eine Funktion zu schreiben, die das Array durchgeht, und die Summe berechnet:</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=c:article:stdarg&amp;rev=1680601737">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-04T11:48:57+0200</dc:date>
        <dc:creator>naums (naums@undisclosed.example.com)</dc:creator>
        <title>Variable Argumentenliste</title>
        <link>https://www.proggen.org/doku.php?id=c:article:stdarg&amp;rev=1680601737</link>
        <description>Variable Argumentenliste

In C ist es möglich Funktionen zu definieren, die eine beliebige Anzahl an Argumenten nehmen. Eine dieser Funktionen kennen wir bereits, nämlich printf. Der Aufruf von printf sieht so aus (aus der Manpage):


int printf(const char *restrict format, ...);</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=boost:why&amp;rev=1670973769">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-14T00:22:49+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>Was ist Boost</title>
        <link>https://www.proggen.org/doku.php?id=boost:why&amp;rev=1670973769</link>
        <description>Was ist Boost

Kurz gesagt, ist Boost eine Sammlung von Bibliotheken, die die Arbeit mit C++ beschleunigen (boosten) sollen. Diese Bibliotheken werden von verschiedenen Programmierern entworfen und dann beim Boost Projekt eingereicht. Dort werden sie bewertet und einen aufwändigen Review unterzogen. Wird eine solche angenommen, dann wandert sie in die Sammlung. Teile der Boost Bibliothek sind mit C++11 in den C++ Standard integriert worden. Normalerweise zeichnen sich die Bibliotheken durch einf…</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=c:func:callbyreference&amp;rev=1669066491">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-21T22:34:51+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>Call by Reference</title>
        <link>https://www.proggen.org/doku.php?id=c:func:callbyreference&amp;rev=1669066491</link>
        <description>Call by Reference

Bisher haben wir nur die Werte von Variablen an Funktionen übergeben. Diese Art der Parameterübergabe wird „call by value“ genannt. Sie hat den Nachteil, dass nur ein Wert mit return zurückgegeben werden kann. 
Soll aber eine oder mehrere Variablen in der Funktion verändert werden, so muss als Parameter die Adresse der Variable übergeben werden. Oder anders gesagt ein Zeiger auf diese Variable (</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=admin:todo&amp;rev=1664853506">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-04T05:18:26+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>TODO - angelegt</title>
        <link>https://www.proggen.org/doku.php?id=admin:todo&amp;rev=1664853506</link>
        <description>TODO

Bugs

2020-05 Forum: Defekte Schnellmoderation

Bei einem Klick auf eine Aktion der Schnellmoderation erscheint ein kurzes Ladesymbol und danach passiert nichts mehr. Grund scheint zu sein, dass das div mit der ID phpbb_confirm bei manuellen Anpassungen verloren ging.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=c:tutorial:attribute&amp;rev=1659896636">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-07T20:23:56+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>Attribute</title>
        <link>https://www.proggen.org/doku.php?id=c:tutorial:attribute&amp;rev=1659896636</link>
        <description>Attribute

Was sind Attribute?

Von einem Attribut spricht man, wenn man einen Gegenstand genauer beschreibt. Der rote Ball ist ein Ball, der - wenn man ihn genauer beschreibt - als rot beschrieben wird. Rot ist das Attribut. Wir werden uns hier Datentypen-Attribute ansehen, die die Sprache C kennt. Das bedeutet, dass man der Beschreibung eines Datentyps noch eine genauere Beschreibung hinzufügen kann.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=c:article:start&amp;rev=1659746254">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-06T02:37:34+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>Artikel</title>
        <link>https://www.proggen.org/doku.php?id=c:article:start&amp;rev=1659746254</link>
        <description>Artikel

Bits und Bytes

	*  Binäre Operatoren: „Und“, „Oder“ und „exklusives Oder“ auf Bitebene
	*  Schiebe-Operatoren: Bits verschieben 

Uniqueness

	*  Uniqueness - Einführung
	*  Enumerations - Aufzählungen
	*  Andere Möglichkeit des Vergleichs: switch - Fallunterscheidungen

Weitere Features

	*  Goto - Fluch oder nützlich?
	*  Variable Argumentenliste - Funktionen wie printf haben beliebig viele Argumente</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=c:func:main:parameter&amp;rev=1659745568">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-06T02:26:08+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>Parameterübergabe an die main-Funktion</title>
        <link>https://www.proggen.org/doku.php?id=c:func:main:parameter&amp;rev=1659745568</link>
        <description>Parameterübergabe an die main-Funktion

Kommandozeilenparameter

Kommandozeilenparameter sind ein oft gesehener Weg um einem Programm Werte zu übergeben. Doch wie kann man so etwas in C realisieren? Da der Eintrittspunkt in unser Programm immer die</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=build:cmake:configure&amp;rev=1656761420">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-02T13:30:20+0200</dc:date>
        <dc:creator>naums (naums@undisclosed.example.com)</dc:creator>
        <title>Das Projekt konfigurieren - angelegt</title>
        <link>https://www.proggen.org/doku.php?id=build:cmake:configure&amp;rev=1656761420</link>
        <description>Das Projekt konfigurieren

Viele Projekte haben die Möglichkeit beim Bauen bestimmte Teilaspekte aus oder anzuschalten. Beispielweise könnten wir Module haben, die wir einzeln ein oder ausschalten können wollen um an Speicherplatz zu sparen oder weil wir bestimmte Abhängigkeiten nicht haben, die diese Module benötigen oder wir brauchen einfach die Funktionalität nicht.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?image=build%3Acmake%3Acmake-gui-option.png&amp;ns=build%3Acmake&amp;rev=1656761394&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-02T13:29:54+0200</dc:date>
        <dc:creator>naums (naums@undisclosed.example.com)</dc:creator>
        <title>build:cmake:cmake-gui-option.png - angelegt</title>
        <link>https://www.proggen.org/doku.php?image=build%3Acmake%3Acmake-gui-option.png&amp;ns=build%3Acmake&amp;rev=1656761394&amp;do=media</link>
        <description>&lt;img src=&quot;https://www.proggen.org/lib/exe/fetch.php?w=500&amp;h=373&amp;t=1663869483&amp;amp;tok=94ebb9&amp;amp;media=build:cmake:cmake-gui-option.png&quot; alt=&quot;build:cmake:cmake-gui-option.png&quot; /&gt;</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=build:cmake:create-project&amp;rev=1656757317">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-02T12:21:57+0200</dc:date>
        <dc:creator>naums (naums@undisclosed.example.com)</dc:creator>
        <title>Ein Projekt anlegen</title>
        <link>https://www.proggen.org/doku.php?id=build:cmake:create-project&amp;rev=1656757317</link>
        <description>Ein Projekt anlegen

Um CMake zu ermöglichen unser Projekt zu bauen müssen wir beschreiben wie unser Projekt übersetzt werden muss. Dazu erstellen wir eine Datei mit dem Namen CMakeLists.txt und beschreiben in einer für CMake verständlichen Skriptsprache, alle benötigten Aspekte unseres Programms. Für ein einfache Hello-World Programm (einzige Quelldatei ist main.c) kann diese Datei zum Beispiel so ausschauen:</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?image=algo%3Aprefix-sum%3Aarea_sum_calc_2_3.png&amp;ns=algo%3Aprefix-sum&amp;rev=1644708978&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-13T00:36:18+0200</dc:date>
        <dc:creator>nufan (nufan@undisclosed.example.com)</dc:creator>
        <title>algo:prefix-sum:area_sum_calc_2_3.png - angelegt</title>
        <link>https://www.proggen.org/doku.php?image=algo%3Aprefix-sum%3Aarea_sum_calc_2_3.png&amp;ns=algo%3Aprefix-sum&amp;rev=1644708978&amp;do=media</link>
        <description>&lt;img src=&quot;https://www.proggen.org/lib/exe/fetch.php?w=407&amp;h=500&amp;t=1663869482&amp;amp;tok=8013f3&amp;amp;media=algo:prefix-sum:area_sum_calc_2_3.png&quot; alt=&quot;algo:prefix-sum:area_sum_calc_2_3.png&quot; /&gt;</description>
    </item>
</rdf:RDF>
