Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Ein kleiner h4x0r-Wettbewerb... ^^
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 28.05.2007, 00:04    Titel: Ein kleiner h4x0r-Wettbewerb... ^^ Antworten mit Zitat

http://home.arcor.de/ssteiner/qbforum/raetsel1.zip

Die eingepackte EXE-Datei kann einen Text ausgeben. Allerdings macht sie das nicht von sich aus.

Lösungswege:
1.) Insg. 4 Bytes mit einem Hexeditor verändern, um eine Ausgabe herbeizuführen
2.) Datenbereich finden, Daten entschlüsseln (mittels Hexeditor)
3.) Disassemblieren

Das kleine Experiment soll, nachdem im Forum oft über Verschlüsselung diskutiert wurde, zeigen, dass selbst die primitivste "Verschlüsselung" reicht, um sicherzustellen, dass niemand so schnell an einen fest im Programm integrierten Text herankommt. Aber beweist das Gegenteil! grinsen
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 00:59    Titel: Antworten mit Zitat

kannst du uns nicht wenigstens sagen WAS für ein text da ausgegeben werden soll/ein teil davon? mit den Augen rollen hab' hier mein WinHex am laufen, und find da nix missbilligen

aber es ist ein FB prog lächeln

Code:

546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F6465


=

Code:

This program cannot be run in DOS mode
[/code]
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 01:01    Titel: Antworten mit Zitat

...oder sag uns wenigstens die laenge des textes in bytes grinsen
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 01:05    Titel: Antworten mit Zitat

HAHA! ich habe was gefunden!
Zitat:

GetAtomNameA (atom, s, sizeof(s)) != 0

_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 01:14    Titel: Antworten mit Zitat

und der text ist nicht ganz zufällig einer davon?:
Code:

L0L0L0
N0N0N0
P0P0P0
R0R0R0
T0T0T0
V0V0V0
X0X0X0
Z0Z0Z0
\0\0\0
b0b0b0
e0e0e0
g0g0g0
i0i0i0


weiterhin gibts noch mehr:
Code:

!This program cannot be run in DOS mode.


RichY
.text
.data
.rsrc
msvcrt.dll
KERNEL32.dll
NTDLL.DLL
USER32.dll
;
x;
t
9p
G83ö;
J3öf
V3ö9
YuPf
t
PS
JYYS
öt
VS
JYYS
QQW3
JYYf97
97tP
YYuHS
QQSVWj

uäöE
QQSVW
tDSj
<tof
J1t095D
Jj-h0%
QQSVW
JhäB
JhÜF
Jh,C
QSV3öWV
t
QP
Jj0h,%
Jj/h
Jj.hä
t
PV
w<3ö
t
f=>
"t   f
JFB;
t4V3öf
öt@V
EüPV
J3öF
Ö!0R
t
öE
3öPf
VVVV
QSSj
QSSj
t
VP
JYY9
JVSSj
PhH3
VhÜ2
JYY3
GGf9
ÖYYh
Jt
hl
ÖYYWS
JYYW
JYY3
JYYV
t f="
<w"tÖf
8;t
f
EüWt j
Pj'V
Sh4:
t
PV
JSVW
JYY9
3öF;
uühd
J3ö;
f;Eöu
QRPh
JYYV
JYPVV
Jt5;
t
PQ
JYY9
ÖhlI
ÖhTI
SetConsoleInputExeNameW
IsDebuggerPresent
CopyFileExW
P3öVh
PVhlL
PVhLL
Jj Zf;
SetThreadUILanguage
uRöE
Ju
;
uü3u
9=xH
JhlH
Fj"FV
t
PV
 SVW
