Sfoglia il codice sorgente

Jailbreaking hacking tools

LH 3 anni fa
parent
commit
1b5ae3c67c
49 ha cambiato i file con 279 aggiunte e 46 eliminazioni
  1. BIN
      F3Enabler/.gradlex/6.5.1/executionHistory/executionHistory.bin
  2. BIN
      F3Enabler/.gradlex/6.5.1/executionHistory/executionHistory.lock
  3. BIN
      F3Enabler/.gradlex/6.5.1/fileChanges/last-build.bin
  4. BIN
      F3Enabler/.gradlex/6.5.1/fileContent/annotation-processors.bin
  5. BIN
      F3Enabler/.gradlex/6.5.1/fileContent/fileContent.lock
  6. BIN
      F3Enabler/.gradlex/6.5.1/fileHashes/fileHashes.bin
  7. BIN
      F3Enabler/.gradlex/6.5.1/fileHashes/fileHashes.lock
  8. BIN
      F3Enabler/.gradlex/6.5.1/fileHashes/resourceHashesCache.bin
  9. 0 0
      F3Enabler/.gradlex/6.5.1/gc.properties
  10. BIN
      F3Enabler/.gradlex/6.5.1/javaCompile/classAnalysis.bin
  11. BIN
      F3Enabler/.gradlex/6.5.1/javaCompile/jarAnalysis.bin
  12. BIN
      F3Enabler/.gradlex/6.5.1/javaCompile/javaCompile.lock
  13. BIN
      F3Enabler/.gradlex/6.5.1/javaCompile/taskHistory.bin
  14. BIN
      F3Enabler/.gradlex/7.3.1/checksums/checksums.lock
  15. BIN
      F3Enabler/.gradlex/7.3.1/checksums/md5-checksums.bin
  16. BIN
      F3Enabler/.gradlex/7.3.1/checksums/sha1-checksums.bin
  17. BIN
      F3Enabler/.gradlex/7.3.1/dependencies-accessors/dependencies-accessors.lock
  18. 0 0
      F3Enabler/.gradlex/7.3.1/dependencies-accessors/gc.properties
  19. BIN
      F3Enabler/.gradlex/7.3.1/fileChanges/last-build.bin
  20. BIN
      F3Enabler/.gradlex/7.3.1/fileHashes/fileHashes.lock
  21. 0 0
      F3Enabler/.gradlex/7.3.1/gc.properties
  22. BIN
      F3Enabler/.gradlex/buildOutputCleanup/buildOutputCleanup.lock
  23. 2 0
      F3Enabler/.gradlex/buildOutputCleanup/cache.properties
  24. BIN
      F3Enabler/.gradlex/checksums/checksums.lock
  25. BIN
      F3Enabler/.gradlex/checksums/md5-checksums.bin
  26. BIN
      F3Enabler/.gradlex/checksums/sha1-checksums.bin
  27. 13 0
      F3Enabler/.gradlex/loom-cache/launch.cfg
  28. 62 0
      F3Enabler/.gradlex/loom-cache/log4j.xml
  29. 0 0
      F3Enabler/.gradlex/loom-cache/remapClasspath.txt
  30. 0 0
      F3Enabler/.gradlex/vcs-1/gc.properties
  31. 3 3
      F3Enabler/build.gradle
  32. 24 0
      F3Enabler/build.titties/classes/java/main/FThreeNabler-refmap.json
  33. 1 0
      F3Enabler/build.titties/loom-cache/mixin-map-1.16.4-1.16.4+build.7-v2.0.tiny
  34. 15 0
      F3Enabler/build.titties/resources/main/FThreeNabler.mixins.json
  35. 26 0
      F3Enabler/build.titties/resources/main/fabric.mod.json
  36. 8 0
      F3Enabler/build.titties/tmp/compileJava/source-classes-mapping.txt
  37. 2 0
      F3Enabler/build.titties/tmp/jar/MANIFEST.MF
  38. 2 0
      F3Enabler/build.titties/tmp/remapJar/MANIFEST.MF
  39. 2 0
      F3Enabler/build.titties/tmp/sourcesJar/MANIFEST.MF
  40. BIN
      F3Enabler/gradle/wrapper/gradle-wrapper.jar
  41. 1 1
      F3Enabler/gradle/wrapper/gradle-wrapper.properties
  42. 5 0
      SenaBitWiggler/src/dist/jailbreak/jailbreak.private.key
  43. 5 0
      SenaBitWiggler/src/dist/jailbreak/jailbreak.psr
  44. 5 0
      SenaBitWiggler/src/dist/jailbreak/jailbreak.public.key
  45. 15 21
      SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/EntryPoint.java
  46. 60 0
      SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/Jailbreaker.java
  47. 3 21
      SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/PromptHandlerSuite.java
  48. 22 0
      SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/Utils.java
  49. 3 0
      SenaBitWiggler/src/main/resources/PromptConfigs/50S.prompts.yml

