• Home
  • Downloads
  • EBOOT Fixes
  • Forums
  • New Posts
  • Register
    • Welcome, Register Now! 
    • Premium VIP Membership
    • PS3 Sticky
      • PS3 CFW & MFW
      • PS3 Debug Firmware
      • PS3 Decrypted PSN Links for CFW
      • PS3 Downloads
      • PS3 EBOOT.BIN Original File Links
      • PS3 Firmware
      • PS3 Game Releases List
      • PS3 Guides & Tutorials
      • PS3 Hacking Guides and Tutorials
      • PS3 Hacks & JailBreak
      • PS3 Help & Support
      • PS3 JailBreak Game Compatibility List
      • PS3 JB2 / True Blue (TB) Game Links
      • PS3 multiMAN Updates
      • PS3 Resources
      • PS3 Reviews
      • PS3 Save Files Repository
      • PS3 Themes
      • PS3 Trophies List
      • PS3 Videos
      • PS Vita Trophies List
    • Quick Links
      • Affiliates
      • Contact Us
      • FAQ
      • Post News
      • Site Rules
      • Tag Cloud
 

Blade-Mod: FckPSN Mod with Add-Ons, Skins, Settings and Details

Category: PS3 Hacks & JailBreak  By: Blade86 - (ps3news.com)
Tags: blade-mod fckpsn mod fckpsn add-ons fckpsn skins fckpsn settings drizzt ps3 hacks

35w ago - So here we go, I call this Blade-Mod, an FckPSN Mod which includes add-ons, skins, settings and detailed information integrated into the application based off FckPSN by drizzt.

Download: Blade-Mod: FckPSN Mod with Add-Ons, Skins, Settings and Details / GIT

I like this method because all spoofs are on fly by PSN on DEX without installing something on PS3 (except for the ca27).

I know, almost no one needs it anymore (at least not for PS3 Firmware 4.25), but for all those like me, who for example don't want to change IDPS on DEX, or needs some settings to be variable, can use this tool to set all kinds of spoof settings. Get my rar -> its a ready to use pack.

From the ReadMe file:

Blade-Mod.exe: This is the modded Version of drizzt's FckPSN to allow (add-ons, designs & settings) & give you more details. (drizzt is the original creator of FckPSN)

Blade-Conf.exe: This is a self-written Configuration-Add-on for easyly edit all on-fly-by-spoof settings (PS3-FW-Ver, Target-ID, Region, Mainboard Revision, IDPS)

Blade-Settings.yml: Externalized Settings-Communication-File

CA27.cer: You know what it is...

Finally, here is the source code of Blade-Mod.exe (modded FckPSN):

!/usr/bin/env ruby
#
# FckPsn -- PSN version spoofer
#
# Copyright (C) drizzt <drizzt@ibeglab.org>
#
# This software is distributed under the terms of the GNU General Public
# License ("GPL") version 3, as published by the Free Software Foundation.
#

require 'rubygems'

require 'socket'
require 'openssl'

require 'rainbow'

gem 'rubydns', '~> 0.4.0'
require 'rubydns'

def FckPSN_VERSION=x1
end
def PLATFORM_VERSION=x2
end
def PLATFORM_PASSPHRASE=x3
end
def TARGET_ID=x4
end
def TARGET_ID2=x4
end
def MB_REV=x5
end
def IDPS_REST=x6
end
require 'yaml'
hash = YAML.load_file('Blade-Settings.yml')
#substitution_hash = {:fourth_member => 'Yeon',
#                     :time => Time.new.strftime("%m/%d/%y")}
hash.each_pair do |key, value|
  value = hash[value] if value.class == Symbol
  #puts "Value for key \"#{key}\" is: \"#{value}\""
  FckPSN_VERSION = "#{value}" if "#{key}" == "FckPSN_VERSION"
  PLATFORM_VERSION = "#{value}" if "#{key}" == "PLATFORM_VERSION"
  PLATFORM_PASSPHRASE = "#{value}" if "#{key}" == "PLATFORM_PASSPHRASE"
  TARGET_ID = "#{value}" if "#{key}" == "TARGET_ID"
  MB2 = "#{value}" if "#{key}" == "MB2"
  MB_REV = "#{value}" if "#{key}" == "MB_REV"
  IDPS_REST = "#{value}" if "#{key}" == "IDPS_REST"

  end

# Ocra is the .exe generator
if defined?(Ocra)
	require 'rexec/client'
	exit
end

# Enter in current directory
Dir.chdir File.dirname($0)

# Change 0.0.0.0 to your LAN IP if you want
localHost = "0.0.0.0"

# You don't need to edit below this comment!!