JSVW
Jh I
JSj1
JSj2
JSj3
JSj4
JSj5
JSj6
JSj7
.OCP
9t
f
@<VWj
E
PS
WWWW
E
PS
EüPV
u   9E
FFSS
YYuXj
uöf9
u7f9
t:j
t
QP
HuKQS
EäPR
JtZf=:
tXAAC
JSVW
YYtgf
tqWS
taf;
JtXf
QQSV
tDSSVWj
SNVW
@SVW
PSVP
t,@@f
1rGf
JV3öVh@F
95h;
JYY3
,t
PQ
,t
QP
SVWj
tSf=
t
f=
r,Vh0n
JYYS
JYYf
t
PS
950;
95P;
950;
95P;
t
öA
J950;
t295
QSVW3
Wh@F
J3öF
PVh6
EüPj
t7ö@
öÄ@u
,thP
t
RP
t
PQ
Müti
j.Z;
SVWj
EÜWP
EüPh
uüVW
u
AA
Jt   9
9:tq9
SVWj
MüF9
JYYW
EüPS
t
h8
9:t6
t   PS
8,t
h
Jj P
YYt   PW
v<hl
JWWP
v<YY3
w8RP
t
f=


tada...

Code:

!This program cannot be run in DOS mode.


8Rich
.text
.data
.rsrc
@.reloc
ntdll.dll
KERNEL32.dll
MSG
FAIL
WARN
INFO
 0x%p

SeiConstructChain
 %s!%-20s 0x%p ->
SeiConstructChain
 %s!
%d 0x%p ->
 0x%p ->
SeiGetPatchAddress
 Dll "%S" not yet loaded for memory patching.

SeiApplyPatch
 NtProtectVirtualMemory failed 0x%X.

SeiApplyPatch
 DLL not loaded for memory patching.

SeiApplyPatch
 SeiGetPatchAddress failed.

SeiApplyPatch
 Unknown patch opcode 0x%X.

SeiApplyPatch
 NtFlushInstructionCache failed w/ status 0x%X.

SeiApplyPatch
 Failure matching on patch data.

SeiResolveAPIs
 There is no "%s!%s" !

SeiResolveAPIs
 There is no "%s!
%d" !

SeiResolveAPIs
 Resolved "%s!%s" to 0x%p

SeiResolveAPIs
 Resolved "%s!
%d" to 0x%p

SeiResolveAPIs
 Failed to convert string "%s" to UNICODE.

SeiIsExcluded
 Module "%s" mixed inclusion/exclusion for API "%s!%s". Included.

SeiIsExcluded
 Module "%s" mixed inclusion/exclusion for API "%s!
%d". Included.

SeiIsExcluded
 module "%s" excluded for shim %S, API "%s!%s", because it is in the exclude list
MODE: ES
SeiIsExcluded
 module "%s" excluded for shim %S, API "%s!
%d", because it is in the exclude list
MODE: ES
SeiIsExcluded
 module "%s" excluded for shim %S, API "%s!%s", because it is in System32.

SeiIsExcluded
 module "%s" excluded for shim %S, API "%s!
%d", because it is in System32.

SeiIsExcluded
 module "%s" excluded for shim %S, API "%s!%s", because it is not in the include list
MODE: EA
SeiIsExcluded
 module "%s" excluded for shim %S, API "%s!
%d", because it is not in the include list
MODE: EA
SeiIsExcluded
 Module "%s" excluded for shim %S, API "%s!%s", because it is in the exclude list
MODE: IA
SeiIsExcluded
 Module "%s" excluded for shim %S, API "%s!
%d", because it is in the exclude list
MODE: IA
SeiHookImports
 Failed 0x%X to change protection to PAGE
READWRITE. Addr 0x%p

SeiHookImports
 Failed to change back the protection

SeiHookImports
 Hooking API "%s!%s" for DLL "%s"

SeiHookImports
 Hooking API "%s!
%d" for DLL "%s"

SeiHookImports
 Hooking module 0x%p "%s"

SeiHookImports
 Cannot convert "%S" to ANSI

SeiBuildGlobalInclList
 Failed to allocate %d bytes

SeiBuildGlobalInclList
 0x%X Cannot convert UNICODE "%S" to ANSI

SeiBuildGlobalInclList
 Corrupt database. Inclusion list w/ bad module