BIN
F3Enabler/.gradlex/6.5.1/executionHistory/executionHistory.bin


BIN
F3Enabler/.gradlex/6.5.1/executionHistory/executionHistory.lock


BIN
F3Enabler/.gradlex/6.5.1/fileChanges/last-build.bin


BIN
F3Enabler/.gradlex/6.5.1/fileContent/annotation-processors.bin


BIN
F3Enabler/.gradlex/6.5.1/fileContent/fileContent.lock


BIN
F3Enabler/.gradlex/6.5.1/fileHashes/fileHashes.bin


BIN
F3Enabler/.gradlex/6.5.1/fileHashes/fileHashes.lock


BIN
F3Enabler/.gradlex/6.5.1/fileHashes/resourceHashesCache.bin


+ 0 - 0
F3Enabler/.gradlex/6.5.1/gc.properties


BIN
F3Enabler/.gradlex/6.5.1/javaCompile/classAnalysis.bin


BIN
F3Enabler/.gradlex/6.5.1/javaCompile/jarAnalysis.bin


BIN
F3Enabler/.gradlex/6.5.1/javaCompile/javaCompile.lock


BIN
F3Enabler/.gradlex/6.5.1/javaCompile/taskHistory.bin


BIN
F3Enabler/.gradlex/7.3.1/checksums/checksums.lock


BIN
F3Enabler/.gradlex/7.3.1/checksums/md5-checksums.bin


BIN
F3Enabler/.gradlex/7.3.1/checksums/sha1-checksums.bin


BIN
F3Enabler/.gradlex/7.3.1/dependencies-accessors/dependencies-accessors.lock


+ 0 - 0
F3Enabler/.gradlex/7.3.1/dependencies-accessors/gc.properties


BIN
F3Enabler/.gradlex/7.3.1/fileChanges/last-build.bin


BIN
F3Enabler/.gradlex/7.3.1/fileHashes/fileHashes.lock


+ 0 - 0
F3Enabler/.gradlex/7.3.1/gc.properties


BIN
F3Enabler/.gradlex/buildOutputCleanup/buildOutputCleanup.lock


+ 2 - 0
F3Enabler/.gradlex/buildOutputCleanup/cache.properties

@@ -0,0 +1,2 @@
+#Fri Jan 21 18:01:29 CET 2022
+gradle.version=7.3.1

BIN
F3Enabler/.gradlex/checksums/checksums.lock


BIN
F3Enabler/.gradlex/checksums/md5-checksums.bin


BIN
F3Enabler/.gradlex/checksums/sha1-checksums.bin


+ 13 - 0
F3Enabler/.gradlex/loom-cache/launch.cfg

@@ -0,0 +1,13 @@
+commonProperties
+	fabric.development=true
+	fabric.remapClasspathFile=Q:\iZinked\F3Enabler\.gradle\loom-cache\remapClasspath.txt
+	log4j.configurationFile=Q:\iZinked\F3Enabler\.gradle\loom-cache\log4j.xml
+	fabric.log.disableAnsi=false
+clientArgs
+	--assetIndex
+	1.16.4-1.16
+	--assetsDir
+	C:\Users\LH\.gradle\caches\fabric-loom\assets
+clientProperties
+	java.library.path=C:\Users\LH\.gradle\caches\fabric-loom\natives\1.16.4
+	org.lwjgl.librarypath=C:\Users\LH\.gradle\caches\fabric-loom\natives\1.16.4