#4.21#PLATFORM_PASSPHRASE='t2wSyoqasqb_wndpmdmbhputnokghlupgtpighyrsygfbmrsectfkqOb'
CON_ID="0000000100#{TARGET_ID}00#{MB_REV}#{IDPS_REST}000000000000000000000000000000000000000000"
IDPS_REST2="#{IDPS_REST}".upcase
TARGET_ID2 = case TARGET_ID
when "80" then "AVTest /  DECR"
when "81" then "Reference Tool"
when "82" then "DEX   /  Debug"
when "83" then "CEX RETAIL JAP"
when "84" then "CEX RETAIL USA"
when "85" then "CEX RETAIL EUR"
when "86" then "CEX RETAIL KOR"
when "87" then "CEX RETAIL UK "
when "88" then "CEX RETAIL MEX"
when "89" then "CEX RETAIL AUS"
when "8A" then "CEX RETAIL S-A"
when "8B" then "CEX RETAIL TWN"
when "8C" then "CEX RETAIL RUS"
when "8D" then "CEX RETAIL CHN"
when "8E" then "CEX RETAIL HON"
when "A0" then "SYS-DEBUG/ ARC"
else "Unknown"
end

TEST="#{PLATFORM_PASSPHRASE}".scan(/.{1,28}/m)

puts "*** ".color(:green) + "-----------------------------------------------------------------------".color(:yellow) + " ***".color(:green)
puts "*** ".color(:green) + "                          FckPSN v#{FckPSN_VERSION} MOD".color(:yellow) + "                              ***".color(:green)
puts "***                           created by drizzt                             ***".color(:green)
puts "*** ".color(:green) + "=======================================================================".color(:yellow) + " ***".color(:green)
puts "*** ".color(:green) + "                modified by ".color(:red) + "--- ".color(:cyan) + "Blade".color(:yellow) + "--- ".color(:cyan) + "The Daywalker".color(:red) +"                  ***".color(:green)
puts "*** ".color(:green) + "=======================================================================".color(:yellow) + " ***".color(:green)
puts "*** ".color(:green) + "      SPOOFED PS3-SYSTEM-FW".color(:red) + " --- ".color(:cyan) + "#{PLATFORM_VERSION}                      ".color(:yellow)  + "             ***".color(:green)
puts "*** ".color(:green) + "      SPOOFED TARGET-ID    ".color(:red) + " --- ".color(:cyan) + "#{TARGET_ID2} ".color(:yellow) + "[0x#{TARGET_ID}]".color(:cyan) + "                   ***".color(:green)
puts "*** ".color(:green) + "      SPOOFED MAINBOARD-REV".color(:red) + " --- ".color(:cyan) + "#{MB2}".color(:yellow) + "[0x#{MB_REV}]".color(:cyan) + "                   ***".color(:green)
puts "*** ".color(:green) + "      SPOOFED BYTES OF IDPS".color(:red) + " --- ".color(:cyan) + "BYTES 9-16     ".color(:yellow) + "[0x#{IDPS_REST2}]".color(:cyan) + "     ***".color(:green)
puts "*** ".color(:green) + "-----------------------------------------------------------------------".color(:yellow) + " ***".color(:green)
puts "*** ".color(:green) + "      SPOOFED PF_PASSPHRASE".color(:red) + " --- ".color(:cyan) + "[PSN]".color(:yellow) + " #{TEST[0]}".color(:green)  + "      ***".color(:green)
puts "*** ".color(:green) + "                           ".color(:red) + "     ".color(:cyan) + "     ".color(:yellow) + " #{TEST[1]}".color(:green)  + "      ***".color(:green)
puts "*** ".color(:green) + "-----------------------------------------------------------------------".color(:yellow) + " ***".color(:green)

# Listening ports
localSslPort = 443
localWebPort = 80
localDnsPort = 53

# PSN (auth.np.ac.playstation.net) IP address
$remoteHost = "173.230.216.161"
$remotePort = 443

$blockSize = 1024

# Initialize OpenSSL library
cert_file = File.join("data", "cert.pem")
key_file = File.join("data", "cert.key")
list_file = File.join("data", "ps3-updatelist.txt")

cert = OpenSSL::X509::Certificate.new(File::read(cert_file))
key = OpenSSL::PKey::RSA.new(File::read(key_file))
@list_str = File::read(list_file)

@ctx = OpenSSL::SSL::SSLContext.new()
@ctx.key = key
@ctx.cert = cert

# Start servers
begin
	sslServer = TCPServer.new(localHost, localSslPort)
