SnakeMAR Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 Bon, ben moi il m'arrive un truc chelou: J'émule le 3.15 sous 3.41, mais à l'écran, j'ai un immense cercle blanc avec en son centre un point (blanc lui aussi) Y'a une merde quelque part. quelqu'un à une idée? Lien vers le commentaire Partager sur d'autres sites More sharing options...
DOCKY99 Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 Il faudrait analyser comment sa ce passe une mise a jour et bloquer régler/geler tous sa sur un payload spécial si c'est possible.... Lien vers le commentaire Partager sur d'autres sites More sharing options...
Mokona Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 Loin de moi l'idée de dramatiser mais vous ne croyez pas que si c'était possible, y'aurait déjà quelques personnes sur le coup ? Y'a plusieurs gens compétents dans la scène hack PS3 non ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
asmerisme Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 Et lancer une maj 3.50 sur la version émulée ca donnerait pas un 3.50 décompressé sur une clé usb utilisable par tous ??? Lien vers le commentaire Partager sur d'autres sites More sharing options...
ryaku Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 on peut pas lancer une MAJ sur une clef emulée. il faudrait pour ça que la console boot directement sur le dev_flash de l'USB et non celui du DD. La seule personne qui pouvait decompresser et modifier un PUP etait Geohot (il avait la clef HMAC) puisqu'il a fait un hybrid FW en changeant le CORE OS qui se trouve dans le PUP du 3.21 par celui du 3.15. Lien vers le commentaire Partager sur d'autres sites More sharing options...
mikratek Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 J'avais lu je ne sais plus ou que les premieres PS3 60Go avait 2 nand sur la CM, si c'est vrai ca pourrait facilité la tache peut etre non ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
titus360 Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 (modifié) on peut pas lancer une MAJ sur une clef emulée.il faudrait pour ça que la console boot directement sur le dev_flash de l'USB et non celui du DD. La seule personne qui pouvait decompresser et modifier un PUP etait Geohot (il avait la clef HMAC) puisqu'il a fait un hybrid FW en changeant le CORE OS qui se trouve dans le PUP du 3.21 par celui du 3.15. faudrait un reboot en mode custom firmware.... puisque boot directement c'est risqué sans avoir un dump de nands. ps: Laissez le arriver le gt5 Modifié 3 novembre 2010 par titus360 Lien vers le commentaire Partager sur d'autres sites More sharing options...
ryaku Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 Bon, je pense que pour ça on va devoir se demerder, a moins qu un bon dev ici ne se penche sur la question Lien vers le commentaire Partager sur d'autres sites More sharing options...
tikilou Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 (modifié) Dites, après avoir dumpé mon LV2.bin, je regardais les sources, en passant, et je me demandais s'il n'y avait pas moyen d'adapter ça pour qu'au lieu de mapper à /dev/usb00X , on mappe à /dev_hdd0/custom_firmware ou /dev_sd pour les possesseurs d'un PS3 disposant d'un lecteur de cartes SD (ça serait très pratique, intégré, discret) Ici, si je comprends bien, il s'agit de modifications hexadécimales effectuées au sein du kernel en mémoire c'est ça? D'un coté, on retrouverais les offsets correspondants au mapping vers l'usb, de l'autre ce qui serait clair ne serait que l'affichage du texte dans le programme? (Qu'on pourrait aisément traduire je suppose?) #include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <assert.h>#include <string.h>#include <string>#include <dirent.h>#include <unistd.h>#include <fcntl.h>#include <time.h>#include <math.h>#include <stddef.h>#include <sys/process.h>#include <cell/cell_fs.h>#include <sys/spu_initialize.h>#include <cell/dbgfont.h>#include <cell/sysmodule.h>#include <cell/pad/libpad.h>#include <sysutil/sysutil_sysparam.h>#include <PSGL/psglu.h>#include "../common/gfxCommon.h"#include "../common/gfxObject.h"#define BUTTON_SELECT (1<<0)#define BUTTON_L3 (1<<1)#define BUTTON_R3 (1<<2)#define BUTTON_START (1<<3)#define BUTTON_UP (1<<4)#define BUTTON_RIGHT (1<<5)#define BUTTON_DOWN (1<<6)#define BUTTON_LEFT (1<<7)#define BUTTON_L2 (1<<8)#define BUTTON_R2 (1<<9)#define BUTTON_L1 (1<<10)#define BUTTON_R1 (1<<11)#define BUTTON_TRIANGLE (1<<12)#define BUTTON_CIRCLE (1<<13)#define BUTTON_CROSS (1<<14)#define BUTTON_SQUARE (1<<15)SYS_PROCESS_PARAM(1001, 0x10000)uint32_t new_pad;uint32_t old_pad;uint64_t devFlash = 0x5F666C6173680000ULL; // "_flash"uint64_t devFlashO = 0x5F666C6173684F00ULL; // "_flashO"uint64_t devUsbMap = 0x5F75736230303000ULL; // "_usb006"uint64_t appHome = 0x5F686F6D65000000ULL; // "_home"uint64_t appHomeFull = 0x6170705F686F6D65ULL;uint64_t devUsb0 = 0x6465765F75736230ULL;uint64_t devCF = 0x5F63660000000000ULL;uint64_t start = 0x80000000003EE470ULL;uint64_t end = 0x80000000003EF570ULL;unsigned int usb;void systemCallbackCheck(const uint64_t status, const uint64_t param, void *userdata){ (void)userdata; (void)param; switch (status) { case CELL_SYSUTIL_REQUEST_EXITGAME: sys_process_exit(0); break; default: break; }}int readPad( void ){ int ret; uint32_t padd; CellPadData databuf; CellPadInfo infobuf; static uint32_t old_info = 0; ret = cellPadGetInfo( &infobuf ); if (ret != 0) { old_pad = new_pad = 0; return 1; } if (infobuf.status[0] == CELL_PAD_STATUS_DISCONNECTED) { old_pad = new_pad = 0; return 1; } if((infobuf.info & CELL_PAD_INFO_INTERCEPTED) && (!(old_info & CELL_PAD_INFO_INTERCEPTED))) { old_info = infobuf.info; } else if((!(infobuf.info & CELL_PAD_INFO_INTERCEPTED)) && (old_info & CELL_PAD_INFO_INTERCEPTED)) { old_info = infobuf.info; old_pad = new_pad = 0; return 1; } ret = cellPadGetData( 0, &databuf ); if (ret != CELL_OK) { old_pad = new_pad = 0; return 1; } if (databuf.len == 0) { new_pad = 0; return 1; } padd = ( databuf.button[2] | ( databuf.button[3] << 8 ) ); new_pad = padd & (~old_pad); old_pad = padd; return 1;}void clear(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);}static inline void poke( uint64_t addr, uint64_t val){ system_call_2(7, addr, val); }static inline uint64_t peek(uint64_t address){ system_call_1(6, address); return_to_user_prog(uint64_t);}void dumpLV2(const char *path){ FILE *output; uint64_t temp; uint64_t startpos; uint64_t endpos; startpos = 0x8000000000000000ULL; endpos = 0x80000000007FFFFFULL; output = fopen (path, "wb"); for (uint64_t i = startpos; i < endpos; i = i + sizeof(uint64_t)) { temp = peek (i); fwrite (&temp, sizeof(uint64_t), 1, output); } fclose (output);}uint64_t hexToULong(const char *chars){ return strtoull (chars,NULL,16);}int strLen(char *str){ int count = 0; while (*str++) count++; return count;}char *strToHexStr(char *str) { char *newstr = new char[16]; memset(newstr, 0, 16); int len = strLen(str); for(int i = 0; i < len; i++) { char *chrs = new char[2]; sprintf(chrs, "%02X", (char)str[i]); strcat(newstr, chrs); } for(int i = len; i < 8; i++) strcat(newstr, "00"); return(newstr); } uint64_t strToULong(char *str){ char *chars = strToHexStr(str); return hexToULong(chars);}void dumpMounts(const char *path){ FILE *output; uint64_t temp; uint64_t startpos; uint64_t endpos; startpos = start; endpos = end; output = fopen (path, "wb"); for (uint64_t i = startpos; i < endpos; i = i + sizeof(uint64_t)) { temp = peek (i); fwrite (&temp, sizeof(uint64_t), 1, output); } fclose (output);}int main(){ // Initialize 6 SPUs but reserve 1 SPU as a raw SPU for PSGL sys_spu_initialize(6, 1); cellSysutilRegisterCallback(0, systemCallbackCheck, NULL); cellSysmoduleLoadModule(CELL_SYSMODULE_IO); cellSysmoduleLoadModule(CELL_SYSMODULE_FS); cellPadInit(1); // init PSGL and get the current system width and height gfxInitGraphics(); // initalize the dbgFonts dbgFontInit(); usb = 0; char *device = new char[7]; while(1) { // check for exit cellSysutilCheckCallback(); clear(); // read pad readPad(); // check if syscall works if(peek(0x80000000003EE470ULL) == 0xffffffff80010003ULL) break; // quit the loop if(old_pad & BUTTON_UP) if(usb < 127) usb++; if(old_pad & BUTTON_DOWN) if(usb > 0) usb--; if(old_pad & BUTTON_CROSS) { uint64_t addr = start; bool found1 = false; bool found2 = false; while( addr != end ) { uint64_t map = peek(addr); if(map == devFlash) { found1 = true; poke(addr, devUsbMap); } else if(map == devUsbMap) { found2 = true; poke(addr, devFlash); } addr += 0x100; } char *chars = new char[255]; if(found1 || found2) strcat(chars, "Patched!"); else strcat(chars, "Failed."); if(found1) strcat(chars, "\n/dev_flash patched to /dev_usb%03d"); if(found2) strcat(chars, "\n/dev_usb patched to /dev_flash"); strcat(chars, "\nPress O to continue"); cellDbgFontPrintf( 0.08f, 0.1f, 1.2f, 0xff606060, chars, usb); cellDbgFontDraw(); psglSwap(); while(1) { readPad(); if(old_pad & BUTTON_CIRCLE) break; } clear(); psglSwap(); } if(old_pad & BUTTON_SQUARE) { uint64_t addr = start; bool found1 = false; bool found2 = false; while( addr != end ) { uint64_t map = peek(addr); if(map == appHome) { found1 = true; poke(addr - 3, devUsb0); poke(addr, devUsbMap); } else if(map == devUsbMap) { found2 = true; poke(addr - 3, appHomeFull); poke(addr, appHome); } addr += 0x100; } char *chars = new char[255]; if(found1 || found2) strcat(chars, "Patched!"); else strcat(chars, "Failed."); if(found1) strcat(chars, "\n/app_home patched to /dev_usb%03d"); if(found2) strcat(chars, "\n/dev_usb patched to /app_home"); strcat(chars, "\nPress O to continue"); cellDbgFontPrintf( 0.08f, 0.1f, 1.2f, 0xff606060, chars, usb); cellDbgFontDraw(); psglSwap(); while(1) { readPad(); if(old_pad & BUTTON_CIRCLE) break; } clear(); psglSwap(); } if(old_pad & BUTTON_TRIANGLE) break; if(old_pad & BUTTON_SELECT) { cellDbgFontPrintf( 0.08f, 0.1f, 1.2f, 0xff606060, "Dumping mounts.bin and lv2.bin to /dev_usb%03d/", usb); cellDbgFontDraw(); psglSwap(); char *path1 = new char[255]; sprintf(path1, "/dev_usb%03d/lv2.bin", usb); char *path2 = new char[255]; sprintf(path2, "/dev_usb%03d/mounts.bin", usb); dumpLV2(path1); dumpMounts(path2); clear(); cellDbgFontPrintf( 0.08f, 0.1f, 1.2f, 0xff606060, "Dump complete, press O to continue."); cellDbgFontDraw(); psglSwap(); while(1) { readPad(); if(old_pad & BUTTON_CIRCLE) break; } clear(); psglSwap(); } // print help stuff cellDbgFontPrintf( 0.08f, 0.1f, 1.2f, 0xff606060, "CFWLoad v1.0\n\nCurrent usb: /dev_usb%03d\n\nX - (Un)Patch /dev_flash as usb\nSquare - (Un)Patch /app_home as usb\nSelect - Dump lv2.bin & mounts.bin to usb\nUp/Down - Change USB\nTriangle - Exit\n\n\n- stoker25", usb); cellDbgFontDraw(); // set the usb ulong // this is done after printing the help so its the same as the user saw sprintf(device, "_usb%03d", usb); devUsbMap = strToULong(device); // swap PSGL buffers psglSwap(); sys_timer_usleep(250000); } sys_process_exit(0); return 1;} Modifié 4 novembre 2010 par tikilou Lien vers le commentaire Partager sur d'autres sites More sharing options...
ryaku Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 Je ne sais pas peut etre bien, mais il me semble que ce lien est là pour charger le PL, hors si tu changes l'adresse meme si tu poses le PL dans ton repertoire, la faille par l'USB ne s'y trouvera pas. Mais c'est à tenter Lien vers le commentaire Partager sur d'autres sites More sharing options...
Iro Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 (modifié) On a accès aux sources en dumpant quelque chose de la PS3 ?? Modifié 4 novembre 2010 par Iro Lien vers le commentaire Partager sur d'autres sites More sharing options...
Djoe45 Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 Bonjour, qui la utiliser car moi j'essaie de l'utiliser avec le Pl3 fix de Kakarako, je retourne aussitôt sur le Xmb, mais j'ai pas impression que sa à fonctionner, car aucun moment ma led de la clé usb ne cligniote! Quel méthode utiliser vous pour copier le nand sur la clefs usb? Je n'ai aucun autre fichier sur la clefs car je l'ai formater, je n'arrive même pas à atteindre le menu de CFWload. Merci de me donner un coup de main svp. Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 Salut, Pour savoir si ça a fonctionné, utilise l'astuce de maitre Shakin : modifie une icône du dev_flash. Lien vers le commentaire Partager sur d'autres sites More sharing options...
Djoe45 Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 (modifié) Oui, mais la j'ai pas de possibilité de dump ou de flash. sa me fait un écran noir puis direct après retour au xmb. Mais je vais réessayé la manip de Shakin, les icônes se trouve dans quel dossier?? (juste pour m'aider à utilisation de CFWLoad!) Edit : (Pl3 Dev) c'est le Pl3 de Kakaroto ? Modifié 4 novembre 2010 par Djoe45 Lien vers le commentaire Partager sur d'autres sites More sharing options...
Guillaume13122 Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 Question :Emuler le fw 3.5 pour jouer un peu en ligne ? Réponse : Soyons logique : Pour ça faudrait avoir les fichiers 3.50 nécessaires (dev_flash...). Pour avoir ces fameux fichiers, il faudrait une faille en 3.50. Si on a une faille en 3.50 ça ne sert plus à rien d'émuler ce fw pour jouer en ligne, vu qu'il y a faille en 3.50. C'est pas si bete que ça parce que sur PSP avec DevHook on pouvait le faire. Lien vers le commentaire Partager sur d'autres sites More sharing options...
tikilou Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 Bon, perso j'ai tout tenté, aussi bien en Hermes V4B, qu'avec la dernière version du PL3 de kakaroto, j'ai bien dumpé mon /dev_flash, et tout mis sur une clé USB... Et à chaque fois même topo, méga plantage, et quand je redémarre la console, elle me demande l'autorisation d'envoyer un rapport d'erreur à Sony. Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 Salut tikilou, (Formate ta clef et )Ne pose que l'intérieur du dev_flash, rien d'autre. Chez moi ça ne fonctionne que comme ça, du moins avec le loader de JaiCraB car je n'ai pas testé celui-là. Lien vers le commentaire Partager sur d'autres sites More sharing options...
tikilou Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 C'est ce que j'ai fait pourtant... J'ai formaté la clé en Fat32, j'ai copié l'intégralité du contenu /dev_flash à la racine de la clé USB, et ensuite j'ai utilisé l'homebrew... :-/ Lien vers le commentaire Partager sur d'autres sites More sharing options...
GreenSnake Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 ca mon avis tu peux courir pour récuperer les fichiers d'install comme ca il me semble que la console décompresse les fichiers une fois justement l'install lancée , par contre ce soft peut permettre d'émulé un firmware anterieur non? genre j'ai une 3.15 , je récupere le flash , et je l'emule sur une 3.41 A essayer :-) : Manip avec 2 disk dur : - Laisser le firmware 3.50 s'intaller à 1% (ou a peine plus), débrancher la mappe du disk dur (pas l'alim) - Rebooter avec le 2ieme DD, lancer le serveur ftp, brancher la mappe sur le 1ier DD - Récuperer le firmware décrypter qui doit être dans un repertoire temporaire effacer a chaque boot. Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 (modifié) C'est ce que j'ai fait pourtant... J'ai formaté la clé en Fat32, j'ai copié l'intégralité du contenu /dev_flash à la racine de la clé USB, et ensuite j'ai utilisé l'homebrew... :-/En ayant que l'intérieur du dev_flash, rien d'autre ? pas un .pkg qui traine ou je ne sais quoi.edit : j'avais mal lu. Ok bah je ne vois pas. :/ Modifié 4 novembre 2010 par zouzzz Lien vers le commentaire Partager sur d'autres sites More sharing options...
tikilou Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 (modifié) mhhh, j'essaierais de voir ce qui ne vas pas un peu plus tard, j'vais aller bosser là. Merci quand même zouzzz Modifié 4 novembre 2010 par tikilou Lien vers le commentaire Partager sur d'autres sites More sharing options...
ryaku Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 A essayer :-) :Manip avec 2 disk dur : - Laisser le firmware 3.50 s'intaller à 1% (ou a peine plus), débrancher la mappe du disk dur (pas l'alim) - Rebooter avec le 2ieme DD, lancer le serveur ftp, brancher la mappe sur le 1ier DD - Récuperer le firmware décrypter qui doit être dans un repertoire temporaire effacer a chaque boot. C'est une idée mais je ne suis pas sur qu'il y ai 2 nappes sur le DD de la PS3 vu que c'est du 2.5" certainement auto-alimenté. donc lorsque tu debrancheras la nappe ça posera une erreur et ça t'enverras c..... Lien vers le commentaire Partager sur d'autres sites More sharing options...
GreenSnake Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 A essayer :-) :Manip avec 2 disk dur : - Laisser le firmware 3.50 s'intaller à 1% (ou a peine plus), débrancher la mappe du disk dur (pas l'alim) - Rebooter avec le 2ieme DD, lancer le serveur ftp, brancher la mappe sur le 1ier DD - Récuperer le firmware décrypter qui doit être dans un repertoire temporaire effacer a chaque boot. C'est une idée mais je ne suis pas sur qu'il y ai 2 nappes sur le DD de la PS3 vu que c'est du 2.5" certainement auto-alimenté. donc lorsque tu debrancheras la nappe ça posera une erreur et ça t'enverras c..... Si y'a que ça qui t'arrete, tu peux sortir le fer a souder pour recuperer les fils d'alim, on n'est plus à ça pret :-) Lien vers le commentaire Partager sur d'autres sites More sharing options...
ryaku Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 la derniere fois que j'ai sortie mon fer à souder j'ai flingué ma xbox360 et j'ai du m'en racheter une autre, et vu que je tiens d'avatange à mes PS3 qu'à mes 360, je préfererais eviter de les exposer à ma maladresse Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant