KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: PSP Reboot
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Mit welcher "User-Mode" API Function kann man die PSP rebooten lassen ?

"sceKernelExitVshVsh" geht ja nur im Kernel-Mode , oder ?
Gibt es irgendwelche andere Functionen , die das gleiche erzielen ?

Ich möchte für den 5.03 Tiff Exploit ein paar binarys schreiben.
Dieser ist aber zusätzlich noch eingeschränkt , da man ja nur Paf-Functions benutzen kann.
Bei dem 5.03 Tiff exploit müsste man dann ja immer die PSP manuell ausschalten, das will ich aber nicht.

Währe nett wenn mir einer helfen würde Smile.
Es gibt noch die Funktion scePowerRequestColdReset(0);
Das ist aber ein Cold Reset, weiß nicht ob du das wolltest. Für die Funktion brauchst du aber die aktuelle Version von der psppower.h, die im sdk ist nicht mehr aktuell.
Benutz einfach Davee's Kernel Exploit, und machs dann mit sceKernelExitVSHVSH (was übrigens nur nen Kernel-Reboot durchführt) Wink
Falls du wissen willst wie der Kernel Exploit funktioniert, schreib mir einfach ne PN, ich hab den Loader von ChickHEN schon vor langer Zeit reversed Smile
Danke, das wollte ich Wink

das Problem is bloß das ich ja eine binary .bin erstelle.
Ich weiß nich wie ich die function importieren sollte.
Wenn man für den 5.03 Tiff exploit coded, dann benützt man Paf-Functions von paf.prx , und dieser Stub ist nicht vorhanden.
Wie du weißt sind die functions im VSH auch nicht gleich wegen der VSH Bridge.
NID´s helfen da wenig...

DarXPloit_$a1 :
Danke, das wollte ich Wink

das Problem is bloß das ich ja eine binary .bin erstelle.
Ich weiß nich wie ich die function importieren sollte.
Wenn man für den 5.03 Tiff exploit coded, dann benützt man Paf-Functions von paf.prx , und dieser Stub ist nicht vorhanden.
Wie du weißt sind die functions im VSH auch nicht gleich wegen der VSH Bridge.
NID´s helfen da wenig...


Mhm... du könntest mit sceKernelFindModuleByName die Funktions Adresse finden (im Entrytable), und dann in nen Syscall umwandeln (siehe HBL), aber für sceKernelFindModuleByName braucht man auch Kernel Mode Sad
Du kannst also ohne Kernel Mode leider nicht neustarten.

Das is ja mal ...
Kann einer vielleicht trotzdem den NID sowie den syntax von scePowerRequestColdReset posten ?

Die Function ist doch im Usermode verwendbar.
Oh, und in welcher .prx ist scePowerRequestColdReset zu finden ?
Ich wollte den reboot absichtlich nicht mit kexploit durchführen...
Du brauchst folgende Dateien, da die im SDK veraltet sind.
http://ubuntuone.com/p/ZVq/
Einfach die Dateien im SDK ersetzen. Syntax ist:
int scePowerRequestColdReset(0);

DarXPloit_$a1 :
Das is ja mal ...
Kann einer vielleicht trotzdem den NID sowie den syntax von scePowerRequestColdReset posten ?

Die Function ist doch im Usermode verwendbar.
Oh, und in welcher .prx ist scePowerRequestColdReset zu finden ?
Ich wollte den reboot absichtlich nicht mit kexploit durchführen...


Mhm... wenn du irgendwie eine Möglichkeit hättest, an die Text_addr von scePower zu kommen, wäre das ganze wesentlich einfacher.
Schau dir mal ein paar User Module in ASM Form an, vielleicht findest ja ne Stelle wo du nen Hook setzen kannst, der dir die text_addr von scePower speichert, kann aber nicht garantieren dass es möglich ist Smile

Falls du Skype oder MSN hast, kannste mich ja mal hinzufügen (so kommt man einfacher zu ner Lösung), meine Daten stehen im Profil Smile

//EDIT:
Hab gesehen dass du Skype hast, ich hab dich mal geadded Wink

mfg,
HacKmaN

HacKmaN :

DarXPloit_$a1 :
Das is ja mal ...
Kann einer vielleicht trotzdem den NID sowie den syntax von scePowerRequestColdReset posten ?

Die Function ist doch im Usermode verwendbar.
Oh, und in welcher .prx ist scePowerRequestColdReset zu finden ?
Ich wollte den reboot absichtlich nicht mit kexploit durchführen...