+ 62 - 0
F3Enabler/.gradlex/loom-cache/log4j.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN" packages="com.mojang.util,net.minecrell.terminalconsole.util">
+	<Appenders>
+
+		<!--	System out	-->
+		<Console name="SysOut" target="SYSTEM_OUT">
+			<PatternLayout>
+				<LoggerNamePatternSelector defaultPattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(%logger{1})}{cyan} %highlight{%msg%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}" disableAnsi="${sys:fabric.log.disableAnsi:-true}">
+					<!-- Dont show the logger name for minecraft classes-->
+					<PatternMatch key="net.minecraft.,com.mojang." pattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(Minecraft)}{cyan} %highlight{%msg%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}"/>
+				</LoggerNamePatternSelector>
+			</PatternLayout>
+		</Console>
+
+		<!--	Vanilla server gui	-->
+		<Queue name="ServerGuiConsole" ignoreExceptions="true">
+			<PatternLayout>
+				<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss} %level] (%logger{1}) %msg%n">
+					<!-- Dont show the logger name for minecraft classes-->
+					<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss} %level] %msg%n"/>
+				</LoggerNamePatternSelector>
+			</PatternLayout>
+		</Queue>
+
+		<!--	latest.log same as vanilla	-->
+		<RollingRandomAccessFile name="LatestFile" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
+			<PatternLayout>
+				<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level] (%logger{1}) %msg%n">
+					<!-- Dont show the logger name for minecraft classes-->
+					<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss}] [%t/%level] (Minecraft) %msg%n"/>
+				</LoggerNamePatternSelector>
+			</PatternLayout>
+			<Policies>
+				<TimeBasedTriggeringPolicy />
+				<OnStartupTriggeringPolicy />
+			</Policies>
+		</RollingRandomAccessFile>
+
+		<!--	Debug log file	-->
+		<RollingRandomAccessFile name="DebugFile" fileName="logs/debug.log" filePattern="logs/debug-%i.log.gz">
+			<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level] (%logger) %msg%n" />
+
+			<!--	Keep 5 files max	-->
+			<DefaultRolloverStrategy max="5" fileIndex="min"/>
+
+			<Policies>
+				<SizeBasedTriggeringPolicy size="200MB"/>
+				<OnStartupTriggeringPolicy />
+			</Policies>
+
+		</RollingRandomAccessFile>
+	</Appenders>
+	<Loggers>
+		<Logger level="${sys:fabric.log.level:-info}" name="net.minecraft"/>
+		<Root level="all">
+			<AppenderRef ref="DebugFile" level="${sys:fabric.log.debug.level:-debug}"/>
+			<AppenderRef ref="SysOut" level="${sys:fabric.log.level:-info}"/>
+			<AppenderRef ref="LatestFile" level="${sys:fabric.log.level:-info}"/>
+			<AppenderRef ref="ServerGuiConsole" level="${sys:fabric.log.level:-info}"/>
+		</Root>
+	</Loggers>
+</Configuration>

File diff suppressed because it is too large
+ 0 - 0
F3Enabler/.gradlex/loom-cache/remapClasspath.txt


+ 0 - 0
F3Enabler/.gradlex/vcs-1/gc.properties


+ 3 - 3
F3Enabler/build.gradle

@@ -1,10 +1,10 @@
 plugins {
-    id 'fabric-loom' version '0.5-SNAPSHOT'
+    id 'fabric-loom' version '0.10-SNAPSHOT'
     id 'maven-publish'
 }
 
-sourceCompatibility = JavaVersion.VERSION_1_8
-targetCompatibility = JavaVersion.VERSION_1_8
+sourceCompatibility = JavaVersion.VERSION_17
+targetCompatibility = JavaVersion.VERSION_17
 
 archivesBaseName = project.archives_base_name
 version = project.mod_version

+ 24 - 0
F3Enabler/build.titties/classes/java/main/FThreeNabler-refmap.json

