瀏覽代碼

Resync and a idiot fix

LH 3 年之前
父節點
當前提交
d0c214c57c

+ 6 - 2
QuickStuff/src/main/java/QuickVerifyCrap/PWNaFirmwareGrabScriptGenerator.java

@@ -2,6 +2,7 @@ package QuickVerifyCrap;
 
 import java.io.*;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 
 public class PWNaFirmwareGrabScriptGenerator {
@@ -11,6 +12,7 @@ public class PWNaFirmwareGrabScriptGenerator {
         String fwline = br.readLine();
         BufferedWriter w = new BufferedWriter(new FileWriter("Q:\\LOA\\000013\\S30-FW\\firmwarehunt.txt"));
         w.write("#!/bin/bash\n");
+        HashSet<String> linesAdded = new HashSet<>();
         while(fwline!=null)
         {
             System.out.println(fwline);
@@ -63,10 +65,12 @@ public class PWNaFirmwareGrabScriptGenerator {
                     for (String innerline:synthesized)
                     {
                         String newline = "wget -nc  https://firmware.sena.com/senabluetoothmanager/"+magic[0]+innerline+suffix;
-                        if(fuckingoddity)
+                        if(!linesAdded.contains(newline))
                         {
+                            w.write(newline+"\n");
+                            linesAdded.add(newline);
                         }
-                        w.write(newline+"\n");
+
                     }
                 }
             }

+ 1 - 1
SenaBitWiggler/src/dist/devices/10S.device.yml

@@ -19,4 +19,4 @@ ALL: "PCM"
 "53": "IMA"
 "58": "IMA"
 maincpu: "10S.img"
-manufacturer:"Sena"
+manufacturer: "Sena"

+ 2 - 2
SenaBitWiggler/src/dist/devices/50S.device.yml

@@ -1,5 +1,5 @@
 file: "vp.bin"
 ALL: "PCM"
 maincpu: "Sena_50S_BT.dfu"
-experimental:true
-manufacturer:"Sena"
+experimental: true
+manufacturer: "Sena"

+ 1 - 1
SenaBitWiggler/src/dist/devices/SRL2.device.yml

@@ -2,4 +2,4 @@ ALL: "PCM"
 file: "vp.bin"
 maincpu: "SRL2_M0.img"
 auxcpu: "SRL2_M1.img"
-manufacturer:"Sena"
+manufacturer: "Sena"

+ 2 - 1
SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/FirmwareWrapperExtraction.java

@@ -116,10 +116,11 @@ public class FirmwareWrapperExtraction {
             f.read(magic);
 
             hdr.setMagicShit(Longs.fromBytes(filler,filler,filler,filler,magic[3],magic[2],magic[1],magic[0]));
+            // magic[] = {0x19,0x28,0xc5,0xe6}
 
             byte[] unknown_id = new byte[4];
 
-            f.read(unknown_id);
+            f.read(unknown_id); //product id
 
             hdr.setRandom_id(Longs.fromBytes(filler,filler,filler,filler,unknown_id[3],unknown_id[2],unknown_id[1],unknown_id[0]));
 

+ 18 - 32
SenaBitWiggler/src/main/java/de/nplusc/izc/senabitwiggler/PromptHandlerSuite.java

@@ -16,26 +16,18 @@ 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");
-        if(rsrc==null)
+        String devicefile = EntryPoint.APPDIR+File.separator+"devices"+File.separator+headsetid+".device.yml";
+        if(!(new File(devicefile).exists()))
         {
-            URL url = EntryPoint.class.getResource("/PromptConfigs/");
-            // HAXX
-            EntryPoint.class.getResourceAsStream("/PromptConfigs/");
-            Path path = null;
-            try {
-                path = Paths.get(url.toURI());
-            } catch (URISyntaxException e) {
-                e.printStackTrace();
-            }
+            File f =  new File(EntryPoint.APPDIR+File.separator+"devices");
             System.out.println("Invalid Headset reference: Valid values are");
             try {
-                Files.walk(path, 1).forEach(p ->
+                Files.walk(f.toPath(), 1).forEach(p ->
                 {
                     String fn = p.getFileName().toString();
-                    if(fn.endsWith(".prompts.yml"))
+                    if(fn.endsWith(".device.yml"))
                     {
-                        System.out.println(fn.replace(".prompts.yml",""));
+                        System.out.println(fn.replace(".device.yml",""));
                     }
                 });
             } catch (IOException e) {
@@ -63,8 +55,8 @@ public class PromptHandlerSuite {
 
 
 
-        try (InputStream in = EntryPoint.class.getResourceAsStream("/PromptConfigs/"+headsetid+".prompts.yml");
-            BufferedReader reader = new BufferedReader(new InputStreamReader(in))) {
+        try (BufferedReader reader = new BufferedReader(new FileReader(devicefile)))
+        {
             HashMap<String,String> config = (HashMap<String, String>) new Yaml().load(reader);
             String file = config.get("file");
             File xuvin = new File(SenaUnwrap,file);
@@ -137,24 +129,18 @@ public class PromptHandlerSuite {
 
     public static void assembleWithNewPrompts(File firmware, File outfolder, String headsetid) throws InputInvalidException {
         {
-            URL rsrc = EntryPoint.class.getResource("/PromptConfigs/" + headsetid + ".prompts.yml");
-            if (rsrc == null) {
-                URL url = EntryPoint.class.getResource("/PromptConfigs/");
-                // HAXX
-                EntryPoint.class.getResourceAsStream("/PromptConfigs/");
-                Path path = null;
-                try {
-                    path = Paths.get(url.toURI());
-                } catch (URISyntaxException e) {
-                    e.printStackTrace();
-                }
+            String devicefile = EntryPoint.APPDIR+File.separator+"devices"+File.separator+headsetid+".device.yml";
+            if(!(new File(devicefile).exists()))
+            {
+                File f =  new File(EntryPoint.APPDIR+File.separator+"devices");
                 System.out.println("Invalid Headset reference: Valid values are");
                 try {
-                    Files.walk(path, 1).forEach(p ->
+                    Files.walk(f.toPath(), 1).forEach(p ->
                     {
                         String fn = p.getFileName().toString();
-                        if (fn.endsWith(".prompts.yml")) {
-                            System.out.println(fn.replace(".prompts.yml", ""));
+                        if(fn.endsWith(".device.yml"))
+                        {
+                            System.out.println(fn.replace(".device.yml",""));
                         }
                     });
                 } catch (IOException e) {
@@ -179,8 +165,8 @@ public class PromptHandlerSuite {
 
 
 
-            try (InputStream in = EntryPoint.class.getResourceAsStream("/PromptConfigs/"+headsetid+".prompts.yml");
-                BufferedReader reader = new BufferedReader(new InputStreamReader(in))) {
+            try (
+                BufferedReader reader = new BufferedReader(new FileReader(devicefile))) {
                 HashMap<String,String> config = (HashMap<String, String>) new Yaml().load(reader);
                 String file = config.get("file");
                 File xuvin = new File(SenaUnwrap,file);