Jump to content
  • 0
Melde dich an, um diesem Inhalt zu folgen  
5i1v3rStorm

Idee: Firmware-Modifier (Programm)

Frage

5i1v3rStorm

Hi,

nachdem ich die gleichen Aktionen immer und immer wieder ausgeführt habe dachte ich, das ist eigentlich die Aufgabe von Programmen.

Ich hatte die Idee, dass man ein Programm schreibt, welches mit Hilfe von Windows_Enabler und R&D-Tool selbstständig eine Firmware packt.

Man gibt ihm praktisch einen Ordner, in dem man die Dateen so angeordnet hat, wie in der CUST oder der AMD_OEM.

Dann packt es sich eine kdz auf, schmeißt den AMD_OEM und den CUST Ordner mit Winimage und SERJs toolz in die fat/imas und packt die FW wieder zusammen.

Alternativ kann es die fat und ima behalten. Wenn man jetzt sagt "Kdz aus Ordner erstellen" muss es nicht erst eine kdz aufpacken, sondern nimmt die 01_psi... bis zur 10_code.fls und muss die kdz nur noch packen.

===

Was wir brauchen: Eine Möglichkeit WinImage und den WindowsEnabler zu steuern.

Erste Idee: Mausklicks an die richtige Position des Desktops senden.

Problem: Was ist, wenn das Fenster oder das WindowsEnabler Symbol woanders ist?

julicas Idee: Den WindowsEnabler debuggen und seine Funktionen selbst verwenden.

Ich habe den Autor vom WindowsEnabler mal angeschrieben und nach einer Möglichkeit gefragt, ihn so zu starten, dass er sofort aktiviert ist.

SERJ werd ich noch anschreiben, womit er seine Progs scheibt, was er empfiehlt, ob er hilft.

Ideen oder Wünsche?

bearbeitet von pzumk
Präfix.

Diesen Beitrag teilen


Link zum Beitrag

Recommended Posts

  • 0
Bitz21

Sry wenn das gleich etwas hart rüberkommt aber anscheind hast du keine ahnung von programmen^^ es ist blödsinn ein tool zu entwickeln was maus klicks sendet und vorallem würde es nach meiner sicht fast unmöglich sein sowas zu coden, da dort übermäßßig viele parameter berücksichtigt werden müßten, was die steuerung von Windows Enabler oder anderen Programmen angeht sind diese über ein Externes Programm mittels Befehls-parameter möglich und anders würde es wie gesagt absolut sinnlos sein. Und um zum schluss noch deine frage zu beantworten wie er solche programme schreibt, diese schreibt er mit 100% sicherheit über C/C++ und diese source daten können und werden über ein ganz normalen Text-Editor geschrieben.

Diesen Beitrag teilen


Link zum Beitrag
  • 0
The0d0r

Es ist kein Problem Windows-Programme zu steuern - AutoIt (www.autoitscript.com/autoit3) kann so etwas. Es ist damit sogar möglich, die Position von Fenstern festzulegen bzw. abzufragen, so daß gesendete Mausklicks richtig positioniert werden.

AutoIt bietet darüber hinaus aber auch noch die Möglichkeit, Fensterelemente direkt anzusteuern. So ist es z.B. möglich einen Klick an eine bestimmte Taste, eines bestimmten Fensters zu senden und dabei ist es egal wo sich dieses Fenster auf dem Desktop befindet, da Fensterelemente über eindeutige, intern vergebene Namen angesteuert werden.

Diesen Beitrag teilen


Link zum Beitrag
  • 0
diesernutzerexistiertnicht

Ich dachte auch, dass das mit den klicks nicht moeglich ist.. jedenfalls waere es fuer laien von vorteil so ein tool zu nutzen.

Edit // natuerlich auch fuer Profis xD

Hast du serj schon erreicht? Sonst frag ich ihn heute Abend ueber ICQ

(hab leider keine Umlaute ^^)

Diesen Beitrag teilen


Link zum Beitrag
  • 0
5i1v3rStorm

Sry wenn das gleich etwas hart rüberkommt aber anscheind hast du keine ahnung von programmen^^ es ist blödsinn ein tool zu entwickeln was maus klicks sendet und vorallem würde es nach meiner sicht fast unmöglich sein sowas zu coden, da dort übermäßßig viele parameter berücksichtigt werden müßten, was die steuerung von Windows Enabler oder anderen Programmen angeht sind diese über ein Externes Programm mittels Befehls-parameter möglich und anders würde es wie gesagt absolut sinnlos sein. Und um zum schluss noch deine frage zu beantworten wie er solche programme schreibt, diese schreibt er mit 100% sicherheit über C/C++ und diese source daten können und werden über ein ganz normalen Text-Editor geschrieben.

du hast recht - ich habe keine Ahnung vom Programmieren. Sonst würde ich das Programm selbst schreiben. Das ist der Sinn des Threads: Ideen und Hinweise einholen.

Meine Erfahrung beschränkt sich auf etwas Pascal und ein paar Scriptsprachen. In C++ bin ich nicht weiter als bis "Hallo Welt" vorgedrungen.

Du hälst es für unmöglich. Danke für deine Meinung.

Ich habe mal längere Zeit Dragon Naturally Speaking genutzt. Damit konntest du sogar auf einer WEBSITE und im explorer sowieso ins Mikrofon sagen: "Klick Speichern" und dann hat der die Maus dahinbewegt wo "speichern" stand und geklickt.

Das halte ich für 10^10 mal schwerer zu realisieren, als zwei Programme zu "beklicken" - also habe ich in meiner laienhaften Naivität gedacht, ich frage einfach mal :-)

Ich bin kurz weg, mit AutoIT rumspielen

Danke für den Tipp, Theodor - ich hatte auch in der c't davon gelesen, aber s irgendwie verdrängt^^

Es ist ziemlich cool - erfordert einiges an Einarbeitung.

Dabei ist ein Windows-Info-Tool, welches einem Details über jedes geöffnete Fenster verrät. Infos sendet man mit:

ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "This is some text")

vorstellbar: ControlSend("R&D Test tool", "", "[CLASS:ComboBox; INSTANCE:1]", "Infineon")

bearbeitet von 5i1v3rStorm

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Fragger255

das problem wird die verbindung zwischen dem tool hier und dem window enabler sein

Diesen Beitrag teilen


Link zum Beitrag
  • 0
5i1v3rStorm

jup - ich hoffe man kann so was machen wie:

ClicklSend("Windows-Enabler", "", "[CLASS:Trayicon; INSTANCE:1]")

Oder aber den WE direkt enabled starten (der hat sich noch nicht gemeldet).

ist natürlich reine Spekulation - bei meinem Auto-IT öffnet sich das Funktionen-Fenster nicht...

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Topmaster

mm Autoit nicht wirklich Profimäßig;)

Sehr hilfreich wäre es wenn einer der Gute ASM kenntnise hat und mal den Ver-/Entschlüsselungs Alogrithmus der KDZ aus dem Programm umwandelt, dass würde die Arbeit um einiges Verschellern,da man nicht extra auf andere Programme warten muss bzw. dort Jedesmal eine Parameter übergabe durchzuführen.

Die Tools von Serj sind was ich bisher gesehen habe auch leicht nachzubauen bzw. in das ganze Programm miteinzubrigen, denn dort wird meistens nur ein Binarypart gesucht, teilt und dann in neue Files geschrieben.

Nichtdestotrotz bleib natürlich das Flashtool, welches wir ohne weiters ehr nicht umschreiben können,dass größte Problem scheint ja das enablen der Funktionen zu sein mit dem Windows-Enabler.Sowie ich das sehe ist das Wichtigste die EnablerDLL.dll die wird ja in jeden Prozess "interjected".

3 Namen der Funktionen konnte ich mit Ollydgb herrausfinden(SetHook,ReleaseHook,IsEnabled).Als erstes habe ich versucht einfach die DLL zu interjecten ohne den Windows Enabler einfach durch ein C++ Programm und Jeweils eine Funktion geöffnet(Ich dachte man müsste nur SetHook starten und schon würde die DLL alle nötigen Veränderungen und ihre Aufgabe alleine ausführen , aber leider ist dies nicht so....) nun ja leider sind meine reserving Skills auch nicht sehr gut :(

Aber mal Logisch gedacht würde uns immer noch die Arbeit bleiben die Sachen zu enablen, also wäre dies nicht die Beste Lösung.

Nach etwas nachdenken habe ich mich gefragt wie denn die LG-Mitarbeiter dieses Tool nutzten, wenn alles Grau ist^^(Ich habe vergessen das man sich Regestieren muss) Ich gehe mal davon aus das durch eine Regestierung die Funktionen Enabled werden.

So jetzt würden wir wieder einen brauchen der wirklich gut ASM und Reserving Skills hat,damit wir den Button Klick für "Register PC Information with Server" etwas um schreiben die Verbindung mit dem Server übersprigen sozusagen einen JUMP setzten und die If Abfrage ob wir nun wirklich ein Regestierter sind einfach faken.

Kleines Gedanken spiel ;)

Edit: Habe noch etwas Rum gespielt und folgendes Gefunden paar Datein und Programme

<item name='LGSP_USB_KR' version='1.0' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/LGATOSSP_USBDriver_WHQL_Kor_Ver_1.0_1.0.zip' />

