flow.d2 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. direction: down
  2. Start: {
  3. Ird: libray -i encrypted.iso -d game.ird
  4. Manual: libray -i encrypted.iso -d supplied_key
  5. Automatic: libray -i encrypted.iso
  6. Info: libray -i game.iso --info
  7. }
  8. End: {
  9. Dead: { shape: circle }
  10. Success?: { shape: circle }
  11. }
  12. PrintInfo: Print info about .iso
  13. Start.Info -> PrintInfo
  14. Process: decrypt or re-encrypt
  15. VerifyIrd: Verify \n title ID { shape: diamond }
  16. Key: "" {
  17. NoVerify: No verification, \n use given key
  18. IrdKey: Use .ird key
  19. UseBundled: Use bundled key
  20. UseSelected: Use selected key
  21. }
  22. Start.Manual -> Key.NoVerify -> Process -> End.Success?
  23. Start.Ird -> VerifyIrd
  24. VerifyIrd -> End.Dead: Wrong ID
  25. VerifyIrd -> Key.IrdKey: Same ID in .ird and .iso
  26. Key.IrdKey -> Process
  27. Bundled: "" {
  28. CheckIrd: Check for \n bundled .ird { shape: diamond }
  29. CheckKeys: Check for \n bundled key { shape: diamond }
  30. Size: Size { shape: diamond }
  31. SCN: Size \n Country \n Name { shape: diamond }
  32. Choose: Let user \n Choose { shape: diamond }
  33. CheckKeys -> Size
  34. Size -> SCN: Multiple keys
  35. SCN -> Choose: Multiple keys
  36. }
  37. Net: "" {
  38. Search: Search for .ird online with title ID
  39. Jonny: jonnysp { shape: diamond }
  40. Aldos: aldostools { shape: diamond }
  41. }
  42. Bundled.Size -> Key.UseBundled: Single key
  43. Bundled.SCN -> Key.UseBundled: Single key
  44. Bundled.Choose -> Key.UseSelected
  45. Bundled.SCN -> Net.Search: No keys
  46. Key.UseSelected -> Process
  47. Key.UseBundled -> Process
  48. Bundled.Choose -> Net.Search: Not opted in \n None selected
  49. Start.Automatic -> Bundled.CheckIrd
  50. Bundled.CheckIrd -> Key.IrdKey: Title ID Match
  51. Bundled.CheckIrd -> Bundled.CheckKeys: No keys / No match
  52. Bundled.CheckKeys -> Net.Search: No keys
  53. Net.Search -> Net.Jonny
  54. Net.Jonny -> Net.Aldos: no .ird / \n is down
  55. Net.Aldos -> End.Dead: no .ird
  56. Net.Jonny -> Key.IrdKey: .ird found
  57. Net.Aldos -> Key.IrdKey: .ird found