pwn 0.4.480 → 0.4.481
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.md +2 -2
- data/lib/pwn/plugins/msr206.rb +74 -43
- data/lib/pwn/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9982a0cc0ec0ac9abb6f30e3bdb8cfb48328e69683ca48824381133ad235edf1
|
4
|
+
data.tar.gz: e0d25785cb24747d2593e622c3338fd37d27bc711bc18577cecd16b71d9ad48a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f956e5a528a46aafdc929ff4cc6836423b510d6103bf985193491b1a9c08d69c34da582a1f2aa172d9d9265def2789927f623d9d37b117670242f1f03b613c3a
|
7
|
+
data.tar.gz: 26c61de702fb0f1e6047afb53ba36f64f83c331c78553d7c038134a7891d66c682454074207f7a8516e221e66f281d7a0c1a596ae1fc2239171abc02ba076ef3
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.2@pwn
|
|
37
37
|
$ rvm list gemsets
|
38
38
|
$ gem install --verbose pwn
|
39
39
|
$ pwn
|
40
|
-
pwn[v0.4.
|
40
|
+
pwn[v0.4.481]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[](https://youtu.be/G7iLUY4FzsI)
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.1.2@pwn
|
|
52
52
|
$ gem uninstall --all --executables pwn
|
53
53
|
$ gem install --verbose pwn
|
54
54
|
$ pwn
|
55
|
-
pwn[v0.4.
|
55
|
+
pwn[v0.4.481]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
|
data/lib/pwn/plugins/msr206.rb
CHANGED
@@ -662,6 +662,7 @@ module PWN
|
|
662
662
|
params: [param]
|
663
663
|
)
|
664
664
|
exec_resp[:encoding] = encoding
|
665
|
+
exec_resp[:track_format] = [param]
|
665
666
|
puts exec_resp[:decoded]
|
666
667
|
puts exec_resp.inspect
|
667
668
|
track_data_arr.push(exec_resp)
|
@@ -687,17 +688,20 @@ module PWN
|
|
687
688
|
params: [param]
|
688
689
|
)
|
689
690
|
exec_resp[:encoding] = encoding
|
691
|
+
exec_resp[:track_format] = [param]
|
690
692
|
puts exec_resp[:decoded]
|
691
693
|
puts exec_resp.inspect
|
692
694
|
track_data_arr.push(exec_resp)
|
693
695
|
|
694
696
|
# 3 byte command
|
697
|
+
param = [0x5f] + [param]
|
695
698
|
exec_resp = exec(
|
696
699
|
msr206_obj: msr206_obj,
|
697
700
|
cmd: cmd,
|
698
|
-
params:
|
701
|
+
params: param
|
699
702
|
)
|
700
703
|
exec_resp[:encoding] = encoding
|
704
|
+
exec_resp[:track_format] = param
|
701
705
|
puts exec_resp[:decoded]
|
702
706
|
puts exec_resp.inspect
|
703
707
|
track_data_arr.push(exec_resp)
|
@@ -708,6 +712,9 @@ module PWN
|
|
708
712
|
:arm_to_write_with_raw,
|
709
713
|
:arm_to_write_with_raw_speed_prompts
|
710
714
|
|
715
|
+
# TODO: Set Write Density for Tracks Here
|
716
|
+
# >>>
|
717
|
+
|
711
718
|
if encoding == :iso
|
712
719
|
cmds_arr = %i[
|
713
720
|
load_iso_std_data_for_writing_track1
|
@@ -715,6 +722,37 @@ module PWN
|
|
715
722
|
load_iso_std_data_for_writing_track3
|
716
723
|
]
|
717
724
|
|
725
|
+
# TODO: Get Data by cmd (e.g. load_iso_std_data_for_writing_track1)
|
726
|
+
cmds_arr.each_with_index do |cmd, track|
|
727
|
+
puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
|
728
|
+
puts track_data[track][:decoded]
|
729
|
+
next if track_data[track][:decoded] == '+'
|
730
|
+
|
731
|
+
this_track = track_data[track][:decoded].chars.map do |c|
|
732
|
+
c.unpack1('H*').to_i(16)
|
733
|
+
end
|
734
|
+
track_eot = [0x04]
|
735
|
+
track_payload = this_track + track_eot
|
736
|
+
puts track_payload.inspect
|
737
|
+
exec_resp = exec(
|
738
|
+
msr206_obj: msr206_obj,
|
739
|
+
cmd: cmd,
|
740
|
+
params: track_payload
|
741
|
+
)
|
742
|
+
exec_resp[:encoding] = encoding
|
743
|
+
puts exec_resp.inspect
|
744
|
+
track_data_arr.push(exec_resp)
|
745
|
+
end
|
746
|
+
end
|
747
|
+
|
748
|
+
if encoding == :iso_alt
|
749
|
+
cmds_arr = %i[
|
750
|
+
alt_load_iso_std_data_for_writing_track1
|
751
|
+
alt_load_iso_std_data_for_writing_track2
|
752
|
+
alt_load_iso_std_data_for_writing_track3
|
753
|
+
]
|
754
|
+
|
755
|
+
# TODO: Get Data by cmd (e.g. alt_load_iso_std_data_for_writing_track1)
|
718
756
|
cmds_arr.each_with_index do |cmd, track|
|
719
757
|
puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
|
720
758
|
puts track_data[track][:decoded]
|
@@ -723,12 +761,14 @@ module PWN
|
|
723
761
|
this_track = track_data[track][:decoded].chars.map do |c|
|
724
762
|
c.unpack1('H*').to_i(16)
|
725
763
|
end
|
726
|
-
|
727
|
-
|
764
|
+
track_format = track_data[track][:track_format]
|
765
|
+
track_eot = [0x04]
|
766
|
+
track_payload = track_format + this_track + track_eot
|
767
|
+
puts track_payload.inspect
|
728
768
|
exec_resp = exec(
|
729
769
|
msr206_obj: msr206_obj,
|
730
770
|
cmd: cmd,
|
731
|
-
params:
|
771
|
+
params: track_payload
|
732
772
|
)
|
733
773
|
exec_resp[:encoding] = encoding
|
734
774
|
puts exec_resp.inspect
|
@@ -736,45 +776,36 @@ module PWN
|
|
736
776
|
end
|
737
777
|
end
|
738
778
|
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
# msr206_obj: msr206_obj,
|
770
|
-
# cmd: cmd
|
771
|
-
# )
|
772
|
-
# exec_resp[:encoding] = encoding
|
773
|
-
# puts exec_resp[:decoded]
|
774
|
-
# puts exec_resp.inspect
|
775
|
-
# track_data_arr.push(exec_resp)
|
776
|
-
# end
|
777
|
-
# end
|
779
|
+
if encoding == :raw
|
780
|
+
cmds_arr = %i[
|
781
|
+
load_custom_data_for_writing_track1
|
782
|
+
load_custom_data_for_writing_track2
|
783
|
+
load_custom_data_for_writing_track3
|
784
|
+
]
|
785
|
+
|
786
|
+
# TODO: Get Data by cmd (e.g. load_custom_data_for_writing_track1)
|
787
|
+
cmds_arr.each_with_index do |cmd, track|
|
788
|
+
puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
|
789
|
+
puts track_data[track][:decoded]
|
790
|
+
next if track_data[track][:decoded] == '+'
|
791
|
+
|
792
|
+
this_track = track_data[track][:decoded].chars.map do |c|
|
793
|
+
c.unpack1('H*').to_i(16)
|
794
|
+
end
|
795
|
+
track_format = track_data[track][:track_format]
|
796
|
+
track_eot = [0x04]
|
797
|
+
track_payload = track_format + this_track + track_eot
|
798
|
+
puts track_payload.inspect
|
799
|
+
exec_resp = exec(
|
800
|
+
msr206_obj: msr206_obj,
|
801
|
+
cmd: cmd,
|
802
|
+
params: track_payload
|
803
|
+
)
|
804
|
+
exec_resp[:encoding] = encoding
|
805
|
+
puts exec_resp.inspect
|
806
|
+
track_data_arr.push(exec_resp)
|
807
|
+
end
|
808
|
+
end
|
778
809
|
|
779
810
|
exec_resp = PWN::Plugins::MSR206.exec(
|
780
811
|
msr206_obj: msr206_obj,
|
data/lib/pwn/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pwn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.481
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
@@ -310,14 +310,14 @@ dependencies:
|
|
310
310
|
requirements:
|
311
311
|
- - '='
|
312
312
|
- !ruby/object:Gem::Version
|
313
|
-
version: 2.4.
|
313
|
+
version: 2.4.1
|
314
314
|
type: :runtime
|
315
315
|
prerelease: false
|
316
316
|
version_requirements: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
318
|
- - '='
|
319
319
|
- !ruby/object:Gem::Version
|
320
|
-
version: 2.4.
|
320
|
+
version: 2.4.1
|
321
321
|
- !ruby/object:Gem::Dependency
|
322
322
|
name: luhn
|
323
323
|
requirement: !ruby/object:Gem::Requirement
|