Compare commits

..

1 Commits

Author SHA1 Message Date
3e4cf14c37 v0.32 2026-08-31 00:48:14 +02:00
4 changed files with 3 additions and 60 deletions

View File

@@ -14,7 +14,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="SharpCompress" Version="0.39.0" /> <PackageReference Include="SharpCompress" Version="1.0.0" />
<PackageReference Include="Spectre.Console" Version="0.49.1" /> <PackageReference Include="Spectre.Console" Version="0.49.1" />
<PackageReference Include="System.Management" Version="9.0.3" /> <PackageReference Include="System.Management" Version="9.0.3" />
</ItemGroup> </ItemGroup>

View File

@@ -28,14 +28,12 @@ namespace BadBuilder
List<DownloadItem> items = new() List<DownloadItem> items = new()
{ {
("ABadAvatar", "https://cdn.niklascfw.de/xbox360/ABadAvatar-publicbeta1.0.zip"), ("ABadAvatar", "https://cdn.niklascfw.de/xbox360/ABadAvatar_v1.3-beta.zip"),
("Aurora Dashboard", "https://cdn.niklascfw.de/xbox360/Aurora%200.7b.2%20-%20Release%20Package.rar"), ("Aurora Dashboard", "https://cdn.niklascfw.de/xbox360/Aurora%200.7b.2%20-%20Release%20Package.rar"),
("XeXmenu", "https://cdn.niklascfw.de/xbox360/MenuData.7z"), ("XeXmenu", "https://cdn.niklascfw.de/xbox360/MenuData.7z"),
("Rock Band Blitz", "https://cdn.niklascfw.de/xbox360/GameData.zip"), ("Rock Band Blitz", "https://cdn.niklascfw.de/xbox360/GameData.zip"),
("Simple 360 NAND Flasher", "https://cdn.niklascfw.de/xbox360/Flasher.7z"), ("Simple 360 NAND Flasher", "https://cdn.niklascfw.de/xbox360/Flasher.7z"),
("XeUnshackle", "https://cdn.niklascfw.de/xbox360/XeUnshackle-BETA-v1_03.zip"), ("XeUnshackle", "https://cdn.niklascfw.de/xbox360/XeUnshackle-BETA-v1_03.zip"),
("BadUpdate", "https://cdn.niklascfw.de/xbox360/Xbox360BadUpdate-Retail-USB-v1.2.zip"),
("BadUpdate Tools", "https://cdn.niklascfw.de/xbox360/Tools.zip"),
}; };
List<DownloadItem> existingFiles = items.Where(item => List<DownloadItem> existingFiles = items.Where(item =>

View File

@@ -1,34 +0,0 @@
using Spectre.Console;
using System.Diagnostics;
namespace BadBuilder.Helpers
{
internal static class PatchHelper
{
internal static async Task PatchXexAsync(string xexPath, string xexToolPath)
{
Process process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = xexToolPath,
Arguments = $"-m r -r a \"{xexPath}\"",
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true
}
};
process.Start();
await process.WaitForExitAsync();
if (process.ExitCode != 0)
{
string status = "[-]";
AnsiConsole.MarkupLineInterpolated($"\n[#FF7200]{status}[/] Das Programm {Path.GetFileNameWithoutExtension(xexPath)} konnte nicht gepatcht werden. XexTool-Ausgabe:");
Console.WriteLine(process.StandardError.ReadToEnd());
}
}
}
}

View File