rescue Errno::EADDRINUSE
	$stderr.puts "Error".color(:red) + " Port " + localSslPort.to_s + " already in use"
end
begin
	webServer = TCPServer.new(localHost, localWebPort)
rescue Errno::EADDRINUSE
	$stderr.puts "Error".color(:red) + " Port " + localWebPort.to_s + " already in use"
end
begin
	dnsSocket = UDPSocket.new(Socket::AF_INET)
	dnsSocket.bind(localHost, localDnsPort)
rescue Errno::EADDRINUSE
	$stderr.puts "Error".color(:red) + " Port " + localDnsPort.to_s + " already in use"
end

if sslServer.nil? or webServer.nil? or dnsSocket.nil?
	exit 1
end

# Some prints
port = sslServer.addr[1]
addrs = sslServer.addr[2..-1].uniq

puts "*** ".color(:green) + "      TARGET ADDRESS       ".color(:red) + " --- ".color(:cyan) + "[URL] ".color(:yellow) + "auth.np.ac.playstation.net  ".color(:green)  + "      ***".color(:green)
puts "*** ".color(:green) + "      TARGET IP ADDRESS    ".color(:red) + " --- ".color(:cyan) + "[IP]  ".color(:yellow) + "#{$remoteHost}:#{$remotePort}  ".color(:green)  + "             ***".color(:green)
puts "*** ".color(:green) + "=======================================================================".color(:yellow) + " ***".color(:green)
puts "*** ".color(:green) + "      #{Time.new}".color(:red) + " [SSL]".color(:yellow) + " listening on #{addrs.collect{|a|"#{a}:#{port}"}.join(' ')}          ***".color(:green)

port = webServer.addr[1]
addrs = webServer.addr[2..-1].uniq

puts "*** ".color(:green) + "      #{Time.new}".color(:red) + " [WEB]".color(:yellow) + " listening on #{addrs.collect{|a|"#{a}:#{port}"}.join(' ')}           ***".color(:green)

port = dnsSocket.addr[1]
addrs = dnsSocket.addr[2..-1].uniq

puts "*** ".color(:green) + "      #{Time.new}".color(:red) + " [DNS]".color(:yellow) + " listening on #{addrs.collect{|a|"#{a}:#{port}" }.join(' ')}           ***".color(:green)
puts "*** ".color(:green) + "-----------------------------------------------------------------------".color(:yellow) + " ***".color(:green)

# UDP Socket does per packet reverse lookups unless this is set.
UDPSocket.do_not_reverse_lookup = true

# abort on exceptions, otherwise threads will be silently killed in case
# of unhandled exceptions
#Thread.abort_on_exception = true

# have a thread just to process Ctrl-C events on Windows
# (although Ctrl-Break always works)
#Thread.new { loop { sleep 1 } }

R =  Resolv:NS.new
IN = Resolv:NS::Resource::IN

# Thread used for DNS connections
def dnsConnThread(local)
	packet, sender = local.recvfrom(1024*5)
	puts "*** ".color(:green) + "[DNS]".color(:yellow) + " receiving from #{sender.last}:#{sender[1]}".color(:green)
	myIp = UDPSocket.open {|s| s.connect(sender.last, 1); s.addr.last }
	RubyDNS::Server.new do |server|
		server.logger.level = Logger::INFO
		Thread.new do
			match("auth.np.ac.playstation.net", IN::A) do |transaction|
				logger.info("#{transaction} query received, returning #{myIp}")
				transaction.respond!(myIp)
			end

			match(/ps3.update.playstation.net$/, IN::A) do |match_data, transaction|
				logger.info("#{transaction} query received, returning #{myIp}")
				transaction.respond!(myIp)
			end

			otherwise do |transaction|
				transaction.passthrough!(R)
			end

			RubyDNS::UDPHandler:rocess(server, packet) do |result|
				local.send(result.encode, 0, sender[2], sender[1])
			end
		end
	end
	puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " [DNS]".color(:yellow) + " done with #{sender.last}:#{sender[1]}".color(:green)
end

# Thread used for HTTP connections
def webConnThread(local)
	port, name = local.peeraddr[1..2]
	puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " [WEB]".color(:yellow) + " receiving from #{name}:#{port}".color(:green)

	puts "[#{Time.new}] ".color(:red) + local.gets.color(:cyan)

	local.write("HTTP/1.1 200/OK\r\nContent-Type: text/plain\r\nContent-Length: #{@list_str.size}\r\n\r\n#{@list_str}").color(:green)
	local.close

	puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " [WEB]".color(:yellow) + " done with #{name}:#{port}".color(:green)
end

