Oppo A53s hard reset

  • 16 Antworten
  • Letztes Antwortdatum
R

regn

Erfahrenes Mitglied
14
Hallo,


habe hier ein Oppo A53s CPH-2135 mit Bildschirmsperre und vergessenem passwort - und stelle erstaunt fest, daß man auch zum hard reset das Sperrpasswort braucht !!
(Das ist bei Samsung und Huawei nicht so)
einige YT-videos sagen, man kann das umgehen mit *#899 maintenance-menu aus dem Notruf, aber keines davon hat bei meinem geklappt - kommt mir auch etwas merkwürdig vor.
Nun gibt es wohl tools, die den EDL modus nutzen, um ein reset zu erzwingen. Allerdings brauchen die 2 files, ein firehose und ein (patch?)xml file.
Die bekommt man wohl aus dem opf file, das installiert ist.
Das maintenance-menu sagt was von CPH2135_11_A60_201126_6b0eca58 und ANdroid 10, dazu habe ich aber kein opf gefunden, nur ein
CPH2135export_11_C.22_2022030317160000.opf
sind denn firehose und das xml für ein Modell immer konstant, auch bei unterschiedlichen Android-Versionen?
Bei meinem Bemühen, einen opf-extractor zu finden, stoße ich ausschließlich auf files, bei denen virustotal viren anzeigt, auch ein tool von github betraf das. Welches tool wäre da zu empfehlen?
viele Grüße
 
@regn gib 5mal irgendein Passwort ein. Dann kann eine weitere Abfrage zum verknüpften Google Konto kommen.
 
das wäre ebenfalls nicht bekannt
 
@regn Du kannst dein Display nicht entsperren und über die Recovery wird ebenfalls ein Passwort verlangt??
 
exakt
 
@regn Könntest du einen Screenshot dieser Passwortabfrage in der Recovery posten?
 
klar
 

Anhänge

  • oppo_a53s.jpg
    oppo_a53s.jpg
    17,8 KB · Aufrufe: 73
  • Wow
Reaktionen: Klaus986
regn schrieb:
sind denn firehose und das xml für ein Modell immer konstant, auch bei unterschiedlichen Android-Versionen?
Der EDL-Mode ist eine direkte Kommunikation zwischen SoC und PC. Daher sind die passenden Firehose Binaries (programmer.elf) gekoppelt an deinen SoC und nicht an die installierte Android Version. Das OS spielt hierbei keine Rolle.
Diese programmer.elf ist i.d.R. eine modifizierte Variante des Secondary Bootloaders, die halt angepasst ist, um Befehle vom PC aus an dein Gerät zu schicken.

Hast du einen Link zu der Firmware (*.opf)? Dann probiere ich es auch mal, die zu entpacken.
 
@regn Hier eine Anleitung, wie du die Firmware entpacken kannst.

Du brauchst:

Python für Windows
Unpacker for Oppo Firmware
(Quelle: GitHub - bkerler/oppo_decrypt: Oppo .ofp Firmware decrypter and oneplus .ops de-/encrypter)

1. Python installieren, indem du den passenden Installer runterlädst. Vor der Installation bitte folgende Häkchen setzen und dann auf "Install now" klicken:

python_install.jpg

2. Den Unpacker entpacken und den entpackten Ordner öffnen.
3. Die *.ofp-Datei in diesen Ordner kopieren.
4. Einen Unterordner "unpack" erstellen. Das sollte dann so aussehen:

folder.jpg

5. Mit Rechtsklick in diesem Ordner ein Terminalfenster öffnen und folgende Befehle nacheinander ausführen:

Code:
pip install -r requirements.txt
Code:
py ofp_qc_decrypt.py CPH2135export_11_C.22_2022030317160000.ofp unpack


Fertig! Die entpackte Firmware findest du im Ordner "unpack".
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: regn
Danke, Da ich demnächst sowieso ein neues Linux System aufsetzen werde, verschiebe ich das bis dahin, denn python ist da schon dabei. kannst Du mir evtl. dieses firehose und die patch.xml hier uploaden?
 
@regn Dazu müsste ich erst wieder die Firmware runterladen und alles entpacken. Wäre einfacher, wenn du es machst.
Beiträge automatisch zusammengeführt:

Die Installation von Python dauert 30 Sekunden.
 