Mhm... wenn du irgendwie eine Möglichkeit hättest, an die Text_addr von scePower zu kommen, wäre das ganze wesentlich einfacher.
Schau dir mal ein paar User Module in ASM Form an, vielleicht findest ja ne Stelle wo du nen Hook setzen kannst, der dir die text_addr von scePower speichert, kann aber nicht garantieren dass es möglich ist Smile

Falls du Skype oder MSN hast, kannste mich ja mal hinzufügen (so kommt man einfacher zu ner Lösung), meine Daten stehen im Profil Smile

//EDIT:
Hab gesehen dass du Skype hast, ich hab dich mal geadded Wink

mfg,
HacKmaN


Erst einmal vielen Dank für deine Hilfe !
Für die txt_addr müsste ich nur die power.prx durch prxtool schicken.
Und dann die location von dem string checken.
Nachdem ich im einem User_mem Dump 0x08800000 - 0x09FFFFFF geschaut hab , gibt es irgendwie keinen "scePower" string, weder noch den nid für die function...

DarXPloit_$a1 :

HacKmaN :

DarXPloit_$a1 :
Das is ja mal ...
Kann einer vielleicht trotzdem den NID sowie den syntax von scePowerRequestColdReset posten ?

Die Function ist doch im Usermode verwendbar.
Oh, und in welcher .prx ist scePowerRequestColdReset zu finden ?
Ich wollte den reboot absichtlich nicht mit kexploit durchführen...


Mhm... wenn du irgendwie eine Möglichkeit hättest, an die Text_addr von scePower zu kommen, wäre das ganze wesentlich einfacher.
Schau dir mal ein paar User Module in ASM Form an, vielleicht findest ja ne Stelle wo du nen Hook setzen kannst, der dir die text_addr von scePower speichert, kann aber nicht garantieren dass es möglich ist Smile

Falls du Skype oder MSN hast, kannste mich ja mal hinzufügen (so kommt man einfacher zu ner Lösung), meine Daten stehen im Profil Smile

//EDIT:
Hab gesehen dass du Skype hast, ich hab dich mal geadded Wink

mfg,
HacKmaN


Erst einmal vielen Dank für deine Hilfe !
Für die txt_addr müsste ich nur die power.prx durch prxtool schicken.
Und dann die location von dem string checken.
Nachdem ich im einem User_mem Dump 0x08800000 - 0x09FFFFFF geschaut hab , gibt es irgendwie keinen "scePower" string, weder noch den nid für die function...


scePower ist ein Kernel Modul, welches Funktionen per Syscalls exportiert, damit diese im Usermode verfügbar sind.
Im User RAM wirst du es nicht finden Wink

@HacKmaN
Da wir gerade dabei sind, die Text-Adresse einer Funktion zu finden, sind, dachte ich das passt: Ich hab hier 'ne Funktion, die heißt:
u32 vshChkregGetPsCode(u8 *buffer);
Der Nid ist: 61001D64
Hab noch nie mit sowas gearbeitet, deshalb meine Frage: Wie kann ich die Funktion benutzen? Die befindet sich in der vshbridge.prx

-blue7 :
@HacKmaN
Da wir gerade dabei sind, die Text-Adresse einer Funktion zu finden, sind, dachte ich das passt: Ich hab hier 'ne Funktion, die heißt:
u32 vshChkregGetPsCode(u8 *buffer);
Der Nid ist: 61001D64
Hab noch nie mit sowas gearbeitet, deshalb meine Frage: Wie kann ich die Funktion benutzen? Die befindet sich in der vshbridge.prx


Entweder per Stubfile importieren, oder via sctrlHENFindFunction suchen Wink

Code:
u32 (* vshChkregGetPsCode) (u8 *buffer) = (void *)sctrlHENFindFunction("sceVshBridge_Driver", "sceVshBridge", 0x61001D64);

Zitat:
error: initializer element is not constant

Hab noch nie mit sowas gearbeitet, kannst du mir vielleicht sagen, was ich machen muss? Smile

-blue7 :

Zitat:
error: initializer element is not constant

Hab noch nie mit sowas gearbeitet, kannst du mir vielleicht sagen, was ich machen muss? Smile


Kannst du mal bitte den Teil vom Code posten, wo der Fehler kommt?

Machs ansonsten mal so... i.wo am Anfang des Codes
"u32 (* vshChkregGetPsCode) (u8 *buffer) = NULL;"

und dann innerhalb ner Funktion:

vshChkregGetPsCode = (void *)sctrlHENFindFunction("sceVshBridge_Driver", "sceVshBridge", 0x61001D64);

Hab mein Problem nun doch ganz anders gelöst. Jetzt können wir wieder back to Topic ;D
Referenz-URLs