# Thread used for HTTPS connections
def sslConnThread(local)
	port, name = local.peeraddr[1..2]
	puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " [SSL]".color(:cyan) + " receiving from #{name}:#{port}".color(:green)

	sslLocal = OpenSSL::SSL::SSLSocket.new(local, @ctx)
	sslLocal.accept

	# open connection to remote server
	remote = TCPSocket.new($remoteHost, $remotePort)

	sslRemote = OpenSSL::SSL::SSLSocket.new(remote)
	sslRemote.connect

	# start reading from both ends
	loop do
		ready = select([sslLocal, sslRemote], nil, nil, 120)
		if ready.nil?
			puts "[#{Time.new}]".color(:red) + " timeout".color(:red)
			break
		end
		if ready[0].include? sslLocal
			# local -> remote
			begin
				data = sslLocal.sysread($blockSize)
			rescue EOFError
				puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " local end closed connection".color(:yellow)
				break
			end

			if data.match('consoleid')
				
				data.sub!(/consoleid=.*/, CON_ID)
				#data.sub!(/consoleid=.*/, '00000001008500050400f344ac4f8d2f000000000000000000000000000000000000000000')
				puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " Spoofing ConsoleID to CEX".color(:yellow)
			end
			if data.match('X-Platform-Passphrase: ')
				data.sub!(/^X-Platform-Passphrase: .*/, 'X-Platform-Passphrase: ' + PLATFORM_PASSPHRASE)
				data.sub!(/^X-Platform-Version: PS3 .*/, 'X-Platform-Version: PS3_C ' + PLATFORM_VERSION)
			else
				data.sub!(/^X-Platform-Version: PS3 .*/, "X-Platform-Version: PS3_C #{PLATFORM_VERSION}\r\nX-Platform-Passphrase: #{PLATFORM_PASSPHRASE}")
			end
			sslRemote.write(data)
		end
		if ready[0].include? sslRemote
			# remote -> local
			begin
				data = sslRemote.sysread($blockSize)
			rescue EOFError
				puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " remote end closed connection".color(:yellow)
				break
			end
			sslLocal.write(data)
		end
	end

	sslLocal.close
	local.close
	sslRemote.close
	remote.close

	puts "*** ".color(:green) + "[#{Time.new}]".color(:red) + " [SSL]".color(:cyan) + " done with #{name}:#{port}".color(:green)
end

loop do
	# whenever server.accept returns a new connection, start
	# a handler thread for that connection
	ready = select([sslServer, webServer, dnsSocket], nil, nil)
	if ready[0].include? sslServer
		Thread.start(sslServer.accept) { |local| sslConnThread(local) }
	end
	if ready[0].include? webServer
		Thread.start(webServer.accept) { |local| webConnThread(local) }
	end
	if ready[0].include? dnsSocket
		Thread.start(dnsSocket) { |local| dnsConnThread(local) }
	end
end

# vim: set ts=4 sw=4 sts=4 tw=120
Cheers

Blade (Blade-Conf.exe is my first windows-app)




Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!

Comments 465 Comments - Go to Forum Thread »

Errors

The following errors occurred with your submission

Okay

Quick Reply Quick Reply

  • Decrease Size
    Increase Size
  • Wrap [QUOTE] tags around selected text
Posting Quick Reply - Please Wait Posting Quick Reply - Please Wait
Blade86's Avatar
#450 - Blade86 - 35w ago
Reply
Hey guys! I modified FckPSN for personal use:

• "New skin"
• Externalized Configuration File
• Configurator-script (set how u like to spoof: FW-ver, Passphrase, Target-ID, Mainboard-Revision, Rest of console ID, ...)
• Configuration-Resetter.script (Set to standard Options)
• Configs are not "skinned" yet.
• No restriction on user-input yet.

Worked this night on it. I don't know if it is allowed to, thats why I wont upload it until I am allowed to...

I know that I was very slow. whole night work & such a minimum progress, but I never progged ruby before, so needed to learn it first...
Next Ver, I make a better progress, I promise.

Anyone who want to do it yourself, ask me, i help you

Cheers
Blade

dyceast's Avatar
#449 - dyceast - 35w ago
Reply
Sweet FckPSN v1.0 working fine for me...

Blade86's Avatar
#448 - Blade86 - 35w ago
Reply
How fast are you? Thank you so much for sharing PS3 News

Hmm, in the 1.0 .rb file the version is set to 4.21 still & consoleID is all 0 again

Didn't try the precompiled exe, but since our modified version works well for my dex, im gonna stick with that...
In my opinion, it is the best way, because we are flexible if something got changed

Now, I'm gonna check my CEX-Dumps, lets see if i can get my old consoleID spoofed

