Page 2 of 2 FirstFirst 12
Results 11 to 17 of 17



  1. #11
    Contributor B7U3 C50SS's Avatar
    Join Date
    Oct 2013
    Posts
    13

    Thanks, Man!

    It means something to be recognized.

  2. #12
    VIP Member JeoWay's Avatar
    Join Date
    Jun 2013
    Posts
    342
    Never used MFW Builder

    Looks cool, same with the custom user tasks that you can add

    I may try this out and see what kind of tasks I can add to it

  3. #13
    Senior Member SuperSaiyen's Avatar
    Join Date
    Apr 2007
    Posts
    80
    I used the older MFW builder v.0.2.1 to build a cfw 3.15 quite a while back. Does this newer version add any additional features i can patch onto v.3.15 ofw? From what i see in the docs- Patch VSH to Run unsigned app's (3.xx&4.xx), and [3.xx&4.xx] Add "Install Package Files icon to the XMB Game Category [3.xx&4.xx] Add "/app_home" icon to the XMB Game Category.

    Seems it might be better to redo my mfw3.15 with this newer MFW builder 1.0? Any insight appreciated.

  4. #14
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    26,857

    PS3MFW Builder 1.0.0 (Our MFW 1.0.0) Build 2.0.0 is Released

    Following up on the previous updates, PlayStation 3 developers RedDot-3ND7355 and B7U3 C50SS have now released PS3MFW (PS3 Modified Firmware) Builder 1.0.0 Build 2.0.0 followed by v0.2.0.2 dubbed Our MFW 1.0.0 with the changes outlined below.

    Download: PS3MFW Builder 1.0.0 (Our MFW 1.0.0) Build 2.0.0 (Full) / PS3MFW Builder 1.0.0 (Our MFW 1.0.0) Build 2.0.0 (Update) / http://gitorious.ps3dev.net/mfw-tasks-custom/mfw-tasks-custom/archive-tarball/master (Latest) / lv2_kernel.self (Hermes stuff inside) by Smhabib / spoof_rebug_mode.zip / spoof_rebug_mode.zip (Updated) (Fixed it now to work with new routines) by haxxxen

    To quote: Hey Everyone! Its me RedDot and im back with my team again to release you this new build of PS3MFW Builder 1.0.0!

    We managed to find all the bugs about the repack/unpack/keys/tasks! Just follow them as respected and everything WILL be fine.

    This is TRULY stable, and if you patch the right features you will NOT get brick/or whatsoever... I also recommend you have a minimum requirement of knowledge on modding





    I hope the video helped A LOT. Credits to all the dev's that made this project possible and finished supposedly. But of course we will maybe continue to add features if new updates are released! So keep an eye on that updater.

    Credits

    Original dev's
    ->KaKaRoto
    ->CodeMonkeys

    Newer Version dev's
    ->Anonymous Developers
    ->RedDot-3ND7355
    ->B7U3 C50SS
    ->ToughtMechanic

    All people that helped A LOT!
    ->RazorX (For sum tasks & updater)
    ->Haz367 (For pin-pointing problems & many tasks)
    ->Habib (For allowing us to use his patterns for tasks)
    ->Naewhert (For his tools)
    ->toolboy2012 (For sharing his awesome work with us)
    ->Arachetous (For a special task)
    ->And all other people that i may had forgotten :P

    List of all features for 4.xx

    Patch to allow running of unsigned app's
    Patch to add ReactPSN online/offline
    Patch to allow Debug pkg installation
    Patch SysValue's (PS2 Related)
    Patch to fix removing act.dat on boot!
    Patch for ingame screenshots!
    Patch RSOD Bypass!

    Patch lv0 ldr's
    Patch lv0 CoreOS ECDSA Check&Descrambling of LV1LDR!
    Patch lv0 using Rebug/ITA DEX!
    Patch lv0 for Cobra Features!
    Patch lv1 for many features!
    Patch lv1 Mmap out!
    ...

    Patch lv2 for peek&poke
    Patch lv2 for POC! (only 4.50)
    Patch lv2 for hermes payload!
    Patch lv2 for syscalls!
    Patch lv2 for QA Flag!
    And many more!
    ...

    Patch nas_plugin for debug pkg's&installation of retail pkg's
    Patch the core_os spu's&spp
    Patch default.spp for otheros! (must include otheros of lv1!)
    Patch XMB for IPF&APPHOME! (includes xmb plugin mods)
    Patch PUP for Cobra files! OMG
    And there is a lot more options in the builder

    From haz367 comes PS3MFW Builder 0.2.0.0 Incl Cobracrapper 446/453 Task set for 446 Cobra MFW.

    Download: Our_MFW_1.0.0.rar

    PS: updated oldfart-lv0 task to incl Rebug-ITA/DEX style... and Cobra compatible lv0 patching: pastie.org/8580065
    Code:
    #!/usr/bin/tclsh
    #
    # ps3mfw -- PS3 MFW creator
    #
    # Copyright (C) RedDot-3ND7355 (For making this task!)
    # Copyright (C) B7U3 C50SS (For compiling)
    # Copyright (C) ElmerFudd (For the codes [Python])
    #
    # This software is distributed under the terms of the GNU General Public
    # License ("GPL") version 3, as published by the Free Software Foundation.
    #
    
    # Priority: 2
    # Description: [4.xx] Patch LV0 Incl Patching out 4.xx CoreOS ECDSA LV0-Loaders checks!
    
    # Option --label: Enable LV0 Patching [4.xx] Only!
    # Option --patch_lv0-my-way: [4.xx] Patch lv0 using habib's patterns and Patch 4.xx CoreOS ECDSA ldrs checks! - ***DEFAULT***!
    # Option --patch_lv0-my-way3: [4.4x 4.46] Patch lv0 using Rebug/ITA DEX style! - lv1ldr-eid0 check-brickfix [LV2DKernel not incl]!
    # Option --patch_lv0-my-way4: [4.5x] Patch lv0 using Rebug/ITA DEX Style **UPDATED** 4.5x LV1LDR EID0 c2dex Patch!
    # Option --patch_lv0-my-way5: [4.46-4.53] [4.xx]] Patch lv0 for Cobra Features! Compatible with Cobra lv2krn [4.46 and 4.53]!
    
    # Type --label: label
    # Type --patch_lv0-my-way: boolean
    # Type --patch_lv0-my-way3: boolean
    # Type --patch_lv0-my-way4: boolean
    # Type --patch_lv0-my-way5: boolean
    
    namespace eval ::patch_lv0 {
    
        array set ::patch_lv0::options {
    	    --label ""
    		--patch_lv0-my-way true
    		--patch_lv0-my-way3 false
    		--patch_lv0-my-way4 false
    		--patch_lv0-my-way5 false
        }
    
        proc main { } {
            set self "lv0"
    
    		::patch_lv0::Patch_Lv0_***** $::CUSTOM_COSUNPKG_DIR
        }
    
    	proc Patch_Lv0_***** {path} {
    		#unpack the CORE_OS, extract lv0 routine and patch!
    	    ::unpack_coreos_files
            catch_die {::extract_lv0 $::CUSTOM_COSUNPKG_DIR "lv0"} \
    		"ERROR: Could not extract LV0"
    		::patch_lv0::Patch_Lv0_Nigga $path
    					
    	}
    	
        proc patch_elf {elf} {               
            catch_die {::patch_elf $elf $::patch_lv0::search $::patch_lv0::offset $::patch_lv0::replace} \
            "Unable to patch self [file tail $elf]"
        }
    	
    	proc patch_self { self } {
                ::modify_lv0_file $self patch_lv0::patch_elf
            }
    
    	proc Patch_Lv0_Nigga {path} {
    		
    		log "Applying LV0 patches...."
    		
    		if {$::patch_lv0::options(--patch_lv0-my-way)} {
    					
    			log "Patching 4.xx lv1ldr..."            
    			set self "lv1ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
    		
            set ::patch_lv0::search  "\x12\x09\x45\x09\x24\xff\xc0\xd0"
            set ::patch_lv0::replace "\x40\x80\x00\x03\x35\x00\x00\x00"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Patching 4.xx LV1LDR ECDSA CHECKS......"
    			
                set ::patch_lv0::search  "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x3F\xE0\x02\x83"
                set ::patch_lv0::replace "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf
    		
    		log "Patched lv1ldr"
    		    log "Patching 4.xx lv2ldr..."
    			set self "lv2ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
             
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x04\x99\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    		
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Part 2"
    		set ::patch_lv0::search  "\x33\x03\x9c\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Patching 4.xx LV2LDR ECDSA CHECKS....."	
                
                set ::patch_lv0::search  "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x3F\xE0\x02\x83"
                set ::patch_lv0::replace "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x40\x80\x00\x03"
    		    set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf
    
    		log "Patched lv2ldr"
    		    log "Patching 4.xx isoldr..."     		
    			set self "isoldr.self"
    			set file [file join $path $self]
    			set ::SELF $self		
                
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x7e\x2e\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    			            
    		debug "Part 2" 
            set ::patch_lv0::search  "\x33\x7d\x31\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    			
            ::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Patching 4.xx ISOLDR ECDSA CHECKS......"		
                
                set ::patch_lv0::search  "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x3F\xE0\x02\x83"
                set ::patch_lv0::replace "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf
    		
    		log "Patched isoldr"
    			log "Patching 4.xx appldr..."
    			set self "appldr.self"
    			set file [file join $path $self]
    			set ::SELF $self
    			
    			debug "Part 1"
                set ::patch_lv0::search  "\x04\x00\x2a\x03\x18\x04\x80\x81\x34\xff\xc0\xd0\x34\xff\x80\xd1"
                set ::patch_lv0::replace "\x40\x80\x00\x03\x18\x04\x80\x81\x34\xff\xc0\xd0\x34\xff\x80\xd1"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf  
    			
    			debug "Part 2"
                set ::patch_lv0::search  "\x58\x24\x88\x90"
                set ::patch_lv0::replace "\x40\x80\x00\x10"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 3"
                set ::patch_lv0::search  "\x33\x7c\x54\x80"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 4"
                set ::patch_lv0::search  "\x12\x11\x62\x09\x24\xff\xc0\xd0"
                set ::patch_lv0::replace "\x48\x20\xc1\x83\x35\x00\x00\x00"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 5"
                set ::patch_lv0::search  "\x33\x7b\xc5\x00"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			log "Patched appldr"
    			
    			debug "Patching LV0 4.xx ldrs ECDSA CHECKS !"
    			set ::patch_lv0::search  "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x3F\xE0\x02\x83"
                set ::patch_lv0::replace "\x0C\x00\x01\x85\x34\x01\x40\x80\x1C\x10\x00\x81\x40\xE80\x00\x03"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf
    	    }
    
            if {$::patch_lv0::options(--patch_lv0-my-way3)} {
    					
    			log "Patching 4.4x lv1ldr Rebug Style...."            
    			set self "lv1ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
    		
            set ::patch_lv0::search  "\x12\x09\x45\x09\x24\xff\xc0\xd0"
            set ::patch_lv0::replace "\x40\x80\x00\x03\x35\x00\x00\x00"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Patching 4.4x lv1ldr eid0 c2dex check!"
    			
                set ::patch_lv0::search  "\x3F\x83\x15\x05\x33\x0C\x6A\x80\x20\x00\x04\x83\x34\x00\x2B\xB0"
                set ::patch_lv0::replace "\x3F\x83\x15\x05\x40\x80\x00\x03\x20\x00\x04\x83\x34\x00\x2B\xB0"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf
    		
    		log "Patched lv1ldr"
    		    log "Patching 4.xx lv2ldr..."
    			set self "lv2ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
             
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x04\x99\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    		
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Part 2"
    		set ::patch_lv0::search  "\x33\x03\x9c\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    
    		log "Patched lv2ldr"
    		    log "Patching 4.xx isoldr..."     		
    			set self "isoldr.self"
    			set file [file join $path $self]
    			set ::SELF $self		
                
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x7e\x2e\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    			            
    		debug "Part 2" 
            set ::patch_lv0::search  "\x33\x7d\x31\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    			
            ::modify_self_file $file ::patch_lv0::patch_elf
    		
    		log "Patched isoldr"
    			log "Patching 4.xx appldr..."
    			set self "appldr.self"
    			set file [file join $path $self]
    			set ::SELF $self
    			
    			
    			debug "Part 1"
                set ::patch_lv0::search  "\x58\x24\x88\x90"
                set ::patch_lv0::replace "\x40\x80\x00\x10"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 2"
                set ::patch_lv0::search  "\x33\x7c\x54\x80"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 3"
                set ::patch_lv0::search  "\x12\x11\x62\x09\x24\xff\xc0\xd0"
                set ::patch_lv0::replace "\x48\x20\xc1\x83\x35\x00\x00\x00"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 4"
                set ::patch_lv0::search  "\x33\x7b\xc5\x00"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			log "Patched appldr"
    	    }
    
                if {$::patch_lv0::options(--patch_lv0-my-way4)} {
    					
    			log "Patching 4.5x lv1ldr Rebug Style"            
    			set self "lv1ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
    		
            set ::patch_lv0::search  "\x12\x09\x45\x09\x24\xff\xc0\xd0"
            set ::patch_lv0::replace "\x40\x80\x00\x03\x35\x00\x00\x00"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Patching 4.5x LV1LDR **UPDATED** EID0 c2dex Check!"
    			
                set ::patch_lv0::search  "\x3F\x83\x15\x05\x33\x0C\x7C\x80\x20\x00\x04\x83\x34\x00\x2B\xB0"
                set ::patch_lv0::replace "\x3F\x83\x15\x05\x40\x80\x00\x03\x20\x00\x04\x83\x34\x00\x2B\xB0"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf
    		
    		log "Patched lv1ldr"
    		    log "Patching 4.4x lv2ldr..."
    			set self "lv2ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
             
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x04\x99\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    		
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Part 2"
    		set ::patch_lv0::search  "\x33\x03\x9c\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    
    		log "Patched lv2ldr"
    		    log "Patching 4.xx isoldr..."     		
    			set self "isoldr.self"
    			set file [file join $path $self]
    			set ::SELF $self		
                
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x7e\x2e\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    			            
    		debug "Part 2" 
            set ::patch_lv0::search  "\x33\x7d\x31\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    			
            ::modify_self_file $file ::patch_lv0::patch_elf
    		
    		log "Patched isoldr"
    			log "Patching 4.xx appldr..."
    			set self "appldr.self"
    			set file [file join $path $self]
    			set ::SELF $self
    			
    			debug "Part 1"
                set ::patch_lv0::search  "\x04\x00\x2a\x03\x18\x04\x80\x81\x34\xff\xc0\xd0\x34\xff\x80\xd1"
                set ::patch_lv0::replace "\x40\x80\x00\x03\x18\x04\x80\x81\x34\xff\xc0\xd0\x34\xff\x80\xd1"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf  
    			
    			debug "Part 2"
                set ::patch_lv0::search  "\x58\x24\x88\x90"
                set ::patch_lv0::replace "\x40\x80\x00\x10"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 3"
                set ::patch_lv0::search  "\x33\x7c\x54\x80"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 4"
                set ::patch_lv0::search  "\x12\x11\x62\x09\x24\xff\xc0\xd0"
                set ::patch_lv0::replace "\x48\x20\xc1\x83\x35\x00\x00\x00"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 5"
                set ::patch_lv0::search  "\x33\x7b\xc5\x00"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			log "Patched appldr"
    			}
    
                if {$::patch_lv0::options(--patch_lv0-my-way5)} {
    					
    			log "Patching LV0 ldrs 4.46 and 4.53 -- Only Compatible for COBRA 7.0 and it's Features!"            
    			set self "lv1ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
    		
            set ::patch_lv0::search  "\x12\x09\x45\x09\x24\xff\xc0\xd0"
            set ::patch_lv0::replace "\x40\x80\x00\x03\x35\x00\x00\x00"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		
    		log "Patched lv1ldr"
    		    log "Patching 4.46 and 4.53 lv2ldr..."
    			set self "lv2ldr.self"
    			set file [file join $path $self]
    			set ::SELF $self	
             
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x04\x99\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    		
    		::modify_self_file $file ::patch_lv0::patch_elf
    		
    		debug "Part 2"
    		set ::patch_lv0::search  "\x33\x03\x9c\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    		set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    
    		log "Patched lv2ldr"
    		    log "Patching 4.46 and 4.53 isoldr for Cobra 7.0"     		
    			set self "isoldr.self"
    			set file [file join $path $self]
    			set ::SELF $self		
                
    		debug "Part 1"
            set ::patch_lv0::search  "\x33\x7e\x2e\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    
    		::modify_self_file $file ::patch_lv0::patch_elf
    			            
    		debug "Part 2" 
            set ::patch_lv0::search  "\x33\x7d\x31\x00"
            set ::patch_lv0::replace "\x40\x80\x00\x03"
    	    set ::patch_lv0::offset 0
    			
            ::modify_self_file $file ::patch_lv0::patch_elf
    		
    		log "Patched isoldr"
    			log "Patching 4.46 and 4.53 appldr..."
    			set self "appldr.self"
    			set file [file join $path $self]
    			set ::SELF $self
    			
    			debug "Part 1"
                set ::patch_lv0::search  "\x04\x00\x2a\x03\x18\x04\x80\x81\x34\xff\xc0\xd0\x34\xff\x80\xd1"
                set ::patch_lv0::replace "\x40\x80\x00\x03\x18\x04\x80\x81\x34\xff\xc0\xd0\x34\xff\x80\xd1"
    	        set ::patch_lv0::offset 0
    
    			::modify_self_file $file ::patch_lv0::patch_elf  
    			
    			debug "Part 2"
                set ::patch_lv0::search  "\x58\x24\x88\x90"
                set ::patch_lv0::replace "\x40\x80\x00\x10"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 3"
                set ::patch_lv0::search  "\x33\x7c\x54\x80"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 4"
                set ::patch_lv0::search  "\x12\x11\x62\x09\x24\xff\xc0\xd0"
                set ::patch_lv0::replace "\x48\x20\xc1\x83\x35\x00\x00\x00"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			
    			debug "Part 5"
                set ::patch_lv0::search  "\x33\x7b\xc5\x00"
                set ::patch_lv0::replace "\x40\x80\x00\x03"
    	        set ::patch_lv0::offset 0
    			
                ::modify_self_file $file ::patch_lv0::patch_elf
    			log "Patched appldr"
    			}
    			
    		log "Done LV0 patches...."
    		#Import lv0 routine and repack coreOS!
    		catch_die {::import_lv0 $::CUSTOM_COSUNPKG_DIR "lv0"} "ERROR: Could not extract LV0"
    	    ::repack_coreos_files
    	}
    }
    Update: From RedDot-3ND7355: It would seem that i forgot to put create_tar2 instead of "create_tar" for the modify_devflash_files2 My bad.. there isn't any problem in the task itself... its in the base!

    Now I updated the builder! Build: 0.2.0.2 now out.

    From tiefputin2: From ps3dev channel on efnet, if someone can make a tcl:
    Code:
    [01:13] <mysis> game_ext_plugin - original bytes: 41 9e 00 1c 2f 83 00 03 , patched bytes: 41 9e 00 28 2f 83 00 03
    [01:13] <mysis> tested it with my retail disc of naruto ultimate ninja storm 1
    It should make sfo editing for remote play obsolete... and make disc games without sfo-enabled remote play-attribute flag finally work

    From toolboy2012: Hi All, OK, fixes are done for the tcl version of the 'patch_file{}' and 'patch_file_multi{}' routines (called by the "patch_elf{}" func)

    ....so as I was saying before, you can use the modified function as is, if you don't need to mask any bytes/bits off, and the speed will not be changed..if anything the way I fixed it up is a bit faster, as I read the entire file into memory, then do the data searches, as the routine as it was before, read in '1' byte at a time from the file, so the routine was constantly accessing the hard drive non-stop until the function completed....

    So when calling 'patch_elf{}' now, you just need to set a local var named 'mask' to either 0 or "" if not using it, as it's a required param to the function. If you need to actually set a mask, then actually set the mask string to the mask value....

    As I said, when using the 'mask', the search will be much much slower, not too bad on small files, but for large files like the 'lv2_kernel' (3MB), the search takes 3mins. or more for each pattern match...

    So I'm going to show a quick example below, for those may be a bit confused how this works:

    1) Going to show an example for the patch "SysCall36 4.xx CFW part 2/3" (as in my scripts, part 2/3 & 3/3 I used the MASK setup)

    2) In this example, I'm showing you the IDA disassem. for this section of the 'lv2_kernel' where the part 2/3 & 3/3 patches are,
    comparing the disassem. for OFW 3.55, 4.46, & 4.55...

    3) at the very bottom of this example, you can see the 3 'search strings', of the op-code patterns corresponding to each OFW version... when you look at them lined up above each other, you can see the op-codes that are identical, and where the differences are...

    4) You can then look at the last string which is the 'mask', the "\xFF" byte in the real search will be AND'd with it's corresponding op-code byte, so in other words, if you need to 'ignore' where the differences are, then set those bytes or individual bits, in the mask, to "0"... hopefully this makes sense? if not, I can try to post another example?

    (like I said, I'm working on a new 'patchtool.exe' now, hopefull this week it will be done, which should tremendously speed up our binary 'patching' time, makes much more sense to search/patch with a tool, rather than doing all that pattern matching/searching in TCL, as this stuff is where TCL is tremendously slow!)
    Code:
    -------- OFW 3.55 ------
    
    seg001:800000000007AF58 FB BF 00 40                 std       r29, 0x40(r31)
    seg001:800000000007AF5C 4B F9 3F ED                 bl        sub_800000000000EF48
    seg001:800000000007AF60 54 63 06 3E                 clrlwi    r3, r3, 24
    seg001:800000000007AF64 2F 83 00 00                 cmpwi     cr7, r3, 0
    seg001:800000000007AF68 41 9E 00 20                 beq       cr7, loc_800000000007AF88 # *** syscall 36 pt 2/3 ***
    seg001:800000000007AF6C E8 61 01 38                 ld        r3, 0x280+var_148(r1)
    seg001:800000000007AF70 4B FF F4 ED                 bl        sub_800000000007A45C
    seg001:800000000007AF74 54 63 06 3E                 clrlwi    r3, r3, 24
    seg001:800000000007AF78 2F 83 00 00                 cmpwi     cr7, r3, 0
    seg001:800000000007AF7C 41 9E 00 20                 beq       cr7, loc_800000000007AF9C # *** syscall 36 patch 3/3 ***
    seg001:800000000007AF80 80 61 00 7C                 lwz       r3, 0x280+var_204(r1)
    
    ----- OFW 4.46 -----
    
    seg001:8000000000059AE8 FB BF 00 40                 std       r29, 0x40(r31)
    seg001:8000000000059AEC 4B FA A2 A5                 bl        sub_8000000000003D90
    seg001:8000000000059AF0 54 63 06 3E                 clrlwi    r3, r3, 24
    seg001:8000000000059AF4 2F 83 00 00                 cmpwi     cr7, r3, 0
    seg001:8000000000059AF8 41 9E 00 70                 beq       cr7, loc_8000000000059B68 # ** syscall 36 patch 2/3 ***
    seg001:8000000000059AFC E8 61 01 88                 ld        r3, 0x300+var_178(r1)
    seg001:8000000000059B00 4B FF F3 31                 bl        sub_8000000000058E30
    seg001:8000000000059B04 54 63 06 3E                 clrlwi    r3, r3, 24
    seg001:8000000000059B08 2F 83 00 00                 cmpwi     cr7, r3, 0
    seg001:8000000000059B0C 41 9E 00 70                 beq       cr7, loc_8000000000059B7C # *** syscall 36 - patch 3/3 ***
    seg001:8000000000059B10 38 61 00 70                 addi      r3, r1, 0x70
    .....
    
    ------ OFW 4.55 ------
    
    seg001:800000000005A2E0 FB BF 00 40                 std       r29, 0x40(r31)
    seg001:800000000005A2E4 4B FA 9A AD                 bl        sub_8000000000003D90
    seg001:800000000005A2E8 54 63 06 3E                 clrlwi    r3, r3, 24
    seg001:800000000005A2EC 2F 83 00 00                 cmpwi     cr7, r3, 0
    seg001:800000000005A2F0 41 9E 00 AC                 beq       cr7, loc_800000000005A39C # *** syscall 36 patch 2/3 ***
    seg001:800000000005A2F4 E8 61 01 88                 ld        r3, 0x300+var_178(r1)
    seg001:800000000005A2F8 4B FF F2 A9                 bl        sub_80000000000595A0
    seg001:800000000005A2FC 54 63 06 3E                 clrlwi    r3, r3, 24
    seg001:800000000005A300 2F 83 00 00                 cmpwi     cr7, r3, 0
    seg001:800000000005A304 41 9E 00 AC                 beq       cr7, loc_800000000005A3B0 # *** syscall 36 patch 3/3 ***
    seg001:800000000005A308 38 61 00 70                 addi      r3, r1, 0x70
    ......
    
    #	set search  "\x54\x63\x06\x3E\x2F\x83\x00\x00\x41\x9E\x00\x20\xE8\x61\x01\x38"	;# -- OFW 3.55 --
    #	set search  "\x54\x63\x06\x3E\x2F\x83\x00\x00\x41\x9E\x00\x70\xE8\x61\x01\x88"	;# -- OFW 4.46 --
    #	set search  "\x54\x63\x06\x3E\x2F\x83\x00\x00\x41\x9E\x00\xAC\xE8\x61\x01\x88"	;# -- OFW 4.55 --
    	set mask    "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\xFF\xFF\xFF\x0F" ;# <-- mask off the bits/bytes to ignore
    NOTE: When ever you need to USE a MASK, the size of the 'search' and 'mask patterns MUST be exact multiples
    of 4-bytes (32-bits), in order to make that search as FAST as I could. So you have to count the bytes in any of your
    search strings where you want to use the mask... if you need to add bytes on to make it an even amount, but don't actually want those added bytes to be 'included in the pattern match, then just make them any value, and set their corresponding values in the MASK to be '\x00'!!

    i.e., in the example I showed above, the 'search' and 'mask' strings are 16-bytes in total length (ie 4 total count of '4-byte' chunks).

    From haz367: whop, that's a pro way right there... it wasn't a difficult one, the updated 455 sysc36 part3,4 (from Reddot's fork) to find manually this time, it won't beat your way of doing it tho... hmm that IDA is interesting
    Code:
    catch_die {::patch_elf $elf $search 0 $replace} "Unable to patch self [file tail $elf]"     
    			log "lv2-syscall 4.55 Part 3 Updated pattern!"
    			
    			set search "\xFB\xBF\x00\x40\x4B\xFA\x9A\xAD\x54\x63\x06\x3E"
    append search "\x2F\x83\x00\x00\x41\x9E\x00\xAC\xE8\x61\x01\x88"
    append search "\x4B\xFF\xF2\xA9\x54\x63\x06\x3E\x2F\x83\x00\x00"
    append search "\x41\x9E\x00\xAC\x38\x61\x00\x70\x4B\xFF\x68\x15"
    
    set replace "\xFB\xBF\x00\x40\x4B\xFA\x9A\xAD\x54\x63\x06\x3E"
    append replace "\x2F\x83\x00\x00\x60\x00\x00\x00\xE8\x61\x01\x88"
    append replace "\x4B\xFF\xF2\xA9\x54\x63\x06\x3E\x2F\x83\x00\x00"
    append replace "\x60\x00\x00\xAC\x38\x61\x00\x70\x4B\xFF\x68\x15"
    Awesome work toolboy!

    Finally, from haxxxen: Just another thanks to you guys and toolboy2012, for making builder working again. it really works smoothly though i am using a modified version without cos auto repack and with selfrebuilder. maybe i will get isorebuilder also working next...

    If i can recall right, there was already a demand of it, but after this forced latest ofw release i've took the chance and created once again a rebug spoofer update task. it will only update the spoofer for rebug mode and it will work for all versions 3.55.4 - 4.46.1.

    Only problem is, it will not work as it is for the updated official ps3mfw builder and gives this "cannot find blabla.self.self" error. with my builder mod and selfrebuilder it works great, so maybe you can take a look at it RedDot-3ND7355 to make it fully working with your updated one and scetool. i have run it on all rebug versions, but only have flashed 4.21.2, so no guarantee for the others, but they also should work fine.

    The task itself makes usage of the updated jailbait spoof task from euss, so it will spoof every entry in version.txt/index.dat and it will not update upl.xml. all other notes are remarked in the task, so it is selfexplanatory. it only includes the latest 4.55 version and a fun spoof of mine and can easily be updated.

    And here my log for 4.46.1 (debug enabled): http://www.ps3news.com/forums/attach...chmentid=37180

    Just a minor note on this, if you modify version.txt file with ps3mfw builder, the encoding changes to dos instead of unix. it works fine this way, but maybe there is a possibility to leave the encoding unchanged? ahh, and please ignore this rebug mode drex version. i have left it and it is only for personal usage...

    Found now the problem. seems rebug have confused some things in their latest builds 4.41 and 4.46 some different question, but anybody knows what this secrect On/Off option from sysinfo is? it was medo from cmp who told me about it some time ago, but he also didn't know what it does. to get it, go under settings into system-settings->systeminformation hold L1+L2+R1+R2 and press select. there comes a On/Off message and it is turned off after every reboot.

    PS3MFW Builder 1.0.0 (Our MFW 1.0.0) Build 2.0.0 is Released

    PS3MFW Builder 1.0.0 (Our MFW 1.0.0) Build 2.0.0 is Released

    More PlayStation 3 News...
    Attached Files Attached Files

  5. #15
    Senior Member hishamage's Avatar
    Join Date
    Aug 2012
    Posts
    66
    Quote Originally Posted by SuperSaiyen View Post
    I used the older MFW builder v.0.2.1 to build a cfw 3.15 quite a while back. Does this newer version add any additional features i can patch onto v.3.15 ofw? From what i see in the docs- Patch VSH to Run unsigned app's (3.xx&4.xx), and [3.xx&4.xx] Add "Install Package Files icon to the XMB Game Category [3.xx&4.xx] Add "/app_home" icon to the XMB Game Category.

    Seems it might be better to redo my mfw3.15 with this newer MFW builder 1.0? Any insight appreciated.
    Yes.. You can use this to make 3.15 cfw

  6. #16
    Contributor PLAYER 1's Avatar
    Join Date
    Jan 2011
    Posts
    9
    Thanks for this tool, could you add a patch to avoid broken wi-fi check ? that cause blue screen al start up.

  7. #17
    Senior Member SuperSaiyen's Avatar
    Join Date
    Apr 2007
    Posts
    80

    Thumbs Up

    I just used my older version of MFW builder to finally make and install 3.15 cfw. It is pretty awesome in that i still have my original OtherOS YDL6.0 and Zerogame partition which was not affected at all.

    In addition, i was able to install and run an older version of showtime player i was previously unable to install/run. Even better, I was able to install and run One, and play my PS1 backups which i could not do before. I was using my ipod 2g to JB with a PL3 payload before, and i still have to use that boot method if i want multiman 1.16 to still work.

    Been trying to find another backup manager that will work on this cfw, but none either work or ask to update to 3.40+. None of the emulators i've tried seem to work, eg. snes9x, Retroarch (and standalones). FBAnext cfw1.92 ran, but no matter where i locate roms folder, it says it doesn't find any.

    Anyways, I am happy i still have my older emus still on linux, and now have showtime and PS1 player running on cfw. Wish i knew the difference on this lvl1 and lvl2 patched cfw and the PL3 payload as some of my prior Homebrew still only works with the JB method. Not sure if the signing is incorrect or newer fw features called that are not present in 3.15.

    Multiman for example won't work on the cfw alone, as it could never enable BD emulation, no matter what BDemu.pkgs i installed. Think i'll recreate this MFW but spoof it to 3.70 next time just to try installing/running some homebrew that ask for higher than 3.15.

 


 
Page 2 of 2 FirstFirst 12