[ROM] [CWM] Testwiese

  • 270 Antworten
  • Letztes Antwortdatum
hm, vlt war ich doch nicht so falsch.
ich habs jetzt nochmal neu geflasht b932 dann root und nur table 3 aber KEINE recovery!!
gleiche meldung.
jetzt habe ich im gespür, dass ich nur noch eine von beiden verändern muss dann gehts

anders ausgedrückt: nachdem flashen heisst es: wenn recovery richtig oder falsch ist gebe meldung check failed aus
ich will das gegenteil
 
Ah guter Ansatz, trotz "richtiger" Recovery schlägt die Verifikation an, was ja nicht sein dürfte. Die Spur ist sicher ziemlich gut, hoffe du findest die richtige Stelle ! Sieht nach "sehr heiß" aus :)

Und ja, du bekommst sicher den "goldenen" Status :winki:, zumindest den DANK aller hier
346.png
 
  • Danke
Reaktionen: 1nch0
1nch0 schrieb:
die boot.img habe ich noch nicht angerührt sollte es gehen kann ich auch die patchen.
Fuer ein Custom ROM muesste man auch das boot.img austauschen koennen. Aber das waere sicherlich der naechste Schritt, so es mit der Recovery funktioniert.
Nachdem recovery.img und boot.img die gleiche Grundstruktur haben, sollte man zum Test eine weitere "recovery.img" nach "boot.img" kopieren koennen (Recovery startet einfach schneller und hat auch eine ADB Shell). Am besten natuerlich eine andere Version nehmen, damit man erkennen kann, was vom Bootloader gestartet wurde. Bei Bedarf erstelle ich gerne eine Version, wo man den Unterschied direkt nach dem Start sehen kann.
 
ja das fehler bild sagt ja auch, dass recovery oder boot rom falsch sind.

die boot.img hat die gleichen asm befehle direkt dahinter und lässt sich also gleich patchen
 
1nch0 schrieb:
jetzt muss ich noch testen drückt mir die daumen ;)
8flkCvoV3uZsYAAAAASUVORK5CYII=

Die Anweisung CMPNE und CMP musst du nicht ändern?

Ich lese es so, dass erst bei Zutreffen von CMPNE das BEQ aufgerufen wird, bei CMP dagegen das BNE (im Original).

Bin aber kein Systemfuzzi ...

Thomas.
 
So die originalen Images nicht mehr geladen werden ist das natuerlich suboptimal.

Besser ist es: Die gewuenschte Stelle ohne Vergleich anspringen. Die restlichen Speicherstellen ggf. mit NOOP (No operation - keine Ahnung, ob das bei ARM auch so ist) ueberschreiben.
 
da ich immer wieder resetten muss und das 10min dauert, dauert auch das testen -.-
mir ist dann durch den kopf geschossen, dass es die fehlermeldung auch daran liegen könnte (obwohl wir es ausgeschlossen haben) dass die osbl (partion 3) die ich ja durch den patch verändere nun nicht akzeptiert wird, dem ist nicht so (ich hab die original in einem unnötigem string manipuliert und geflasht und er lädt).
-> die spur mit dem patchen ist "sehr heiß"

