Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[C#] Builder & Stub Prinzip mit Resources

- - - - -

  • Bitte melde dich an um zu Antworten
3 Antworten in diesem Thema

#1
ref0rm

ref0rm

    Lamer

  • Banned
  • PIPPIPPIP
  • Likes
    2
  • 18 Beiträge
  • 1 Bedankt

Hey Leute hab ein Problem bei meinem Builder & Stub Prinzip.

 

Kriegs nicht ganz gebacken.

Vorweg: Nen erfolgreichen Builder in C# is nicht das Problem, sondern nur das neue Verfahren was ich gern anwenden würde.

Kein "hinten dran hängen"-um das sehr einfach auszudrücken-und kein Codedom Compiler.

Mit beidem funktionierst, will aber jetzt mir Ressourcen arbeiten.

 

Also wie siehts daweil aus:

Habe ne Stub (c# 2.0) als CommandLine Tool.

Dort gibts ne Ressource die nennt sich "input1" mit dem Wert "12345".

Schön und gut.

Jetzt zum Builder (C# 4.0)

Ich möchte nun die Stub hernehmen und dort die Ressource "12345" zu "67890" ändern.

Es müsste meiner Meinung nach auf jeden Fall die gleiche Länge sein sonst crasht das Tool so oderso.

 

Es ist für mich kein problem die Stub einzulesen.

Genausogut finde ich den Ressource Wert.

Und auch kann ich diesen ersetzen.

Doch jedesmal wenn ich die "modded" stub dann abspeichere, was auch funktioniert, startet sie nicht mehr korrekt :/

Siehe:

Please Login HERE or Register HERE to see this link!

Dürfte es wohl irgendwas im header zerschießen?

Das File ist gleich groß und wenn man sich sowohl die Original Stub als auch die neue Stub anschaut (mittels editor) sehe sie FAST! ident aus.

Eventuell ein Codierungsfehler?

 

Habe schon paar Ansätze probiert.

Ich steh an seit 2 Stunden.

Vermutlich steh ich nur aufn Schlauch.

 

Achja:

Wenn ich die Stub nur einlese und dabei nichts replace und dann wieder absspeichert --> Startet sie trotzdem nicht.

Dürfte also Probleme beim speichern/erstellen geben?!

 

Stub sieht so aus vom Source:

using System;


namespace Stub
{
    class Program
    {
        static void Main(string[] args)
        {
            string Input = null;

            try
            {
                Input = Properties.Resources.ResourceManager.GetString("Input");
                Input = Input.Replace(".", "");
                System.Windows.Forms.MessageBox.Show(Input);

            }
            catch (Exception ex)
            {
                //System.Windows.Forms.MessageBox.Show(ex.Message);
                System.Windows.Forms.Application.Exit();
            }
        }
    }
}

Wenn man an de rnicht herumpfuscht funktioniert sie auch :)

 

Hab schon mit ReadAllText, ReadallBytes und natürlich WriteAllBytes/text herumgespielt.

Auch hab ich Default, UTF8 und ASCII Codierung probiert.

Und mit StreamReader/Writer auch.

 

1. Ansatz des Builders:

 private void Button_Build_Click(object sender, EventArgs e)
        {
            string text = File.ReadAllText("Stub.exe");
            text = text.Replace("12345", "09876");
            File.WriteAllText("neu.exe", text);
        }

Hat hier jemand nen Snippet was ich mir mal ansehen kann.

Bin knapp vorm ausrasten^^

 

LG

 

EDIT - GELÖST:

Hat sich erledigt.

Ich Superheld hatte einen Codierungsfehler.

 

Ich darf die erste schlampige Lösung präsentieren:

        private void Button_Build_Click(object sender, EventArgs e)
        {
            byte[] array = File.ReadAllBytes("Stub.exe");
            string s = System.Text.Encoding.Default.GetString(array, 0, array.Length);
            if (s.Contains("12345"))
            {
                s=s.Replace("12345", "09876");
                byte[] buffer = System.Text.Encoding.Default.GetBytes(s);
                File.WriteAllBytes("neu.exe", buffer);
            }
        }

Ich hatte beim Rückwandlen vom String wieder in ein Bytearray die Codierung auf UTF-8 gestellt, und nicht wie hier schon auf "Default"...

hat sich somit erledigt.

 

LG


Bearbeitet von ref0rm, 22 March 2016 - 16:31 Uhr.

  • smc2014 gefällt das

#2
R3s1stanc3

R3s1stanc3

    Hacktivist

  • Premium Member
  • Likes
    22
  • 72 Beiträge
  • 4 Bedankt
  • 687249355
  • Android [root]
  • Linux

Ich würde nicht den "Umweg" über einen String gehen, sondern einfach mit dem byte Array weiter arbeiten. Ist für binär Dateien sinnvoller, da Stringoperationen sich gelegentlich etwas anders verhalten (z.B. Nullbytes am Ende von Strings usw)



#3
ref0rm

ref0rm

    Lamer

  • Banned
  • PIPPIPPIP
  • Likes
    2
  • 18 Beiträge
  • 1 Bedankt

Ich würde nicht den "Umweg" über einen String gehen, sondern einfach mit dem byte Array weiter arbeiten. Ist für binär Dateien sinnvoller, da Stringoperationen sich gelegentlich etwas anders verhalten (z.B. Nullbytes am Ende von Strings usw)

 

Guter Tipp :)

Danke dir!



#4
sup3ria

sup3ria

    Hacker

  • Premium Member
  • Likes
    123
  • 177 Beiträge
  • 50 Bedankt

Gerne für sowas auch dnlib verwenden.

 

Please Login HERE or Register HERE to see this link!


  • ref0rm gefällt das



  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 68 user(s)


    , .Puma, 0*ptr, 13asim37, 3xc3ll3nt, Blackhook, Born2Hack, Brokolie, Brolege, ChEeTaH182, Coasist, Cyber Tjak, d0_K, dd34t0r, deadc0de, Dean36, erazor321, EviLByteS, Exynos, fl4shx, Fox, Framerater, Franziskaner, gr33d, h04x, hitman56, holz96, JonyD, Kaban, kavanyandar, keyb0ardz, kiwitone, lNobodyl, loginman1, m0nk3y, Maximalx3, mettbrot, most_uniQue, MultiVitamin, n1nja, N4dja, netSecMushroom, nong_dan, notfound, ObbedCoder, opheus, pdr0, peppi200, pi^2, R3s1stanc3, ref0rm, rsneumann, Scrilla, Shadowgun, Silent0wn3r, smc2014, Smn, sup3ria, superuser123, Take1T, Terrafaux, terratec1991, tianchrispro, x1z0ng, xrahitel, xxas, yq8, Zerobyte
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.