Zuletzt bearbeitet:
habe es nach 30 min mit dieser Fehlermeldung aufgegeben:
C:\Users\Administrator\Desktop\installiert_recent\oppo_decrypt-master>"C:\Progra
m Files\Python38\Scripts\pip" install -r requirements.txt
ERROR: Exception:
Traceback (most recent call last):
File "c:\program files\python38\lib\site-packages\pip\_internal\cli\base_comma
nd.py", line 180, in _main
status = self.run(options, args)
File "c:\program files\python38\lib\site-packages\pip\_internal\cli\req_comman
d.py", line 204, in wrapper
return func(self, options, args)
File "c:\program files\python38\lib\site-packages\pip\_internal\commands\insta
ll.py", line 318, in run
requirement_set = resolver.resolve(
File "c:\program files\python38\lib\site-packages\pip\_internal\resolution\res
olvelib\resolver.py", line 127, in resolve
result = self._result = resolver.resolve(
File "c:\program files\python38\lib\site-packages\pip\_vendor\resolvelib\resol
vers.py", line 473, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "c:\program files\python38\lib\site-packages\pip\_vendor\resolvelib\resol
vers.py", line 341, in resolve
name, crit = self._merge_into_criterion(r, parent=None)
File "c:\program files\python38\lib\site-packages\pip\_vendor\resolvelib\resol
vers.py", line 172, in _merge_into_criterion
if not criterion.candidates:
File "c:\program files\python38\lib\site-packages\pip\_vendor\resolvelib\struc
ts.py", line 139, in __bool__
return bool(self._sequence)
File "c:\program files\python38\lib\site-packages\pip\_internal\resolution\res
olvelib\found_candidates.py", line 143, in __bool__
return any(self)
File "c:\program files\python38\lib\site-packages\pip\_internal\resolution\res
olvelib\found_candidates.py", line 129, in <genexpr>
return (c for c in iterator if id(c) not in self._incompatible_ids)
File "c:\program files\python38\lib\site-packages\pip\_internal\resolution\res
olvelib\found_candidates.py", line 30, in _iter_built
for version, func in infos:
File "c:\program files\python38\lib\site-packages\pip\_internal\resolution\res
olvelib\factory.py", line 258, in iter_index_candidate_infos
result = self._finder.find_best_candidate(
File "c:\program files\python38\lib\site-packages\pip\_internal\index\package_
finder.py", line 879, in find_best_candidate
candidates = self.find_all_candidates(project_name)
File "c:\program files\python38\lib\site-packages\pip\_internal\index\package_
finder.py", line 824, in find_all_candidates
page_candidates = list(page_candidates_it)
File "c:\program files\python38\lib\site-packages\pip\_internal\index\sources.
py", line 134, in page_candidates
yield from self._candidates_from_page(self._link)
File "c:\program files\python38\lib\site-packages\pip\_internal\index\package_
finder.py", line 783, in process_project_url
html_page = self._link_collector.fetch_page(project_url)
File "c:\program files\python38\lib\site-packages\pip\_internal\index\collecto
r.py", line 512, in fetch_page
return _get_html_page(location, session=self.session)
File "c:\program files\python38\lib\site-packages\pip\_internal\index\collecto
r.py", line 422, in _get_html_page
resp = _get_html_response(url, session=session)
File "c:\program files\python38\lib\site-packages\pip\_internal\index\collecto
r.py", line 120, in _get_html_response
resp = session.get(
File "c:\program files\python38\lib\site-packages\pip\_vendor\requests\session
s.py", line 555, in get
return self.request('GET', url, **kwargs)
File "c:\program files\python38\lib\site-packages\pip\_internal\network\sessio
n.py", line 449, in request
return super().request(method, url, *args, **kwargs)
File "c:\program files\python38\lib\site-packages\pip\_vendor\requests\session
s.py", line 532, in request
settings = self.merge_environment_settings(
File "c:\program files\python38\lib\site-packages\pip\_vendor\requests\session
s.py", line 711, in merge_environment_settings
env_proxies = get_environ_proxies(url, no_proxy=no_proxy)
File "c:\program files\python38\lib\site-packages\pip\_vendor\requests\utils.p
y", line 776, in get_environ_proxies
if should_bypass_proxies(url, no_proxy=no_proxy):
File "c:\program files\python38\lib\site-packages\pip\_vendor\requests\utils.p
y", line 760, in should_bypass_proxies
bypass = proxy_bypass(parsed.hostname)
File "c:\program files\python38\lib\site-packages\pip\_vendor\requests\utils.p
y", line 96, in proxy_bypass
return proxy_bypass_registry(host)
File "c:\program files\python38\lib\site-packages\pip\_vendor\requests\utils.p
y", line 61, in proxy_bypass_registry
proxyEnable = int(winreg.QueryValueEx(internetSettings,
ValueError: invalid literal for int() with base 10: 'False'
 
@regn Mit der Fehlermeldung kann ich jetzt auch nichts anfangen... Jedenfalls habe ich im Anhang einfach alle XML-Sheets der Firmware hochgeladen, da ich nicht genau sagen kann, was du davon brauchst. Hier auch noch ein Screenshot der entpackten Firmware:

firmware_unpacked.jpg
Beiträge automatisch zusammengeführt:

@regn hab die Firehose Dateien ganz vergessen...
 

Anhänge

  • xml_files.zip
    158,2 KB · Aufrufe: 34
  • programmer.zip
    1,3 MB · Aufrufe: 39
Zuletzt bearbeitet:
  • Danke
Reaktionen: regn
danke nochmals, ich habe nun mit dem TFT unlock tool experimentiert, Qualcomm Tab, erase userdate (mit diesem programmer und dem patch0.xml. programmer wird geschrieben, dann kriegt man noch 2 hashes, aber das erase wird nicht ausgeführt.
Dann noch mit dem QFIL (Qualcomm flash image loader) , ebenfalls erfolglos!
 
@regn Ich kann dir dazu leider auch nicht viel sagen. Jedenfalls ist es größter Mumpitz, das Passwort in der Recovery abzufragen, um das Gerät zu reseten. Sicherheit hin oder her.
 
  • Danke
Reaktionen: regn

Ähnliche Themen

Wattsolls
Antworten
19
Aufrufe
960
Vertigo2xlc
Vertigo2xlc
ses
  • ses
Antworten
0
Aufrufe
171
ses
ses
MSSaar
Antworten
0
Aufrufe
97
MSSaar
MSSaar
Zurück
Oben Unten