Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 28.05.2007, 00:04 Titel: Ein kleiner h4x0r-Wettbewerb... ^^ |
|
|
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!  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 28.05.2007, 00:59 Titel: |
|
|
kannst du uns nicht wenigstens sagen WAS für ein text da ausgegeben werden soll/ein teil davon? hab' hier mein WinHex am laufen, und find da nix
aber es ist ein FB prog
Code: |
546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F6465
|
=
Code: |
This program cannot be run in DOS mode
| [/code] _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 28.05.2007, 01:14 Titel: |
|
|
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 |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 28.05.2007, 01:29 Titel: |
|
|
Ihr macht mich neugierig
--
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 weiß nur nich ob sie ausreicht
--== EDIT ==--
Noch ne bessere Idee... das Teil heißt ja Raetsel1... ich schreib Raetsel2
--== 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 
Zuletzt bearbeitet von PMedia am 28.05.2007, 01:39, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 28.05.2007, 01:42 Titel: |
|
|
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 |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 28.05.2007, 01:47 Titel: |
|
|
[OT]@csderats: edit-funktion ruled [/OT] _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 28.05.2007, 01:52 Titel: |
|
|
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  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 28.05.2007, 12:06 Titel: |
|
|
Der Text ist 1420 Bytes lang und ist ein Auszug aus einem Wikipedia-Artikel.
csderats hat Folgendes geschrieben: | ich denk mal sebi hat da nen simplen algo implemenitiert... |
Einen seeeehr Simplen.
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...  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 28.05.2007, 12:10 Titel: |
|
|
Im Kommentar?  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 28.05.2007, 12:11 Titel: |
|
|
der kommentar wird beim kompilieren kommentarlos gelöscht  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 28.05.2007, 12:16 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 28.05.2007, 13:07 Titel: |
|
|
@csde_rats:
Scheinst net viel Ahnung zu haben.
Das sind WinAPI-Calls, die als Strings im Plaintext im Programm untergebracht werden.
Ich setz mich denn nach dem Essen auch mal ran.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 28.05.2007, 13:12 Titel: |
|
|
hinten drangehängt hat er den text nicht... evtl. hat er ihn mittendrin eingefügt + die Jumps korrigiert wär aber zu aufwändig
@Mao:
hab' bis jetzt nur in QB-Exen rumgepfuscht  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
|