Vista 64 Startsound ändern -> Hexeditor? ^^ :)

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Da sich am Resourcen-Format nichts geändert hat, verstehe ich den Aufwand
nicht so ganz. ResHacker aktzeptiert zwar die 64-Bit DLL nicht, aber nur weil
er den PE-Header nicht akzeptiert. Mit anderen Tools wie z.B. XN Resource
Editor kann ich die Resource (WAVE / 5051 / English USA) problemlos
bearbeiten.

Aber mit der Faust durchs Auge ist natürlich lustiger :twisted:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
gekkonier
Beiträge: 314
Registriert: 20.04.2007 09:06
Wohnort: Wien

Beitrag von gekkonier »

Naja, immerhin kann man den Startsound ja auch deaktivieren *g*

Am besten wäre es du machst das... nämlich abdrehen.

Dann könntest du dir mit Purebasic :mrgreen: einen wav Player ohne Gui und Schnickschnack bauen und den in die Autostart klopfen...
Kannst dir wenigstens nichts zerbröseln...

Stell dir mal vor diese jene Datei wird beim übernächsten Patch geändert..... hast schon wieder den Mist vor dir...
Benutzeravatar
Max_der_Held
Beiträge: 595
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Beitrag von Max_der_Held »

Stell dir mal vor diese jene Datei wird beim übernächsten Patch geändert..... hast schon wieder den Mist vor dir...
o_O!! bring sie nicht auf dumme Gedanken!
XN Resource
Editor
LOL sag das doch gleich! :? :roll: jetzt is's fast zu spät^^ und ich schaufel da mühsam haufenweise zeilen hin und her.. pfft ^^ :P ;)
allerdings habe ich gerade zweierlei bemerkt..
die neue Sounddatei (tagessschau-start ^^ :D ;) ) muss, wenn ich es über den hex-editor mache( was ich gemacht habe) genau so groß sein wie die alte datei, der rest wird einfach nicht erkannt.. vermutlich wegen irgendeinem ressource-header oder so.. (k.a.)
und wenn ich jetzt den XD Resource Editor hernehme, kommt beim speichern eine "Error System. Code 50" meldung -> kann nicht gespeichert werden..?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Vielleicht besorgste Dir mal das Resource-Format von Wotsit.org oder
ähnlich.
Der Header enthält neben Namen auch die größe der Resource usw.
Desweiteren muß die Größe der Wave erweitert werden mit 0 Bytes, so das
es durch 4 glatt teilbar ist.

Glaub zwar nicht das der Quatsch den Aufwand wert ist, aber das mußt Du
selber entscheiden. Im CodeArchiv ist auch ein Beispiel, wie man eine
Resource austauscht, falls der XN-Resource Editor das nicht kann.
Geht im CodeArchiv zwar um die Manifest-Datei, aber das spielt keine Rolle,
die API ist dieselbe.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Max_der_Held hat geschrieben:die neue Sounddatei (tagessschau-start ^^ :D ;) ) muss, wenn ich es über den hex-editor mache( was ich gemacht habe) genau so groß sein wie die alte datei, der rest wird einfach nicht erkannt.. vermutlich wegen irgendeinem ressource-header oder so.. (k.a.)
Ähhhhhhhhh... das sollte doch selbstverständlich sein??
Oder ist die WAV-Datei die letzte Ressource in der DLL?
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich denke mal, ausser Resourcen ist da nichts in der DLL, also einfach alle
Resourcen Extrahieren, dafür kannste auch den ResourceHacker nehmen,
nimmste einfach die 32-Bit Version, Resourcen sollten identisch sein, gggfs
sind kl. Anpassungen nötig.

Mit Porc zur *.res compilieren und dann in PB x64 eine DLL erstellen, die
lediglich die Resourcen importiert.