<item name='KRUSB_LGE' version='4.9.6.0' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/LGUSBModemDriver_WHQL_Kor_Ver_4.9.6_All.exe_4.9.6.0.zip' />

<item name='KRUSB_SKT' version='2.0.4.0' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/SKUSB_2.0.4.0_2.0.4.0.zip' />

<item name='ORACLE_ODBC' version='1.0.0.3' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/ODBC_DRIVER_1.0.0.3.zip' />

<item name='LPIN' version='080827' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/LPIN_080827_080827.zip' />

<item name='ORACLE_SQL' version='0.0.0.95' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/Orawin95_0.0.0.95.zip' />

<item name='LGSP_USB' version='1.1' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/LGATOS_SPUSBDriver_WHQL_Eng_Ver_1.1_1.1.zip' />

<item name='ActiveSync' version='4.5' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/Microsoft_ActiveSync_4.5_setup_4.5.msi' />

<item name='ActiveSync_Vista' version='6.1' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/drvupdate_x86_6.1_kr_6.1.zip' />

<item name='PCSyncFTP' version='1.0.1.2' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/PCSyncFTP_1.0.1.2.cab' />

<item name='B2C_PCSynclink_setup' version='1.0.1.5' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/B2CAppSetup_1.0.1.5.cab' />

<item name='NotiAgent' version='1.0.4.1' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/NotiAgent_1.0.4.1.cab' />

<item name='3GQCT_Smart_Offline' version='1.0.2.0' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/SP_Starter_1.0.2.0.cab' />

<item name='BuyerAppProg' version='1.0.3.7' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/BuyerAppProg_1.0.3.7.cab' />

<item name='PCSyncDLL' version='1.0.0.176' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/PCSyncDLL_1.0.0.176.cab' />

<item name='UpTestEX' version='1.0.5.4' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/UpTestEX_1.0.5.4.cab' />

<item name='B2BAppProg' version='1.2.9.5' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/B2BAppProg_1.2.9.5.cab' />

<item name='B2CAppProg' version='1.2.8.8' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/B2CAppProg_1.2.8.8.cab' />

<item name='B2EAppProg' version='1.0.6.1' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/B2EAppProg_1.0.6.1.cab' />

<item name='BuyerShopAppProg' version='1.0.2.5' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/BuyerShopAppProg_1.0.2.5.cab' />

<item name='SVCLiveUpdate' version='1.0.3.5' url='https://csmg.lgmobile.com:9002/swdata/client/inhouse/B2BFileUpdateAgent_1.0.3.5.cab' />

Glaube haber das meiste hat Serj so mal gepostet:)

bearbeitet von Topmaster

Diesen Beitrag teilen


Link zum Beitrag
  • 0
5i1v3rStorm

Ich hab noch eine Idee. Ist ein anderes Programm, aber viel leichter zu realisieren und ich wollte keinen neuen Thread aufmachen.

Ich will alle VUIs in ihre Unterordner entpacken - dann kann ich die Bilder suchen und mit Photoshop Automate alle orangenen Bilder bearbeiten.

Dazu nutze ich "forfiles": ftp://ftp.microsoft.com/ResKit/y2kfix/x86/

und lasse 7-Zip aufrufen.

ENTpacken geht sehr gut.

Beim PACKEN macht der mir immer den Unterordner mit rein. das sieht dann so aus:

Alarm.vui - Alarm - SERIDATA, etc.

soll aber so aussehen:

Alarm.vui - SERIDATA, etc.

versteht ihr?

Ich weiß auch noch nicht, ob das Arena mit diesen selbst erstellten VUIs klar kommen wird - das wird sich zeigen.

Hier mal die Aufrufe:

Entpacken:

forfiles -m*.vui -c"C:\Programme\7-Zip\7z x -o@FNAME_WITHOUT_EXT @FILE

Packen bisher:

forfiles -m*.* -c"CMD /C if @ISDIR==TRUE C:\Programme\7-Zip\7z a -r @FILE.test.vui"

Wie gesagt, dann ist der Ordner mit drin. Ich müsste also eine bat Datei aufrufen, die erst in den Ordner taucht, dort 7-Zip ausführt, das erstellte Archiv einen Ordner höher verschiebt und den Ordner wieder verlässt...

Oder gibts einen 7-Zip Schalter der bewirkt, dass der erste Ordner nicht mit gepackt wird?

LG

EDIT: Es hat geklappt!

ich rufe wenn es ein Ordner ist eine weitere Bat Datei mit folgendem Inhalt auf:

cd %1

C:\Programme\7-Zip\7z a -r %1.vui

move %1.vui ..\%1.2.vui

cd ..

Will jemand die Dateien haben?

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Fragger255