@@ -0,0 +1,24 @@
+{
+  "mappings": {
+    "de/nplusc/izc/fthreenabler/mixin/KeyboardMixin": {
+      "processF3(I)Z": "Lnet/minecraft/class_309;method_1468(I)Z",
+      "Lnet/minecraft/client/network/ClientPlayerEntity;hasPermissionLevel(I)Z": "Lnet/minecraft/class_746;method_5687(I)Z"
+    },
+    "de/nplusc/izc/fthreenabler/mixin/GamemodeScreenMixin": {
+      "apply(Lnet/minecraft/client/MinecraftClient;Ljava/util/Optional;)V": "Lnet/minecraft/class_5289;method_28064(Lnet/minecraft/class_310;Ljava/util/Optional;)V",
+      "Lnet/minecraft/client/network/ClientPlayerEntity;hasPermissionLevel(I)Z": "Lnet/minecraft/class_746;method_5687(I)Z"
+    }
+  },
+  "data": {
+    "named:intermediary": {
+      "de/nplusc/izc/fthreenabler/mixin/KeyboardMixin": {
+        "processF3(I)Z": "Lnet/minecraft/class_309;method_1468(I)Z",
+        "Lnet/minecraft/client/network/ClientPlayerEntity;hasPermissionLevel(I)Z": "Lnet/minecraft/class_746;method_5687(I)Z"
+      },
+      "de/nplusc/izc/fthreenabler/mixin/GamemodeScreenMixin": {
+        "apply(Lnet/minecraft/client/MinecraftClient;Ljava/util/Optional;)V": "Lnet/minecraft/class_5289;method_28064(Lnet/minecraft/class_310;Ljava/util/Optional;)V",
+        "Lnet/minecraft/client/network/ClientPlayerEntity;hasPermissionLevel(I)Z": "Lnet/minecraft/class_746;method_5687(I)Z"
+      }
+    }
+  }
+}

+ 1 - 0
F3Enabler/build.titties/loom-cache/mixin-map-1.16.4-1.16.4+build.7-v2.0.tiny

@@ -0,0 +1 @@
+v1	named	intermediary

+ 15 - 0
F3Enabler/build.titties/resources/main/FThreeNabler.mixins.json

@@ -0,0 +1,15 @@
+{
+  "required": true,
+  "minVersion": "0.8",
+  "package": "de.nplusc.izc.fthreenabler.mixin",
+  "compatibilityLevel": "JAVA_8",
+  "mixins": [
+  ],
+  "client": [
+    "GamemodeScreenMixin",
+    "KeyboardMixin"
+  ],
+  "injectors": {
+    "defaultRequire": 1
+  }
+}

+ 26 - 0
F3Enabler/build.titties/resources/main/fabric.mod.json

@@ -0,0 +1,26 @@
+{
+  "schemaVersion": 1,
+  "id": "fthreenabler",
+  "version": "1.0-SNAPSHOT",
+  "name": "FThreeNabler",
+  "description": "",
+  "authors": [],
+  "contact": {},
+  "license": "MIT",
+  "environment": "client",
+  "entrypoints": {
+    "client": [
+      "de.nplusc.izc.fthreenabler.client.FThreeNablerClient"
+    ],
+    "main": [
+      "de.nplusc.izc.fthreenabler.FThreeNabler"
+    ]
+  },
+  "mixins": [
+    "FThreeNabler.mixins.json"
+  ],
+  "depends": {
+    "fabricloader": ">=0.10.8",
+    "minecraft": ">=1.16"
+  }
+}

+ 8 - 0
F3Enabler/build.titties/tmp/compileJava/source-classes-mapping.txt

@@ -0,0 +1,8 @@
+de/nplusc/izc/fthreenabler/mixin/KeyboardMixin.java
+ de.nplusc.izc.fthreenabler.mixin.KeyboardMixin
+de/nplusc/izc/fthreenabler/FThreeNabler.java
+ de.nplusc.izc.fthreenabler.FThreeNabler
+de/nplusc/izc/fthreenabler/client/FThreeNablerClient.java
+ de.nplusc.izc.fthreenabler.client.FThreeNablerClient
+de/nplusc/izc/fthreenabler/mixin/GamemodeScreenMixin.java
+ de.nplusc.izc.fthreenabler.mixin.GamemodeScreenMixin

+ 2 - 0
F3Enabler/build.titties/tmp/jar/MANIFEST.MF

@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+

+ 2 - 0
F3Enabler/build.titties/tmp/remapJar/MANIFEST.MF

@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+

+ 2 - 0
F3Enabler/build.titties/tmp/sourcesJar/MANIFEST.MF

@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+

BIN
F3Enabler/gradle/wrapper/gradle-wrapper.jar