Probleme könnte höchstens die MUI Resource machen, den Typ kenne ich
nicht. Aber wenn Porc das 1:1 übernimmt, sollte das gehen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Max_der_Held
Beiträge: 595
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Beitrag von Max_der_Held »

JAH! :D :) :) :D ^^
XD. haha :D :D
wisst ihr, wie ich's jetzt zuletzt gemacht hab?
Also: Behauptung: irgendwo muss die größe der kompletten Wave-ressource ja stehen. (irgend eine variable in der großen DLL)
Plan: diese ändern!

Also: einfach die tatsächliche Größe der Wave-datei von windows ( also diese 80.. + 8) in hexadezimal "übersetzt" mit diesem in windows-rechner (calc) eingeben und dann auf hexdrücken [danke auch noch für den Tip :) ]
dann im Hex-editor gesucht (im Editor sind die bytes ja andersrum, also "2C700D00" statt 000D802C)
Und das dann mit der neuen Größe der neuen Wav-datei ersetzt XD.
die mit hex-editor veränderte Datei dann auf D:\ geworfen, neustart, benutzerrechte ändern, alte dll löchen, neue einfügen, wieder neustart und.. JA! es geht :) :D :allright:

Danke, für die Hilfe :)
Hab einiges gelernt auch was das Dateien-verständnis angeht.



und, um meinen neuen Systemstart-sound zu bewundern :) :
Nur Anfang; ohne Stimme

ps: kurze stellungname :P ^^;)
Ähhhhhhhhh... das sollte doch selbstverständlich sein??
Oder ist die WAV-Datei die letzte Ressource in der DLL?
Nö, isset nicht ;) :) ich überschreibe den Rest ja nicht, ich verschiebe ihn nur :)
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Max_der_Held hat geschrieben:ps: kurze stellungname :P ^^;)
Ähhhhhhhhh... das sollte doch selbstverständlich sein??
Oder ist die WAV-Datei die letzte Ressource in der DLL?
Nö, isset nicht ;) :) ich überschreibe den Rest ja nicht, ich verschiebe ihn nur :)
Okay aber DANN kommt es drauf an wie die Resource-Dateien aufgebaut sind. Haben die eine Art Inhaltsverzeichnis? Wenn ja, muß man dort halt alle Folgeadressen für die weiteren Ressourcen anpassen. Hab aber grad keine Ahnung wie die genau aufgebaut sind.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Anhand des Headers einer Resource kann man zu nächsten Springen. Sind
also aufeinanderfolgend. Wenn Max_der_Held jetzt auch das Alignment be-
rücksichtigt hat, also auffüllen mt 0 Bytes bis glatt durch 4 teilbar sollte es
funktionieren. Ansonsten sind die anderen Resourcen zwar noch vorhanden,
aber unauffindbar.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Max_der_Held
Beiträge: 595
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Beitrag von Max_der_Held »

hm. also funktionieren tut alles einwandfrei.
Ich hab ja eine backupdatei gelassen; alle daten sind komplett gleich und komplett fehlerlos+erkannt..

aber vielleicht ist es zufällig tatsächlich die letzte ressource.. (auch wenn danach noch einiges an hex-code in der dll ist..? .. )

jedenfalls weis ich dafür leider noch zu wenig über diesen Header usw.
möglich wäre es,dass das Ganze wie ein "kettenmaß" funktioniert (ich hätt's so gemacht.) also, dass er nur die Größen der daten hat, nicht die positionien. das kanner sich ja dann selber ausrechnen. ansonsten wäre es ja ein unding, wenn man beim ressourcenänern dauernd die Positionen der nachfolgenden daten neuberechnen muss ^^..

und: dann wäre wohl die Größe der Wave-datei nicht in der dll gestanden, da sie ja überflüssig gewesen wäre ;)

also, ist vermutlich kettenmaß, nicht reihenmaß (wie man in cad sagen würde)

aber: k.a. ^^ es geht halt ! :D ;)
(getestet mit XN Resource Editor)
Antworten