 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
storky

Anmeldungsdatum: 06.01.2013 Beiträge: 68
|
Verfasst am: 29.05.2013, 16:48 Titel: Grafikbuffer Alphakanal |
|
|
Hallo,
da bin ich wieder mit einer ziehmlich ungewöhnlichen Frage im Gepäck. Ich hoffe mal, dass ich gut erklären kann was ich vor habe.
Also, ich möchte im Grafikbuffer Code verstecken. Dieser wird mit einer *.BMP in den Buffer geladen.
Dazu hab ich mir mal mit Gimp ein Bild gemalt und die ersten paar Pixel mit der Farbe C39090 bemalt.
Das habe ich dann auch wieder gefunden am Bild Ptr + 32, nur ebend umgedreht als 0x90 0x90 0xC3.. und siehe da, ich konnte die "Pixel" von der CPU ausführen lassen!
So nun habe ich aber das Problem, dass es nicht RGB sondern RGBA ist und es quasi so aussieht 9090C3FF ...XXXXXXFFXXXXXXFF usw..
Zur Frage, kann ich mit einem Bildbearbeitungsprogramm da Einfluss auf den Alphakanal nehmen?
Die ständige FF macht das Ganze unutzbar.
So lade ich das Bild:
Code: | bild = ImageCreate(210, 250,0,0)
bload "back1.bmp", bild |
Und, ich weiß, dass man sowas nicht macht, dadurch sogar ein lokaler Exploit entsteht und es sehr "kreativ" ist.
Aber es geht um ein Crackme, mein letztes wurde nach einem Monat wieder gecrackt... ich will noch unkonvertioneller an die Sache rangehen um den Schwierigkeitsgrad zu erhöhen.
Danke.
Edit: Ich will mal noch schnell erläutern was da geschehen soll. Der Code im Bild soll den Key überprüfen, wobei er selbst mit der Serial und einer uID für den PC (aus hash vom bs und cputyp) verrechnet wird und das Ergebnis soll dannach wiederrum auch ausfürbar sein. (Bekomme ich ja hin indem ich alles mit einander xor'e bis die Serial die einzigst ungelöste Variable ist.)
Also so dass, wenn man herrausfindet, dass die "Pixel" die Serial checken, man beim Cracken selbst die Bedingungen für den richtigen Key ändert und daraus ein falsches Programm resultiert... Das dann wohl abstürzen wird. Überprüft wird das mit einem Hash und bei Falscheingabe natürlich abgefangen. Aber pssst  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 29.05.2013, 17:05 Titel: |
|
|
Du kannst schon mit GIMP den Alpha-Kanal beeinflussen (Ebene -> Transparenz -> Alphakanal hinzufügen, dann z. B. den Hintergrund an der gewünschten Stelle löschen), wie exakt du die Werte da einstellen kannst, weiß ich aber nicht. Ich frage mich allerdings - wenn du sowieso einen bestimmten Code im Bild verstecken willst, warum schreibst du dir da nicht leichter ein Computerprogramm, das diesen Code ins Bild einbaut? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 29.05.2013, 17:09 Titel: |
|
|
zu erwähnen sei da aber noch das BMP's keinen alphakanal haben oder diesen zumindest nicht speichern... also wird wohl ein mopdifiziertes images mit bsave gespeichert noch ein editierter alphakanal da wirklich helfen...
empfehle da dann png's _________________
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 29.05.2013, 17:27 Titel: |
|
|
Mit GIMP kannst du den Alpha-Kanal bei BMPs speichern und das dann (z. B. in FreeBASIC) auch nutzen.
Modifizieren mit FreeBASIC funktioniert sowieso, der speichert das dann so wie es in seinem Speicher liegt.
(Nachtrag: http://de.wikipedia.org/wiki/Windows_Bitmap#Versionen_4_und_5) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 29.05.2013, 17:35 Titel: |
|
|
tut er das ?
gab schon häufig probleme wegen des headers für eigene bmp fonts mit draw string...
Code: |
screenres 100,100,32
Dim image as any ptr = imagecreate(1,1)
pset image,(0,0),&h00FFFFFF
?hex(point(0,0,image))
bsave "test.bmp",image
imagedestroy (image)
image=0
image = imagecreate(1,1)
bload "test.bmp",image
?hex(point(0,0,image))
sleep
|
_________________

Zuletzt bearbeitet von Eternal_pain am 29.05.2013, 17:39, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
storky

Anmeldungsdatum: 06.01.2013 Beiträge: 68
|
Verfasst am: 29.05.2013, 17:37 Titel: |
|
|
Zitat: | wenn du sowieso einen bestimmten Code im Bild verstecken willst, warum schreibst du dir da nicht leichter ein Computerprogramm, das diesen Code ins Bild einbaut? |
Du meinst mit bsave?
@Eternal_pain Eine png konnte ich mit bload nicht öffnen, da kommt dann nur 0 raus.
Zum Glück hab ich den Beitrag noch nicht abgeschickt!
Zitat: | Mit GIMP kannst du den Alpha-Kanal bei BMPs speichern und das dann (z. B. in FreeBASIC) auch nutzen.
|
^^Jap habs hinbekommen, mit hinzugefügtem Aplhakanal und beim Exportieren "Erweiterte Optionen" auf "A8 R8 G8 B8" geklickt...
So liegt nun das Bild im Speicher:
Zitat: | 3419984: 90
3419985: 90
3419986: C3
3419987: 70
3419988: 90
3419989: 90
3419990: C3
3419991: 70
... |
3419984 Ist der Erste Pixel, Farbe ist in Gimp C39090 und Deckkraft vom Pinsel auf 44. Und da kann ich ja 100 mit 255 ins Verhältnis nehmen oder ggf. testen.
Also hat geklappt, danke!
Edit: Computerprogramme malen mich würde mal interessieren wie auf diese Art und Weiße größere Programme aussehen.  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 29.05.2013, 18:51 Titel: |
|
|
Eternal_pain hat Folgendes geschrieben: | tut er das ? |
Hmm, scheinst Recht zu haben, was das Speichern angeht. Da scheint FreeBASIC auf Routinen zurückzugreifen, welche den Alphakanal ausschalten. Dann müsste man wohl doch per Direktzugriff auf die Datei schreiben. Prinzipiell lädt und schreibt BLOAD und BSAVE ja einfach den Speicherinhalt; wenn es aber einen BMP-Header erkennt, wird das auch als BMP behandelt (soweit mein aktueller Wissensstand).
Laden funktioniert jedenfalls, das hatte ich auch schon mal im Einsatz.
Zitat: | Edit: Computerprogramme malen mich würde mal interessieren wie auf diese Art und Weiße größere Programme aussehen.  |
Wenn du gerne Programme malst, würde ich doch eher Piet empfehlen.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 30.05.2013, 01:43 Titel: |
|
|
@Eternal_pain ... die Alpha-Probleme könnten auf ein (eventuell) BUG (maybe auch Fail Feature) in der fbgfxlib herrühren. (Die macht ALPHA PSET stat ALPHA Blending).
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|