+ 1 - 1
F3Enabler/gradle/wrapper/gradle-wrapper.properties

@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

+ 5 - 0
SenaBitWiggler/src/dist/jailbreak/jailbreak.private.key

@@ -0,0 +1,5 @@
+@ b 1a06 16a2 b4a0 114c 2a62 72f8 e93c b537 666b 8d0 1043 bca1 ce65 de3a b2ff b3ef af5a 5c4a ae04 b6d3 33da a316 d1b5 c3d 2b 6f7c 178d 9e34 9018 b62 4d68 818a 5442 dc47 e0d1 acf3 456d 165e 6edb 8dc6 1196 d290 95bc fb5e d511 1d1c c440 d496 d379 10f1 31df 20f7 ca57 17c4 6fb3 edf0 b126 92e1 3726 7352 8845 5a6e 8893
+@ bec9 e883 6c3b 5d23 f6c 621 ea86 5174 a02 8c8b b841 3929 76bd ed04 8f97 a7d7 bd9e 39b1 749d 3e7 251e aa7d 30b5 9c70 5ce7 54a7 486 fb37 e47b 1faf b926 4544 c251 fe63 ca6a d13a 836d 6824 a18d a648 d4a9 1a61 3bd8 e09b f90d 3f9a 2bab 2660 bee2 bd36 996a cace b172 2f82 a3a7 a78c 64e8 89ba dc52 52b9 2cfb cc68 7a5 ccdd
+@ 4487
+@ 1373 e7ae cd90 7019 3d0b 274f 1e61 4f32 ccb9 be38 bb2d 5e96 2a49 596b 3af6 71fc 4c13 97fa 337d 2b9d 3998 c550 30b1 52b faf5 3d24 8d3d dec9 db5f b369 2d0b 4ebd a890 912d 38ba 7dfe 5cbc d379 2dd3 d9d8 8e1 9273 372e 797f ce78 cc96 be98 7840 7854 8184 4ed4 688c 9538 2453 6a95 4789 c426 bac bdd6 e828 34a2 9570 1538 87a
+@ 4137 177c 93c4 a2dc f093 f9de 1579 ae8b f5fd 7374 47be c6d6 8942 12fb 7068 5828 4261 c64e 8b62 fc18 dae1 5582 cf4a 638f a318 ab58 fb79 4c8 1b84 e050 46d9 babb 3dae 19c 3595 2ec5 7c92 97db 5e72 59b7 2b56 e59e c427 1f64 6f2 c065 d454 d99f 411d 42c9 6695 3531 4e8d d07d 5c58 5873 9b17 7645 23ad ad46 d304 3397 f85a 3322

+ 5 - 0
SenaBitWiggler/src/dist/jailbreak/jailbreak.psr

@@ -0,0 +1,5 @@
+&015e = ccdd 07a5 cc68 2cfb 52b9 dc52 89ba 64e8 a78c a3a7 2f82 b172 cace 996a bd36 bee2 2660 2bab 3f9a f90d e09b 3bd8 1a61 d4a9 a648 a18d 6824 836d d13a ca6a fe63 c251 
+&015f = 4544 b926 1faf e47b fb37 0486 54a7 5ce7 9c70 30b5 aa7d 251e 03e7 749d 39b1 bd9e a7d7 8f97 ed04 76bd 3929 b841 8c8b 0a02 5174 ea86 0621 0f6c 5d23 6c3b e883 bec9 
+&0160 = 4487
+&0161 = 087a 1538 9570 34a2 e828 bdd6 0bac c426 4789 6a95 2453 9538 688c 4ed4 8184 7854 7840 be98 cc96 ce78 797f 372e 9273 08e1 d9d8 2dd3 d379 5cbc 7dfe 38ba 912d a890 
+&0162 = 4ebd 2d0b b369 db5f dec9 8d3d 3d24 faf5 052b 30b1 c550 3998 2b9d 337d 97fa 4c13 71fc 3af6 596b 2a49 5e96 bb2d be38 ccb9 4f32 1e61 274f 3d0b 7019 cd90 e7ae 1373 

+ 5 - 0
SenaBitWiggler/src/dist/jailbreak/jailbreak.public.key