vielleicht kannst du in der befehlszeile noch bedinguingen angeben, oder ausnahmen,

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Topmaster

So ich habe mich mal mit dem Enablen etwas beschäftig und habe es nun Hinbekommen es ist zwar noch nicht perfekt aber es geht deutlich schnller als den Enabler zu benutzten und alles selber zu enablen.

Zurzeit funktioniert es nur für das Main Fenster des UpTestEX.exe

Der KDZ entschlüssler ist z.b noch nicht enabled , da werde ich aber noch arbeiten;)

Hier könnt ihr die Test version downloaden

https://rapidshare.com/files/322619291/Enabler.rar

Bedieung erklärt sich wahrscheinlich von alleine;)

mfg.

Topmaster

Diesen Beitrag teilen


Link zum Beitrag
  • 0
5i1v3rStorm

in welcher Reihenfolge muss man was machen? Hat bei mir nicht funktioniert. Egal ob Windows_Enabler gestartet war, auf on war, oder nicht...

Muss deine EXE im Ordner von WE liegen? Wann muss ich auf "Start" klicken und wann (bzw. überhaupt?) ins UpTextEx Fenster???

====

@ all: Meine bat Scripts mussten verändert werden, weil das Handy das 7-Zip eigene Format nicht kennt!

Also fertige ich eine Sicherheitskopie der VUI an, benenne sie zu ZIP um (sonst gehts nicht) und mache ein Archivupdate. Sehr gut: Dann werden auch nur die Dateien gepackt, die sich wirklich verändert haben.

Entpacken.bat:

forfiles -m*.vui -c"C:\Programme\7-Zip\7z x -o@FNAME_WITHOUT_EXT @FILE

Packen.bat:

forfiles -m*.* -c"CMD /C if @ISDIR==TRUE machs.bat @FILE"

machs.bat:

copy %1.vui %1.zip

copy %1.vui %1.backup.vui

cd %1

C:\Programme\7-Zip\7z u -r ..\%1.zip

cd ..

move %1.zip %1.vui

Schön wäre:

1.) Wenn es sich den Pfad zu 7-Zip aus der Registry holt

2.) Die ganzen Dateien aus einem Unterordner heraus operieren könnten, oder aus dem AMD_OEM Ordner direkt. Je nachdem müssten sie ein Verzeichnis auf- oder in den VUI Ordner eintauchen, bevor sie loslegen, aber das sollte ja kein Problem sein.

3.) Die backup.vuis in einem Unterordner landen würden...

dass mach ich irgendwann noch.

Fragger: Was für Ausnahmen? VUI Dateien auslassen?

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Topmaster

Mein Programm Arbeitet ohne den Windowsenabler, man muss ledglich UpTestEx starten. dann mein Programm öffnen auf Start drücken und es sollte funktionieren.(Zumindest bei Xp andere Os habe ich nicht geteste)

Das Programm Sucht sich über die GetProcessbyName Funktion den geöffneten Process herraus und bearbeitet ihn dementsprechend

hier ne kleine demo

https://topmaster.kilu.de/files/lg.swf

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Fragger255

@topmaster hast du jetzt die funktion zur überprüfung der anmeldung ausgetrickst?

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Don Jovanni

Geschickt wäre doch ein Programm, das mehrere Dateien über die vuis ersetzt. Ich hab schon gegoogelt, aber leider keins gefunden, auch nicht in normale Ordner.

Diesen Beitrag teilen


Link zum Beitrag
  • 0
Topmaster

@Fragger255 ja zum Teil ...

Das wie ich das ganze Programm Enabled bekomme, durch faken des ASM-Codes habe ich noch nicht raus aber bei der Decrypt Funktion habe ich es herraus gefunden und geändert

Das Bild erklärt es kurz:)

Unbenannt.JPG

Das MainFenster wird über eine DLL enabled die den selben Code enthält wie das Programm was ich schon 2 tage zuvor gepostet hat(Vb.net),nur das die Dll , aufgrund der Exportfunktion in C++ geschrieben wurde.

Die Dll habe ich über ein Programm welche Imports bearbeiten kann eingefügt,man kann es aber genauso gut über einen Codecave machen.

mfg.

Topmaster

Diesen Beitrag teilen


Link zum Beitrag

Please sign in to comment

You will be able to leave a comment after signing in



Jetzt anmelden
Melde dich an, um diesem Inhalt zu folgen  

×
×
  • Neu erstellen...

Wichtige Information

Bitte beachten Sie folgende Informationen: Nutzungsbedingungen und Impressum & Datenschutzerklärung. Wir haben Cookies auf deinem Gerät platziert, um die Bedienung dieser Website zu verbessern. Du kannst deine Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist.