Add files via upload

This commit is contained in:
Master
2024-04-26 16:33:02 +04:00
committed by GitHub
parent 4c5033f077
commit 063be4aed6
33 changed files with 5436 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.34301.259
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PS4-9.00-11.00-PoC-bin-loader", "PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader.csproj", "{CE4CE4BE-BA05-4461-BB9D-158C709C50B5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CE4CE4BE-BA05-4461-BB9D-158C709C50B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE4CE4BE-BA05-4461-BB9D-158C709C50B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE4CE4BE-BA05-4461-BB9D-158C709C50B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE4CE4BE-BA05-4461-BB9D-158C709C50B5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1A340E34-7B78-4365-94B4-5ADADBD60DB1}
EndGlobalSection
EndGlobal
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
</configuration>
File diff suppressed because it is too large Load Diff
+453
View File
@@ -0,0 +1,453 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Management;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PS4_9._00_11._00_PoC_bin_loader
{
public partial class Form1 : Form
{
private string path;
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
try
{
openFileDialog1.Filter = "python files (*.py)|*.py;|All files (*.*)|*.*";
openFileDialog1.ShowDialog();
path = openFileDialog1.SafeFileName;
label3.Text = path;
label3.Text = Path.GetFileNameWithoutExtension(openFileDialog1.FileName);
}
catch
{
MessageBox.Show("", "Error");
}
if (label3.Text == "poc")
{
try
{
BinaryReader reader = new BinaryReader(new FileStream(@"poc.py", FileMode.Open));
button1.Enabled = true;
//Set the position of the reader
reader.BaseStream.Position = 0x83;
//Read the offset
byte[] array = reader.ReadBytes(3);
textBox1.Text = ASCIIEncoding.ASCII.GetString(array);
reader.BaseStream.Position = 0x87;
//Read the offset
byte[] array0 = reader.ReadBytes(3);
textBox2.Text = ASCIIEncoding.ASCII.GetString(array0);
reader.BaseStream.Position = 0x8B;
//Read the offset
byte[] array01 = reader.ReadBytes(3);
textBox3.Text = ASCIIEncoding.ASCII.GetString(array01);
reader.BaseStream.Position = 0x8F;
byte[] array02 = reader.ReadBytes(3);
textBox4.Text = ASCIIEncoding.ASCII.GetString(array02);
reader.BaseStream.Position = 0x93;
byte[] array03 = reader.ReadBytes(3);
textBox5.Text = ASCIIEncoding.ASCII.GetString(array03);
reader.BaseStream.Position = 0x97;
byte[] array04 = reader.ReadBytes(3);
textBox6.Text = ASCIIEncoding.ASCII.GetString(array04);
reader.BaseStream.Position = 0xCE;
byte[] array07 = reader.ReadBytes(3);
textBox7.Text = ASCIIEncoding.ASCII.GetString(array07);
reader.BaseStream.Position = 0xD2;
byte[] array08 = reader.ReadBytes(3);
textBox8.Text = ASCIIEncoding.ASCII.GetString(array08);
reader.BaseStream.Position = 0xD6;
byte[] array09 = reader.ReadBytes(3);
textBox9.Text = ASCIIEncoding.ASCII.GetString(array09);
reader.BaseStream.Position = 0xDA;
byte[] array10 = reader.ReadBytes(3);
textBox10.Text = ASCIIEncoding.ASCII.GetString(array10);
reader.BaseStream.Position = 0xDE;
byte[] array11 = reader.ReadBytes(3);
textBox11.Text = ASCIIEncoding.ASCII.GetString(array11);
reader.BaseStream.Position = 0xE2;//pkg
byte[] array12 = reader.ReadBytes(3);
textBox12.Text = ASCIIEncoding.ASCII.GetString(array12);
reader.Close();
groupBox1.Enabled = true;
}
catch
{
MessageBox.Show("Sorry the application seems to have encountered a problem", "Error");
}
}
if (label3.Text == "Mypoc")
{
try
{
BinaryReader reader = new BinaryReader(new FileStream(@"Mypoc.py", FileMode.Open));
button1.Enabled = true;
//Set the position of the reader
reader.BaseStream.Position = 0x5F;
//Read the offset
byte[] array = reader.ReadBytes(3);
textBox1.Text = ASCIIEncoding.ASCII.GetString(array);
reader.BaseStream.Position = 0x63;
//Read the offset
byte[] array0 = reader.ReadBytes(3);
textBox2.Text = ASCIIEncoding.ASCII.GetString(array0);
reader.BaseStream.Position = 0x67;
//Read the offset
byte[] array01 = reader.ReadBytes(3);
textBox3.Text = ASCIIEncoding.ASCII.GetString(array01);
reader.BaseStream.Position = 0x6B;
byte[] array02 = reader.ReadBytes(3);
textBox4.Text = ASCIIEncoding.ASCII.GetString(array02);
reader.BaseStream.Position = 0x6F;
byte[] array03 = reader.ReadBytes(3);
textBox5.Text = ASCIIEncoding.ASCII.GetString(array03);
reader.BaseStream.Position = 0x73;
byte[] array04 = reader.ReadBytes(3);
textBox6.Text = ASCIIEncoding.ASCII.GetString(array04);
reader.BaseStream.Position = 0x89;
byte[] array07 = reader.ReadBytes(3);
textBox7.Text = ASCIIEncoding.ASCII.GetString(array07);
reader.BaseStream.Position = 0x8D;
byte[] array08 = reader.ReadBytes(3);
textBox8.Text = ASCIIEncoding.ASCII.GetString(array08);
reader.BaseStream.Position = 0x91;
byte[] array09 = reader.ReadBytes(3);
textBox9.Text = ASCIIEncoding.ASCII.GetString(array09);
reader.BaseStream.Position = 0x95;
byte[] array10 = reader.ReadBytes(3);
textBox10.Text = ASCIIEncoding.ASCII.GetString(array10);
reader.BaseStream.Position = 0x99;
byte[] array11 = reader.ReadBytes(3);
textBox11.Text = ASCIIEncoding.ASCII.GetString(array11);
reader.BaseStream.Position = 0x9D;//pkg
byte[] array12 = reader.ReadBytes(3);
textBox12.Text = ASCIIEncoding.ASCII.GetString(array12);
reader.Close();
groupBox1.Enabled = true;
}
catch
{
MessageBox.Show("Sorry the application seems to have encountered a problem", "Error");
}
}
}
private void ThreadProc()
{
throw new NotImplementedException();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
StreamWriter sw = new StreamWriter(Application.StartupPath + "\\" + "Mypoc.py");
sw.WriteLine(label4.Text + "\n" + label5.Text + "\n" + label6.Text + "\n\n"
+ label7.Text + textBox1.Text + "\\" + textBox2.Text + "\\" + textBox3.Text + "\\"
+ textBox4.Text + "\\" + textBox5.Text + "\\" + textBox6.Text + label8.Text + "\n"
+ label9.Text + textBox7.Text + "\\" + textBox8.Text + "\\" + textBox9.Text + "\\"
+ textBox10.Text + "\\" + textBox11.Text + "\\" + textBox12.Text + label10.Text + "\n"
+ label11.Text + "\n" + "\n"
+ label12.Text + "\n" + "\n"
+ label13.Text + "\n"
+ label14.Text + "\n" + label15.Text + "\n" + "\n"
+ label16.Text + "\n" + label17.Text + "\n" + "\n"
+ label18.Text + "\n" + label19.Text + "\n" + "\n"
+ label20.Text + "\n" + "\n"
+ label21.Text + "\n" + label22.Text + "\n" + "\n"
+ label23.Text + "\n" + label24.Text + "\n" + "\n"
+ label25.Text + "\n" + "\n"
+ label26.Text + "\n" + label27.Text + "\n" + "\n"
+ label28.Text + "\n" + label29.Text + "\n" + "\n"
+ label30.Text + "\n" + "\n"
+ label31.Text + "\n" + label32.Text + "\n" + label33.Text + "\n"
+ label34.Text + "\n" + label35.Text + "\n" + "\n"
+ label36.Text + "\n" + label37.Text + "\n"
+ label38.Text + "\n" + label39.Text + "\n" + label40.Text + "\n" +label41.Text +"\n"
+ label42.Text + "\n" + label43.Text + "\n" + "\n"
+ label44.Text + "\n" + label45.Text);
sw.Close();
}
catch
{
MessageBox.Show("Error");
}
try
{
StreamWriter sw = new StreamWriter(Application.StartupPath + "\\" + "PoC.bat");
sw.WriteLine(" python Mypoc.py\npause");
sw.Close();
if (File.Exists("PoC.bat"))
{
labelBuild.Text = "Run...";
Thread thread = new Thread(new ThreadStart(ThreadProc));
new Process
{
StartInfo =
{
WindowStyle = ProcessWindowStyle.Hidden,
FileName = "PoC.bat"
}
}.Start();
labelBuild.Text = "complete";
MessageBox.Show(" successfully created!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
MessageBox.Show("PoC", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
}
}
catch
{
MessageBox.Show("Error");
}
MessageBox.Show("Thanks ...", "Code!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
try
{
System.Diagnostics.Process.Start(@"PoC.bat");
}
catch
{
}
}
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog opendialog = new OpenFileDialog();
opendialog.CheckFileExists = true;
opendialog.Multiselect = false;
opendialog.Filter = "PS4 BIN File (*.bin) | *.bin";
if (opendialog.ShowDialog() == DialogResult.OK)
{
string FilePath = opendialog.FileName;
textBox13.Text = FilePath;
label47.Text = opendialog.SafeFileName;
}
}
private void Form1_Load(object sender, EventArgs e)
{
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_NetworkAdapter Where AdapterType='Ethernet 802.3'");
foreach (ManagementObject mo in mos.Get())
{
comboBox1.Items.Add(mo["Name"].ToString());
}
}
private void button4_Click(object sender, EventArgs e)
{
textBox14.Text = String.Empty;
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
if (nics == null || nics.Length < 1)
{
textBox14.Text = "No network interfaces found.";
return;
}
foreach (NetworkInterface adapter in nics)
{
PhysicalAddress address = adapter.GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
textBox14.Text += bytes[i].ToString("X2"); // display in HEX
// Insert a hyphen after each byte, unless we are at the end of the
if (i != bytes.Length - 1)
{
textBox14.Text += "-";
}
}
textBox14.Text += Environment.NewLine;
}
}
private void button5_Click(object sender, EventArgs e)
{
Process.Start(@"Rundll32.exe"," shell32.dll,Control_RunDLL ncpa.cpl");
}
private void button6_Click(object sender, EventArgs e)
{
if (comboBox1.Text == "Select Ethernet Controller" | string.IsNullOrEmpty(comboBox1.Text))
{
MessageBox.Show("Select Ethernet Controller");
}
else
{
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_NetworkAdapter where Name='" + comboBox1.SelectedItem.ToString() + "'");
ManagementObjectCollection moc = mos.Get();
if (moc.Count > 0)
{
foreach (ManagementObject mo in moc)
{
textBox14.Text = (string)mo["MACAddress"];
}
}
button7.Visible = true;
}
}
private void button7_Click(object sender, EventArgs e)
{
try
{
StreamWriter nw = new StreamWriter(Application.StartupPath + "\\" + "Mac" + ".txt");
nw.WriteLine(textBox14.Text);
nw.Close();
try
{
BinaryReader reader = new BinaryReader(new FileStream(@"Mac.txt", FileMode.Open));
//Set the position of the reader
reader.BaseStream.Position = 0x0;
//Read the offset
byte[] array = reader.ReadBytes(2);
textBox1.Text = ASCIIEncoding.ASCII.GetString(array);
reader.BaseStream.Position = 0x3;
byte[] array0 = reader.ReadBytes(2);
textBox2.Text = ASCIIEncoding.ASCII.GetString(array0);
reader.BaseStream.Position = 0x6;
byte[] array01 = reader.ReadBytes(2);
textBox3.Text = ASCIIEncoding.ASCII.GetString(array01);
reader.BaseStream.Position = 0x9;
byte[] array02 = reader.ReadBytes(2);
textBox4.Text = ASCIIEncoding.ASCII.GetString(array02);
reader.BaseStream.Position = 0xC;
byte[] array03 = reader.ReadBytes(2);
textBox5.Text = ASCIIEncoding.ASCII.GetString(array03);
reader.BaseStream.Position = 0xF;
byte[] array04 = reader.ReadBytes(2);
textBox6.Text = ASCIIEncoding.ASCII.GetString(array04);
reader.Close();
}
catch
{
MessageBox.Show("Sorry the application seems to have encountered a problem", "Error");
}
}
catch
{
MessageBox.Show("Error");
}
try
{
StreamWriter snw = new StreamWriter(Application.StartupPath + "\\" + "Mac" + ".txt");
snw.WriteLine("x" + textBox1.Text + "x" + textBox2.Text + "x" + textBox3.Text + "x" + textBox4.Text + "x" + textBox5.Text + "x" + textBox6.Text);
snw.Close();
BinaryReader reader = new BinaryReader(new FileStream(@"Mac.txt", FileMode.Open));
//Set the position of the reader
reader.BaseStream.Position = 0x0;
//Read the offset
byte[] array = reader.ReadBytes(3);
textBox1.Text = ASCIIEncoding.ASCII.GetString(array);
reader.BaseStream.Position = 0x3;
byte[] array0 = reader.ReadBytes(3);
textBox2.Text = ASCIIEncoding.ASCII.GetString(array0);
reader.BaseStream.Position = 0x6;
byte[] array01 = reader.ReadBytes(3);
textBox3.Text = ASCIIEncoding.ASCII.GetString(array01);
reader.BaseStream.Position = 0x9;
byte[] array02 = reader.ReadBytes(3);
textBox4.Text = ASCIIEncoding.ASCII.GetString(array02);
reader.BaseStream.Position = 0xC;
byte[] array03 = reader.ReadBytes(3);
textBox5.Text = ASCIIEncoding.ASCII.GetString(array03);
reader.BaseStream.Position = 0xF;
byte[] array04 = reader.ReadBytes(3);
textBox6.Text = ASCIIEncoding.ASCII.GetString(array04);
reader.Close();
}
catch
{
MessageBox.Show("Error");
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{CE4CE4BE-BA05-4461-BB9D-158C709C50B5}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>PS4_9._00_11._00_PoC_bin_loader</RootNamespace>
<AssemblyName>PS4-9.00-11.00-PoC-bin-loader</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Poc.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Management" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\playstation4pro.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\smart-tv.png" />
</ItemGroup>
<ItemGroup>
<Content Include="Poc.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

+22
View File
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PS4_9._00_11._00_PoC_bin_loader
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("PS4-9.00-11.00-PoC-bin-loader")]
[assembly: AssemblyDescription("PS4-9.00-11.00-PoC-bin-loader")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("PS4-9.00-11.00-PoC-bin-loader")]
[assembly: AssemblyProduct("PS4-9.00-11.00-PoC-bin-loader")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("ce4ce4be-ba05-4461-bb9d-158c709c50b5")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.0.1.0")]
[assembly: AssemblyFileVersion("2.0.1.0")]
@@ -0,0 +1,83 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PS4_9._00_11._00_PoC_bin_loader.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PS4_9._00_11._00_PoC_bin_loader.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap playstation4pro {
get {
object obj = ResourceManager.GetObject("playstation4pro", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap smart_tv {
get {
object obj = ResourceManager.GetObject("smart-tv", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}
@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="playstation4pro" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\playstation4pro.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="smart-tv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\smart-tv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
@@ -0,0 +1,29 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PS4_9._00_11._00_PoC_bin_loader.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1 @@
x4CxCCx6Ax83xD5x95
@@ -0,0 +1,55 @@
from scapy.all import PPPoED, Ether, sniff, sendp, srp1
import binascii
import os
source = b"\x4C\xCC\x6A\x83\xD5\x95"
destination = b"\x22\x22\x22\x22\x22\x22"
interface = "Realtek PCIe 2.5GbE Family Controller #2"
payload_dir = input("Enter the path to the payload directory: ")
payload_file = os.path.join(payload_dir, "payload.bin")
with open(payload_file, "rb") as file:
payload_data = file.read()
packet = sniff(iface=interface, filter="pppoed", count=1)
tag_value = packet[PPPoED][0].tag_list[1].tag_value
pppoed_packet = Ether(dst=destination, src=source) / PPPoED() / payload_data
pppoed_packet.tag_list[1].tag_value = tag_value
sendp(pppoed_packet, iface=interface)
packet = sniff(iface=interface, filter="pppoed", count=1)
tag_value = packet[PPPoED][0].tag_list[1].tag_value
pppoed_packet = Ether(dst=destination, src=source) / PPPoED() / payload_data
pppoed_packet.tag_list[1].tag_value = tag_value
sendp(pppoed_packet, iface=interface)
packet = sniff(iface=interface, filter="pppoes", count=1)
tag_value = packet[0][PPPoED][0].tag_list[1].tag_value
pppoes_packet = Ether(dst=destination, src=source) / PPPoED() / payload_data
pppoes_packet.tag_list[1].tag_value = tag_value
response = srp1(pppoes_packet, iface=interface)
if response:
response_hexdump = binascii.hexlify(bytes(response))
print("Response Hexdump:", response_hexdump)
else:
print("No response received.")
success_count = 0
failure_count = 0
for i in range(20):
sendp(pppoes_packet, iface=interface)
if sniff(iface=interface, filter="pppoed", count=1):
success_count += 1
else:
failure_count += 1
print("Successful attempts:", success_count)
print("Failed attempts:", failure_count)
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
</configuration>
@@ -0,0 +1,2 @@
python Mypoc.py
pause
@@ -0,0 +1,71 @@
from scapy.all import PPPoED, Ether, sniff, sendp, srp1
import binascii
import os
# MAC address of your adapter on PC
source = b"\xXX\xXX\xXX\xXX\xXX\xXX"
# MAC address of LAN on your PS4
destination = b"\xXX\xXX\xXX\xXX\xXX\xXX"
# Network interface name on your PC
interface = "Realtek PCIe 2.5GbE Family Controller #2"
# Ask for the payload directory input
payload_dir = input("Enter the path to the payload directory: ")
# Load your payload binary file
payload_file = os.path.join(payload_dir, "payload.bin")
with open(payload_file, "rb") as file:
payload_data = file.read()
# Sniff for a single PPPoED packet to extract tag value
packet = sniff(iface=interface, filter="pppoed", count=1)
tag_value = packet[PPPoED][0].tag_list[1].tag_value
# Craft the PPPoED packet to load the payload
pppoed_packet = Ether(dst=destination, src=source) / PPPoED() / payload_data
pppoed_packet.tag_list[1].tag_value = tag_value
# Send the crafted packet
sendp(pppoed_packet, iface=interface)
# Sniff for a single PPPoED packet again
packet = sniff(iface=interface, filter="pppoed", count=1)
tag_value = packet[PPPoED][0].tag_list[1].tag_value
# Craft another PPPoED packet to load the payload
pppoed_packet = Ether(dst=destination, src=source) / PPPoED() / payload_data
pppoed_packet.tag_list[1].tag_value = tag_value
# Send the crafted packet
sendp(pppoed_packet, iface=interface)
# Sniff for a single PPPoES packet
packet = sniff(iface=interface, filter="pppoes", count=1)
tag_value = packet[0][PPPoED][0].tag_list[1].tag_value
# Craft the PPPoES packet to load the payload
pppoes_packet = Ether(dst=destination, src=source) / PPPoED() / payload_data
pppoes_packet.tag_list[1].tag_value = tag_value
# Send the crafted packet and receive response
response = srp1(pppoes_packet, iface=interface)
# Print the response hexdump
if response:
response_hexdump = binascii.hexlify(bytes(response))
print("Response Hexdump:", response_hexdump)
else:
print("No response received.")
# Craft and send multiple packets to load the payload
success_count = 0
failure_count = 0
for i in range(20):
sendp(pppoes_packet, iface=interface)
if sniff(iface=interface, filter="pppoed", count=1):
success_count += 1
else:
failure_count += 1
print("Successful attempts:", success_count)
print("Failed attempts:", failure_count)
@@ -0,0 +1 @@
19b8f067ec51bfd646a4f0eda3a427ac88709530
@@ -0,0 +1,10 @@
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\bin\Debug\PS4-9.00-11.00-PoC-bin-loader.exe.config
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\bin\Debug\PS4-9.00-11.00-PoC-bin-loader.exe
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\bin\Debug\PS4-9.00-11.00-PoC-bin-loader.pdb
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\obj\Debug\PS4-9.00-11.00-PoC-bin-loader.csproj.AssemblyReference.cache
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\obj\Debug\PS4_9._00_11._00_PoC_bin_loader.Form1.resources
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\obj\Debug\PS4_9._00_11._00_PoC_bin_loader.Properties.Resources.resources
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\obj\Debug\PS4-9.00-11.00-PoC-bin-loader.csproj.GenerateResource.cache
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\obj\Debug\PS4-9.00-11.00-PoC-bin-loader.csproj.CoreCompileInputs.cache
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\obj\Debug\PS4-9.00-11.00-PoC-bin-loader.exe
C:\Users\Master\source\repos\PS4-9.00-11.00-PoC-bin-loader\PS4-9.00-11.00-PoC-bin-loader\obj\Debug\PS4-9.00-11.00-PoC-bin-loader.pdb