@@ -0,0 +1,5 @@
+@ 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+@ bec9 e883 6c3b 5d23 f6c 621 ea86 5174 a02 8c8b b841 3929 76bd ed04 8f97 a7d7 bd9e 39b1 749d 3e7 251e aa7d 30b5 9c70 5ce7 54a7 486 fb37 e47b 1faf b926 4544 c251 fe63 ca6a d13a 836d 6824 a18d a648 d4a9 1a61 3bd8 e09b f90d 3f9a 2bab 2660 bee2 bd36 996a cace b172 2f82 a3a7 a78c 64e8 89ba dc52 52b9 2cfb cc68 7a5 ccdd
+@ 4487
+@ 1373 e7ae cd90 7019 3d0b 274f 1e61 4f32 ccb9 be38 bb2d 5e96 2a49 596b 3af6 71fc 4c13 97fa 337d 2b9d 3998 c550 30b1 52b faf5 3d24 8d3d dec9 db5f b369 2d0b 4ebd a890 912d 38ba 7dfe 5cbc d379 2dd3 d9d8 8e1 9273 372e 797f ce78 cc96 be98 7840 7854 8184 4ed4 688c 9538 2453 6a95 4789 c426 bac bdd6 e828 34a2 9570 1538 87a
+@ 4137 177c 93c4 a2dc f093 f9de 1579 ae8b f5fd 7374 47be c6d6 8942 12fb 7068 5828 4261 c64e 8b62 fc18 dae1 5582 cf4a 638f a318 ab58 fb79 4c8 1b84 e050 46d9 babb 3dae 19c 3595 2ec5 7c92 97db 5e72 59b7 2b56 e59e c427 1f64 6f2 c065 d454 d99f 411d 42c9 6695 3531 4e8d d07d 5c58 5873 9b17 7645 23ad ad46 d304 3397 f85a 3322

+ 15 - 21
SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/EntryPoint.java

@@ -8,9 +8,10 @@ import picocli.CommandLine.Command;
 import picocli.CommandLine.Option;
 import picocli.CommandLine.Parameters;
 
+@Command(mixinStandardHelpOptions = true, version = "Sena Firmware Hacking Utiility")
 public class EntryPoint implements Runnable
 {
-    @Parameters(index = "0", description = "The file whose checksum to calculate.")
+    @Parameters(index = "0", description = "Mode for the Program. Valid values: ${COMPLETION-CANDIDATES}")
     private Modes mode;
 
 
@@ -70,25 +71,6 @@ public class EntryPoint implements Runnable
         cl.execute(args);
     }
 
-
-
-
-
-    private static void printUsage()
-    {
-        System.out.println("Usage:");
-        System.out.println("program MODE VARIANT FILE FOLDER");
-        System.out.println("DIRECTION: extract, import, extractVM, importVM");
-        System.out.println("extract: Extracts a Sena Firmware image");
-        System.out.println("Import: Imports a Sena Firmware Image");
-        System.out.println("extractvm Extracts a BlueCore exe-file");
-        System.out.println("importvm Reglues a BlueCore exe-file");
-        System.out.println("Variant: short OR long");
-        System.out.println("only long supported so far. short header needs more information");
-
-    }
-
-
     @Override
     public void run() {
         //TODO check and init config file
@@ -129,6 +111,15 @@ public class EntryPoint implements Runnable
                     e.printStackTrace();
                 }
                 break;
+            case Jailbreak:
+                Jailbreaker.jailbreak();
+                break;
+            case DumpFlashes:
+                Jailbreaker.dumpFlash(input.getName(),output);
+                break;
+            case ResignDFU:
+                Jailbreaker.resignDFU(input.getPath(),output);
+                break;
         }
     }
 }
@@ -141,7 +132,10 @@ enum Modes
     ImportVMImage,
     DisassembleXAP,
     ExtractForPrompts,
-    ReassembleForPrompts
+    ReassembleForPrompts,
+    Jailbreak,
+    DumpFlashes,
+    ResignDFU
 }
 
 // http://www.tinyosshop.com/download/ADK_CSR867x.WIN4.3.1.5.zip für die tools

+ 60 - 0
SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/Jailbreaker.java