@fluxflux
ja könnte auch sein, du meinst ich soll cmpne (compare not equal) zu cmp (compare equal machen?
ich probier auch das, danke bin für jeden tip dankbar.
ich hab unter windows immer nur mit jumpveränderungen gepatcht und das ziemlich erfolgreich aber ein cmp ist auch immer wichtig.
allerdings ist das eigentlich doppelt dann aber ich kanns versuchen

und: bei 2fa8c ist noch ein beq den ida (mein debugger) mit makiert sollte ich den auch patchen? eigentlich ist doch der sprung schon vollzogen und er springt nicht darüber sondern sozusagen vorbei

@crypto
nein sie werden alle geladen nur jetzt zum testen ist es mit bedingungsjumps einfacher weil dies einfach gegenteile sind und ich somit nur einen "halben" byte verändern muss.
wenn es geht patche ich mit unbedingten jumps "b" anstatt "beq" oder "bne"

nop ist nicht gut denn: da werden die restlichen addressen noch abgearbeitet wodurch es zu problemen kommen kann


hier nochmal der ganze (wichtige) part


ROM:0002FA24 ; ---------------------------------------------------------------------------
ROM:0002FA24 STMFD SP!, {R0-R11,LR}
ROM:0002FA28 SUB SP, SP, #0x34
ROM:0002FA2C MOV R6, #1
ROM:0002FA30 MOVS R7, R2
ROM:0002FA34 LDR R8, =0x41500000
ROM:0002FA38 ADD R1, R8, #0x200000
ROM:0002FA3C STR R1, [SP,#0x30]
ROM:0002FA40 LDRNE R1, [SP,#0x40]
ROM:0002FA44 CMPNE R1, #0
ROM:0002FA48 BEQ loc_2FAF8
ROM:0002FA4C CMP R0, #1
ROM:0002FA50 BNE loc_2FAA0
ROM:0002FA54 LDR R4, =0x40B00000
ROM:0002FA58 MOV R1, #0x24 ; '$'
ROM:0002FA5C MOV R0, R4
ROM:0002FA60 BL sub_2DB44
ROM:0002FA64 ADD R0, R4, #0x1000
ROM:0002FA68 STR R0, [R4,#0xC]
ROM:0002FA6C LDR R1, =0x45C57DF
ROM:0002FA70 MOV R0, R4
ROM:0002FA74 MOV R2, #8
ROM:0002FA78 BL sub_2DA24
ROM:0002FA7C MOV R1, SP
ROM:0002FA80 ADR R0, aSys_bootImag_6 ; "sys_boot/image/recovery.img"
ROM:0002FA84 BL sub_192B4
ROM:0002FA88 CMN R0, #1
ROM:0002FA8C BEQ loc_2FAF8
ROM:0002FA90 LDR R11, [SP,#0xC]
ROM:0002FA94 MOV R1, #0
ROM:0002FA98 ADR R0, aSys_bootImag_6 ; "sys_boot/image/recovery.img"
ROM:0002FA9C B loc_2FAE8
ROM:0002FAA0 ; ---------------------------------------------------------------------------
ROM:0002FAA0
ROM:0002FAA0 loc_2FAA0 ; CODE XREF: ROM:0002FA50j
ROM:0002FAA0 LDR R4, =0x40100000
ROM:0002FAA4 MOV R1, #0x24 ; '$'
ROM:0002FAA8 MOV R0, R4
ROM:0002FAAC BL sub_2DB44
ROM:0002FAB0 ADD R0, R4, #0x1000
ROM:0002FAB4 STR R0, [R4,#0xC]
ROM:0002FAB8 LDR R1, =0x45C57D6
ROM:0002FABC MOV R0, R4
ROM:0002FAC0 MOV R2, #8
ROM:0002FAC4 BL sub_2DA24
ROM:0002FAC8 MOV R1, SP
ROM:0002FACC ADR R0, aSys_bootImageB ; "sys_boot/image/boot.img"
ROM:0002FAD0 BL sub_192B4
ROM:0002FAD4 CMN R0, #1
ROM:0002FAD8 BEQ loc_2FAF8
ROM:0002FADC LDR R11, [SP,#0xC]
ROM:0002FAE0 MOV R1, #0
ROM:0002FAE4 ADR R0, aSys_bootImageB ; "sys_boot/image/boot.img"
ROM:0002FAE8
ROM:0002FAE8 loc_2FAE8 ; CODE XREF: ROM:0002FA9Cj
ROM:0002FAE8 BL sub_1895C
ROM:0002FAEC CMN R0, #1
ROM:0002FAF0 STR R0, [SP,#0x2C]
ROM:0002FAF4 BNE loc_2FB04
ROM:0002FAF8
ROM:0002FAF8 loc_2FAF8 ; CODE XREF: ROM:0002FA48j
ROM:0002FAF8 ; ROM:0002FA8Cj ...
ROM:0002FAF8 MOV R0, #0
ROM:0002FAFC
ROM:0002FAFC loc_2FAFC ; CODE XREF: ROM:0002FC3Cj
ROM:0002FAFC ADD SP, SP, #0x44
ROM:0002FB00 LDMFD SP!, {R4-R11,PC}
ROM:0002FB04 ; ---------------------------------------------------------------------------

Der ursprüngliche Beitrag von 22:23 Uhr wurde um 22:35 Uhr ergänzt:

@crypto

ok habe dein post nochmal richtig gelesen, du hast ja geschrieben die restlichen NOPen, das würde gehen.
NOP gibts bei ARM nicht aber ein "Synonym" dafür nämlich
MOV r0,r0 (als hex E1A00000 oder 00000000)
kann ich auch probieren
 
Zuletzt bearbeitet:
ROM:0002FA44 CMPNE R1, #0
ROM:0002FA48 BEQ loc_2FAF8
ROM:0002FA4C CMP R0, #1
ROM:0002FA50 BNE loc_2FAA0 <-- hier würde ich ein loc_2FAF8 probieren, sonst vorerst nichts verändern, wenn nicht, dann immer nur 1 Parameter ändern

Thomas.
 
das wollte ich auch schon machen und wenn das geht nicht geht dann die andere addresse zu 2faa0 aber das problem ist das arm keine addressen in hex speichert sondern sagt: von diesem punkt bewege dich xx vorwärts (deshalb auch die bezeichnung loc (location=richtung) )und ich somit die addresse ausprobieren muss, weil ich noch nichts über addressenänderungen entdeckt habe.
aber ich bleibe am ball ;)

// ok adresse gefunden durch ausprobieren
// -.- auch dann kommt sig fail, obwohl org recovery und boot.img

Andersherum lädt er die originale! jetzt noch auf cwm testen -> geht nicht^^, aber es gibt noch eine möglichkeit, da war noch ein check zwischen den beiden recovery abfragen
hmm noppen der zwischenabfrage geht auch nicht..
 
Zuletzt bearbeitet:
Kann jemand mal das Image aus #258 in den Anhang verbannen. Die Ladezeiten für diesen Thread sind unerträglich lang geworden.
 

Ähnliche Themen

M
Antworten
3
Aufrufe
2.059
markus2107
M
P. Egal
Antworten
4
Aufrufe
2.363
det-happy
det-happy
V
Antworten
2
Aufrufe
1.852
Viridarium
V
Zurück
Oben Unten