@@ -21,7 +21,6 @@ namespace BadBuilder
static readonly Style GreenStyle = new(new Color(118, 185, 0)); static readonly Style GreenStyle = new(new Color(118, 185, 0));
static readonly Style GrayStyle = new(new Color(132, 133, 137)); static readonly Style GrayStyle = new(new Color(132, 133, 137));
static string XexToolPath = string.Empty;
static string TargetDriveLetter = string.Empty; static string TargetDriveLetter = string.Empty;
static bool RequiresDashboardUpdate = false; static bool RequiresDashboardUpdate = false;
@@ -59,7 +58,6 @@ namespace BadBuilder
ExtractFiles(downloadedFiles).Wait(); ExtractFiles(downloadedFiles).Wait();
ClearConsole(); ClearConsole();
string selectedDefaultApp = "XeUnshackle";
AnsiConsole.MarkupLine("[#76B900]{0}[/] Standard-Payload auf [bold]XeUnshackle[/] gesetzt.", Markup.Escape("[*]")); AnsiConsole.MarkupLine("[#76B900]{0}[/] Standard-Payload auf [bold]XeUnshackle[/] gesetzt.", Markup.Escape("[*]"));
AnsiConsole.MarkupLine("[#76B900]{0}[/] Kopiere erforderliche Dateien und Ordner.", Markup.Escape("[*]")); AnsiConsole.MarkupLine("[#76B900]{0}[/] Kopiere erforderliche Dateien und Ordner.", Markup.Escape("[*]"));
@@ -204,24 +202,6 @@ namespace BadBuilder
} }
break; break;
case "BadUpdate":
actionQueue.EnqueueAction(async () =>
{
using (StreamWriter writer = new(Path.Combine(TargetDriveLetter, "name.txt")))
writer.WriteLine("USB-Speichergerät");
using (StreamWriter writer = new(Path.Combine(TargetDriveLetter, "info.txt")))
writer.WriteLine($"Dieses Laufwerk wurde mit BadBuilder von Pdawg erstellt.\nWeitere Informationen: https://github.com/Pdawg-bytes/BadBuilder\nKonfiguration: \n- BadUpdate-Ziel-Binary: {selectedDefaultApp}");
Directory.CreateDirectory(Path.Combine(TargetDriveLetter, "Apps"));
await FileSystemHelper.MirrorDirectoryAsync(Path.Combine(folder, "Rock Band Blitz"), TargetDriveLetter);
}, 10);
break;
case "BadUpdate Tools":
XexToolPath = Path.Combine(folder, "XePatcher", "XexTool.exe");
break;
case "Rock Band Blitz": case "Rock Band Blitz":
EnqueueMirrorDirectory( EnqueueMirrorDirectory(
Path.Combine(folder, $"{ContentFolder}5841122D\\000D0000"), Path.Combine(folder, $"{ContentFolder}5841122D\\000D0000"),
@@ -233,7 +213,6 @@ namespace BadBuilder
case "Simple 360 NAND Flasher": case "Simple 360 NAND Flasher":
actionQueue.EnqueueAction(async () => actionQueue.EnqueueAction(async () =>
{ {
await PatchHelper.PatchXexAsync(Path.Combine(folder, "Simple 360 NAND Flasher", "Default.xex"), XexToolPath);
await FileSystemHelper.MirrorDirectoryAsync(Path.Combine(folder, "Simple 360 NAND Flasher"), Path.Combine(TargetDriveLetter, "Apps", "Simple 360 NAND Flasher")); await FileSystemHelper.MirrorDirectoryAsync(Path.Combine(folder, "Simple 360 NAND Flasher"), Path.Combine(TargetDriveLetter, "Apps", "Simple 360 NAND Flasher"));
}, 6); }, 6);
break; break;
@@ -328,7 +307,7 @@ namespace BadBuilder
[#CCE388] [/] [#CCE388] [/]
[#CCE388] [/] [#CCE388] [/]
[#76B900]v0.31[/] [#76B900]v0.32[/]
Xbox 360 [#FF7200]BadUpdate[/] USB Builder Xbox 360 [#FF7200]BadUpdate[/] USB Builder
[#848589]Created by Pdawg | Forked by NiklasCFW[/] [#848589]Created by Pdawg | Forked by NiklasCFW[/]
[#76B900][/] [#76B900][/]