@@ -0,0 +1,60 @@
+package de.nplusc.izc.senabitwiggler;
+
+import java.io.File;
+import java.io.IOException;
+
+public class Jailbreaker {
+
+    private static String nvscmd = EntryPoint.BlueLabPath+"nvscmd";
+    private static String pscli = EntryPoint.BlueLabPath+"pscli";
+
+    private static String dfuunbuild = EntryPoint.BlueLabPath+"dfuunbuild";
+    private static String dfubuild = EntryPoint.BlueLabPath+"dfubuild";
+    private static String dfusign = EntryPoint.BlueLabPath+"dfusign";
+
+    public static void dumpFlash(String file, File folder)
+    {
+        folder.mkdirs();
+        File internaldump = new File(folder,file+"internal.xuv");
+        File externaldump = new File(folder,file+"external.xuv");
+        File externalpartitioned = new File(folder,file+"external.ptn");
+        File psr = new File(folder,file+"psr");
+        try {
+            Utils.runTool(nvscmd,"-nvstype","int","dump",internaldump.getPath());
+            Utils.runTool(nvscmd,"dump",externaldump.getPath());
+            Utils.runTool(nvscmd,"dump",externalpartitioned.getPath());
+            Utils.runTool(pscli,"dump",psr.getPath());
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void jailbreak()
+    {
+        try {
+            Utils.runTool(pscli,"merge",EntryPoint.APPDIR+File.separator+"jailbreak"+File.separator+"jailbreak.psr");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void resignDFU(String file, File outputFolder)
+    {
+        File scratch = new File(outputFolder,"temp");
+        scratch.mkdirs();
+        String dfuinput = new File(file).getAbsolutePath();
+        String dfuname = new File(file).getName();
+        String dfuout = new File(outputFolder,dfuname).getAbsolutePath();
+        try {
+            Utils.runTool(scratch,dfuunbuild,"-v","-f",dfuinput,"-o","extracted");
+            Utils.runTool(scratch,dfusign,"-v", "-o","extracted0000signed.fs","-h","extracted0000.fs", "-ka",EntryPoint.APPDIR+File.separator+"jailbreak"+File.separator+"jailbreak.private.key");
+            File oldfs = new File(scratch,"extracted0000.fs");
+            oldfs.delete();
+            File newfs = new File(scratch,"extracted0000signed.fs");
+            newfs.renameTo(oldfs);
+            Utils.runTool(scratch,dfubuild,"-c","extracted.cl","-f",dfuout);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 3 - 21
SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/PromptHandlerSuite.java

@@ -11,6 +11,9 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
 
+//lazy compat hack after refactor
+import static de.nplusc.izc.senabitwiggler.Utils.runTool;
+
 public class PromptHandlerSuite {
     public static void handlePrompts(File firmware, File outfolder, String headsetid,boolean deep) throws InputInvalidException {
         URL rsrc = EntryPoint.class.getResource("/PromptConfigs/"+headsetid+".prompts.yml");
@@ -234,26 +237,5 @@ public class PromptHandlerSuite {
     }
 
 
-    private static void runTool(String... args) throws IOException {
-
-        runTool(null,args);
-    }
-
-
 
-    private static void runTool(File workdir, String... args) throws IOException {
-        ProcessBuilder pb = new ProcessBuilder();
-        pb.command(args);
-        if(workdir !=null&&workdir.isDirectory())
-        {
-            pb.directory(workdir);
-        }
-        pb.inheritIO();
-        Process runme = pb.start();
-        try {
-            runme.waitFor();
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-    }
 }

+ 22 - 0
SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/Utils.java

@@ -53,6 +53,28 @@ public class Utils {
         return xorsum;
     }
 
+    public static void runTool(String... args) throws IOException {
+
+        runTool(null,args);
+    }
+
+
+
+    public static void runTool(File workdir, String... args) throws IOException {
+        ProcessBuilder pb = new ProcessBuilder();
+        pb.command(args);
+        if(workdir !=null&&workdir.isDirectory())
+        {
+            pb.directory(workdir);
+        }
+        pb.inheritIO();
+        Process runme = pb.start();
+        try {
+            runme.waitFor();
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+    }
 
 
 }

+ 3 - 0
SenaBitWiggler/src/main/resources/PromptConfigs/50S.prompts.yml

@@ -0,0 +1,3 @@
+file: "vp.bin"
+ALL: "PCM"
+maincpu: "Sena_50S_BT.dfu"

Some files were not shown because too many files changed in this diff