Cheers
Blade

PS3 News's Avatar
#447 - PS3 News - 35w ago
Reply
I have now added FckPSN v1.0 by drizzt to Update #2 in the main article for those following.

ps108975's Avatar
#446 - ps108975 - 35w ago
Reply
Working 100% for me.

Page 4 of 93 «‹123456789›LAST »

Related PS3 News and PS3 CFW Hacks or JailBreak Articles

• PS3 EDAT Devklic Bruteforcer v1.0 / v1.1 By JjKkYu is Released
• MAME 0125 (Multiple Arcade Machine Emulator) for PS3 Release 1 Out
• PS3 Game List by Nullptr PlayStation 3 Homebrew App is Released
• MultiMAN v04.40.00 PS3 Server and Showtime Edition Updates Out
• ScummVM 1.6.0 PlayStation 3 Emulator Updated, +4 to Engines
• PSN Tool v1.0 and PSN Tool Creator v1.0 to Combat PSN Bans Arrive
Affiliates  NewsNow  Privacy  PS3 CFW & MFW  PS3 Hacks & JailBreak  PS3 Reviews  PS3 Videos  © 2013 PlayStation 3 News

PlayStation 3 Links

• Contact Us E-Mail
• PS3 Affiliates
• PS3 CFW & MFW
• PS3 Debug Firmware
• PS3 Decrypted PSN Links for CFW
• PS3 Downloads
• PS3 EBOOT.BIN Original File Links
• PS3 Firmware
• PS3 Game Releases List
• PS3 Guides & Tutorials
• PS3 Hacking Guides and Tutorials
• PS3 Hacks & JailBreak
• PS3 Help & Support
• PS3 JailBreak Game Compatibility List
• PS3 JB2 / True Blue (TB) Game Links
• PS3 multiMAN Updates
• PS3 News Forums
• PS3 News Site FAQ
• PS3 News Site Advertising FAQ
• PS3 News Site Posting FAQ
• PS3 News Site Privacy FAQ
• PS3 News Site Rules
• PS3 News Site Tag Cloud
• PS3 News Site Terms
• PS3 Resources
• PS3 Reviews
• PS3 Save Files Repository
• PS3 Themes
• PS3 Trophies List
• PS3 Videos
• PS Vita Trophies List

PlayStation 3 News Discussions
PS3 OFW 4.45 is out -- be warned -- mass bricking - 2h ago

Transient's Avatar
Quote After swapping back in my original 160GB HDD, I was still getting the 8002F281 error. I ended up having to do a full PS3 Reset and reformat of the 160...
By Transient with
 9 Comments »
PS3 OFW 4.45 is out -- be warned -- mass bricking - 3h ago

elser1's Avatar
Quote poor bugger. at least you got ps3 back i guess. i dont want my ps3 much anymore so ill wait n see what sony offers before updating to a brick.lol...
By elser1 with
 9 Comments »
PS3 OFW 4.45 is out -- be warned -- mass bricking - 3h ago

Transient's Avatar
Quote Well, here's what I've tried: - choosing System Update menu item from Safe Mode causes PS3 to lock up. Doesn't even change screens, it just locks up. ...
By Transient with
 9 Comments »
PS3 OFW 4.45 is out -- be warned -- mass bricking - 3h ago

airmaxix's Avatar
Quote sony wanted to brick all the ps3 so users can move on with ps4 maybe...lol...
By airmaxix with
 9 Comments »

Latest PlayStation 3 Trophies
Dungeons & Dragons: Daggerdale: The Big Stick
Dungeons & Dragons: Daggerdale: Four of a Kind
Dungeons & Dragons: Daggerdale: Man at Arms
Dungeons & Dragons: Daggerdale: Solid Gold

Latest PlayStation Vita Trophies
Jak II (Vita): The Collectationator!
Jak II (Vita): The Collectivist
Jak II (Vita): The Collector
Jak II (Vita): Head Master

Latest PlayStation 3 Releases
Le Tour De France 2013 PS3-STRiKE - 06-18-2013
MotoGP 13 PS3-COLLATERAL - 06-17-2013
Remember Me USA PS3-ANTiDOTE - 06-17-2013
The Last of Us ASiA MULTi3 PS3-Kirin - 06-14-2013

Latest PlayStation 3 Themes
The Last of Us PS3 Theme - 06-14-2013
God Of War 3 (Unofficial V1/V2) PS3 Theme - 06-12-2013
Heavy Rain (Official) Dynamic PS3 Theme - 06-11-2013
PlayStation Classic PS3 Theme - 06-11-2013
  • Contact Us
  • -
  • PS3 News