SeiBuildGlobalInclList
 Corrupt database. Global exclusion list w/o module

   "%s"

SeiBuildGlobalInclList
 EXE name used in the global exclusion list!

SeiBuildGlobalInclList
 Global inclusion list:

SeiBuildGlobalInclList
 no global inclusion list.

SeiBuildGlobalInclList
 Corrupt database. TAG
LIBRARY

SeiBuildGlobalInclList
 Corrupt database. TAG
DATABASE

SeiBuildInclExclListForShim
 Failed to allocate %d bytes

SeiBuildInclExclListForShim
 0x%X Cannot convert UNICODE "%S" to ANSI

SeiBuildInclExclListForShim
 Corrupt database. Incl/Excl list w/ bad module

SeiBuildInclExclListForShim
 Corrupt database. Incl/Excl list w/o module

SeiBuildInclExclListForShim
 EXE name resolved to "%S".

SeiCopyGlobalInclList
 Failed to allocate %d bytes

SeiCopyGlobalInclList
 Failed to allocate %d bytes

SeiBuildInclListWithOneModule
 Failed to allocate %d bytes

SeiBuildInclExclList
 Corrupt database. Couldn't build incl/excl list

SeiBuildInclExclList
 Corrupt database. Couldn't build incl/excl list

SeiBuildInclExclList
 SeiCopyGlobalInclList failed

SeiBuildInclExclList
 Corrupt database. Couldn't get the DLL from the LIBRARY section

SeiGetLoaderEntry
 Couldn't find shim DLL in the loader list!

SeiLoadPatches
 Failure getting patch bits.

SeiLoadPatches
 Failed to allocate %d bytes for patch.

SeiLoadPatches
 Too many patches.

SeiLoadPatches
 returned 0 for patch size.

SeiGetModuleHandle
 Failed to get the handle for "%s".

SeiGetModuleHandle
 Failed to convert "%s" to UNICODE.

SeiRemoveDll
 "%s!%s" not resolved again

SeiRemoveDll
 "%s!
%d" not resolved again

StubGetProcAddress
 called for "%s!%s" 0x%p changed to 0x%p

StubGetProcAddress
 called for "%s!
%d" 0x%p changed to 0x%p

StubGetProcAddress
 Stack capture caller 0x%p

StubGetProcAddress
 failed to construct the chain for pfn 0x%p

SeiInitFileLog
 0x%X Cannot write into the log file "%S"

SeiInitFileLog
 0x%X Cannot open/create log file "%S"

SeiInitFileLog
 Failed to convert path name "%S"

SeiInitFileLog
 Logging not enabled


_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 28.05.2007, 01:29    Titel: Antworten mit Zitat

Ihr macht mich neugierig happy



--

Zitat:
-LIBGCCW32-EH-3-SJLJ-GTHR-MINGW32


hmmmmm

aaaalsooooo

ich weiß ja nichso recht

.exe? xD
LIBGCC? xD
hmmmmm

Ein FB-Programm das nix anzeigt, dabei aber 34 KB groß is... hmmm... iwas is da versteckt, das steht fest... drum hab ich ne Idee happy weiß nur nich ob sie ausreicht


--== EDIT ==--

Noch ne bessere Idee... das Teil heißt ja Raetsel1... ich schreib Raetsel2 happy

--== EDIT ==--

Soo... Referenzprogramm steht... an 0x4010 stand der 1. String... im raetsel1.exe is da aber nich viel von zu finden.
Aber an vielen Ecken findet sich übereinstimmung, auch libgcc findet sich wieder. Die Wahrscheinlichkeit eines FB-Programms hat sich soeben erhöht. Sobald ich an meinen eignen String nich mehr rankomm kriegt ihr mein Beispiel auch serviert happy


Zuletzt bearbeitet von PMedia am 28.05.2007, 01:39, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 01:34    Titel: Antworten mit Zitat

ich denk mal sebi hat da nen simplen algo implemenitiert...
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 28.05.2007, 01:42    Titel: Antworten mit Zitat

ich glaub ich gebs auf... ich habs disassembliert ich habs mir im Hex-Editor angesehen... aber alles was ich sehe, ist das ich nichts sehe....

Edit: es ist schwer etwas zu suchen, wenn man nicht weiss wonach man sucht
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 01:43    Titel: Antworten mit Zitat

Hehe, habs bald fertig ... man muss 4 bytes entfernen grinsen
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 28.05.2007, 01:47    Titel: Antworten mit Zitat

[OT]@csderats: edit-funktion ruled [/OT]
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 01:48    Titel: Antworten mit Zitat

das GINGE gar nicht in einem beitrag grinsen

ganz am ende kommt es...
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 01:52    Titel: Antworten mit Zitat

Eternal_pain hat Folgendes geschrieben:
ich glaub ich gebs auf... ich habs disassembliert ich habs mir im Hex-Editor angesehen... aber alles was ich sehe, ist das ich nichts sehe....

Edit: es ist schwer etwas zu suchen, wenn man nicht weiss wonach man sucht


da haste recht... meine methode das "exit" vor dem "fprint" zu entfernen hat net geklappt weinen
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 28.05.2007, 12:06    Titel: Antworten mit Zitat

Der Text ist 1420 Bytes lang und ist ein Auszug aus einem Wikipedia-Artikel. lächeln

csderats hat Folgendes geschrieben:
ich denk mal sebi hat da nen simplen algo implemenitiert...

Einen seeeehr Simplen. durchgeknallt

Zitat:
FB-Programm das nix anzeigt, dabei aber 34 KB groß is... hmmm... iwas is da versteckt, das steht fest...

Jo, compiliert wurde das mit FB 0.18 CVS vom 18.05.2007. Und ja, da sind 1420 Bytes Text versteckt. Ich möchte aber dazu sagen, dass der Text auf Grund seiner Unterbringung in der Binärdatei länger ist als 1420 Bytes.

Ich geb jetzt für die Disassemblierer und Hexeditorbenutzer noch nen Tipp: Der Text steht NICHT in einer Konstante oder einem String... lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 28.05.2007, 12:10    Titel: Antworten mit Zitat

Im Kommentar? grinsen
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 28.05.2007, 12:11    Titel: Antworten mit Zitat

der kommentar wird beim kompilieren kommentarlos gelöscht lachen
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 28.05.2007, 12:13    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Im Kommentar? grinsen

Nein, dann wäre die Aufgabe, wie Jojo schon angedeutet hat, unlösbar - ist sie aber nicht. lächeln Welche einfachen Möglichkeiten fallen euch denn noch ein, beispielsweise den String "Test" in einem Programm unterzubringen, ohne ihn als String oder Konstante reinzuschreiben?
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 28.05.2007, 12:16    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Nein, dann wäre die Aufgabe, wie Jojo schon angedeutet hat, unlösbar

Weiß ich, darum der Smilie.
Man könnte den Text ja in eine (Hexadezimal-)Zahl umwandeln und diese speichern.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 28.05.2007, 13:07    Titel: Antworten mit Zitat

@csde_rats:
Scheinst net viel Ahnung zu haben. zwinkern
Das sind WinAPI-Calls, die als Strings im Plaintext im Programm untergebracht werden.
Ich setz mich denn nach dem Essen auch mal ran. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 28.05.2007, 13:12    Titel: Antworten mit Zitat

hinten drangehängt hat er den text nicht... evtl. hat er ihn mittendrin eingefügt + die Jumps korrigiert grinsen wär aber zu aufwändig happy

@Mao:
hab' bis jetzt nur in QB-Exen rumgepfuscht happy
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 28.05.2007, 13:35    Titel: Antworten mit Zitat

Ich hab an der Binärdatei nichts verändert. Die ist genau in dem Zustand, in dem sie der Compiler erzeugt hat.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
Gehe zu:  
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.

 Impressum :: Datenschutz