<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[HEXEDIT]]></title><description><![CDATA[<p>Hallo!<br />
Kennt ihr das Programm Hexedit.Für die die es nicht kennen:Hexedit zeigt die Nullen und Einsen jeder Datei(auch Progamme)egal welchen Formats als HEXadezimale Zahlen an und versucht sie als ASCIIzeichen darzustellen.<br />
Meine Frage:Kann ich über ein selbstgeschreibenes Programm die Hexfolge in Hexedit bearbeiten(nach Teilstrings suchen,vergleichen...)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/95832/hexedit</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 03:58:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/95832.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Dec 2004 19:39:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to HEXEDIT on Thu, 23 Dec 2004 19:39:37 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Kennt ihr das Programm Hexedit.Für die die es nicht kennen:Hexedit zeigt die Nullen und Einsen jeder Datei(auch Progamme)egal welchen Formats als HEXadezimale Zahlen an und versucht sie als ASCIIzeichen darzustellen.<br />
Meine Frage:Kann ich über ein selbstgeschreibenes Programm die Hexfolge in Hexedit bearbeiten(nach Teilstrings suchen,vergleichen...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/679772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/679772</guid><dc:creator><![CDATA[MaMartin22]]></dc:creator><pubDate>Thu, 23 Dec 2004 19:39:37 GMT</pubDate></item><item><title><![CDATA[Reply to HEXEDIT on Thu, 23 Dec 2004 19:49:32 GMT]]></title><description><![CDATA[<p>natürlich geht das. Du musst die Datei einfach ein ein Array of char laden und schon<br />
kannst du mit den Daten machen was du willst.</p>
<p>Ich hab mir eine sehr praktische Routine geschrieben um nach Pattern in Dateien<br />
su suchen:</p>
<pre><code class="language-cpp">bool __fastcall TForm1::MaskSearch(unsigned char * cSearchFile, int iSearchFileLen, const int * cMask, int &amp; iFoundAddress, int &amp; iFoundCounter, int iStart, int iStep)
{
    /*
        Eingabe:
        cSearchFile = array of char, dass durchsucht werden soll
        iSearchFileLen = die Grösse des zu durchsuchenden array of char
        cMask = Maske nach der gesucht werden soll. -1 = Byte ignorieren
                                                    -2 = Ende der Maske

        Ausgabe:
        iFoundAddress = an welcher Adresse wurde die Maske zuletzt gefunden?
        iFoundCounter = wie oft wurde die Maske insgesammt gefunden?
        MaskSearch = true -&gt; genau einmal gefunden
        MaskSearch = false -&gt; mehr als einmal oder nicht gefunden.

    */

    iFoundCounter=0;

    int iMaskLen=-1;
    while (cMask[++iMaskLen] != -2);

    bool bFound;
    for (int i = iStart; i &lt; iSearchFileLen - iMaskLen; i+=iStep) {
        bFound = true;
        int iMaskPos=0;

        for (int ii = i; ii &lt; i + iMaskLen; ii++) {
            if (cMask[iMaskPos] != -1) {
                // wenn das Maskenbyte eine Rolle spielt.
                if (cSearchFile[ii] != cMask[iMaskPos]) {
                    // wenn das Maskenbyte nicht übereinstimmt
                    bFound = false;
                    ii = i + iMaskLen;
                }
            }
            iMaskPos++;
        }

        if (bFound) {
            // gefunden
            iFoundAddress = i;
            iFoundCounter++;
        }
    }
    if (iFoundCounter == 1) return true;

    // in der ganzen Datei nicht oder mehrmals gefunden.
    return false;
}
</code></pre>
<p>Beispiel:</p>
<p>Dieser Aufruf sucht nach NOP's in einem C166 File (ja ja, die Handys ;))</p>
<pre><code class="language-cpp">int iMask [] = {
     0xCC, 0x00,
     -2
};
int iFoundAddress, iFoundCounter;
MaskSearch(cFile, 0x1000000, iMask, iFoundAddress, iFoundCounter, 0, 2);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/679778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/679778</guid><dc:creator><![CDATA[Acidmrp]]></dc:creator><pubDate>Thu, 23 Dec 2004 19:49:32 GMT</pubDate></item><item><title><![CDATA[Reply to HEXEDIT on Fri, 24 Dec 2004 11:04:19 GMT]]></title><description><![CDATA[<p>Danke schon mal!<br />
Weisst du auch wie man eine Datei öffnet und dann in ein char Array lädt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680039</guid><dc:creator><![CDATA[MaMartin22]]></dc:creator><pubDate>Fri, 24 Dec 2004 11:04:19 GMT</pubDate></item><item><title><![CDATA[Reply to HEXEDIT on Fri, 24 Dec 2004 11:41:22 GMT]]></title><description><![CDATA[<p>die Suche ist bei solchen sachen sehr hilfreich!<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=66793&amp;highlight=datei+%F6ffnen" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=66793&amp;highlight=datei+�ffnen</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/680069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680069</guid><dc:creator><![CDATA[Acidmrp]]></dc:creator><pubDate>Fri, 24 Dec 2004 11:41:22 GMT</pubDate></item></channel></rss>