smcutil 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.idea/workspace.xml +94 -72
- data/exe/smcutil +43 -7
- data/lib/smcutil/file_extractor.rb +3 -10
- data/lib/smcutil/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1123a5675b914e96a1d506894878b2f8b4ee56f5
|
4
|
+
data.tar.gz: c675623d045542fad367ef37ed13c9afcb788e03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b265f393229b443c465f6e9e03b9b1c6445f8aae1248d4c3ceb0a8290efa0a5bb7eda235fe8267fe6443ef27ab0084e5283f30eec7ed00e024d42521e4faa1c4
|
7
|
+
data.tar.gz: 2c1e9557f175d3fb336f1ce822d7f121c36130cb15108c89f8c06a6cdc7a82f5ca2e774aeb8e763722a7697e1887744d66ea08f8e3538be21e7e02f923f7bc8b
|
data/.gitignore
CHANGED
data/.idea/workspace.xml
CHANGED
@@ -7,11 +7,11 @@
|
|
7
7
|
</component>
|
8
8
|
<component name="ChangeListManager">
|
9
9
|
<list default="true" id="79f8e064-6b6b-45b7-a43f-11c6b4aaa82e" name="Default" comment="">
|
10
|
-
<change type="DELETED" beforePath="$PROJECT_DIR$/smcutil-0.1.0.gem" afterPath="" />
|
11
10
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
12
|
-
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
|
13
11
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/exe/smcutil" afterPath="$PROJECT_DIR$/exe/smcutil" />
|
12
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/smcutil/file_extractor.rb" afterPath="$PROJECT_DIR$/lib/smcutil/file_extractor.rb" />
|
14
13
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/smcutil/version.rb" afterPath="$PROJECT_DIR$/lib/smcutil/version.rb" />
|
14
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/smcutil/file_extractor_spec.rb" afterPath="$PROJECT_DIR$/spec/smcutil/file_extractor_spec.rb" />
|
15
15
|
</list>
|
16
16
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
17
17
|
<option name="TRACKING_ENABLED" value="true" />
|
@@ -21,25 +21,15 @@
|
|
21
21
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
22
22
|
</component>
|
23
23
|
<component name="CoverageDataManager">
|
24
|
-
<SUITE FILE_PATH="coverage/smcutil@Rake__spec.coverage" NAME="Rake: spec Coverage Results" MODIFIED="
|
24
|
+
<SUITE FILE_PATH="coverage/smcutil@Rake__spec.coverage" NAME="Rake: spec Coverage Results" MODIFIED="1507773960688" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="smcutil" />
|
25
25
|
</component>
|
26
26
|
<component name="FileEditorManager">
|
27
27
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
28
|
-
<file leaf-file-name="file_extractor.rb" pinned="false" current-in-tab="false">
|
29
|
-
<entry file="file://$PROJECT_DIR$/lib/smcutil/file_extractor.rb">
|
30
|
-
<provider selected="true" editor-type-id="text-editor">
|
31
|
-
<state relative-caret-position="0">
|
32
|
-
<caret line="24" column="3" lean-forward="false" selection-start-line="24" selection-start-column="3" selection-end-line="24" selection-end-column="3" />
|
33
|
-
<folding />
|
34
|
-
</state>
|
35
|
-
</provider>
|
36
|
-
</entry>
|
37
|
-
</file>
|
38
28
|
<file leaf-file-name="smcutil" pinned="false" current-in-tab="false">
|
39
29
|
<entry file="file://$PROJECT_DIR$/exe/smcutil">
|
40
30
|
<provider selected="true" editor-type-id="text-editor">
|
41
|
-
<state relative-caret-position="
|
42
|
-
<caret line="
|
31
|
+
<state relative-caret-position="353">
|
32
|
+
<caret line="52" column="44" lean-forward="false" selection-start-line="52" selection-start-column="44" selection-end-line="52" selection-end-column="44" />
|
43
33
|
<folding />
|
44
34
|
</state>
|
45
35
|
</provider>
|
@@ -58,18 +48,18 @@
|
|
58
48
|
<file leaf-file-name="version.rb" pinned="false" current-in-tab="true">
|
59
49
|
<entry file="file://$PROJECT_DIR$/lib/smcutil/version.rb">
|
60
50
|
<provider selected="true" editor-type-id="text-editor">
|
61
|
-
<state relative-caret-position="
|
62
|
-
<caret line="
|
51
|
+
<state relative-caret-position="45">
|
52
|
+
<caret line="3" column="0" lean-forward="true" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
|
63
53
|
<folding />
|
64
54
|
</state>
|
65
55
|
</provider>
|
66
56
|
</entry>
|
67
57
|
</file>
|
68
|
-
<file leaf-file-name="
|
69
|
-
<entry file="file://$PROJECT_DIR$/spec/
|
58
|
+
<file leaf-file-name="flasher_base.smc" pinned="false" current-in-tab="false">
|
59
|
+
<entry file="file://$PROJECT_DIR$/spec/fixtures/flasher_base.smc">
|
70
60
|
<provider selected="true" editor-type-id="text-editor">
|
71
|
-
<state relative-caret-position="
|
72
|
-
<caret line="
|
61
|
+
<state relative-caret-position="-10920">
|
62
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
73
63
|
<folding />
|
74
64
|
</state>
|
75
65
|
</provider>
|
@@ -88,8 +78,28 @@
|
|
88
78
|
<file leaf-file-name="file_extractor_spec.rb" pinned="false" current-in-tab="false">
|
89
79
|
<entry file="file://$PROJECT_DIR$/spec/smcutil/file_extractor_spec.rb">
|
90
80
|
<provider selected="true" editor-type-id="text-editor">
|
91
|
-
<state relative-caret-position="
|
92
|
-
<caret line="
|
81
|
+
<state relative-caret-position="270">
|
82
|
+
<caret line="18" column="3" lean-forward="true" selection-start-line="18" selection-start-column="3" selection-end-line="18" selection-end-column="3" />
|
83
|
+
<folding />
|
84
|
+
</state>
|
85
|
+
</provider>
|
86
|
+
</entry>
|
87
|
+
</file>
|
88
|
+
<file leaf-file-name="file_reader.rb" pinned="false" current-in-tab="false">
|
89
|
+
<entry file="file://$PROJECT_DIR$/lib/smcutil/file_reader.rb">
|
90
|
+
<provider selected="true" editor-type-id="text-editor">
|
91
|
+
<state relative-caret-position="120">
|
92
|
+
<caret line="8" column="0" lean-forward="false" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
|
93
|
+
<folding />
|
94
|
+
</state>
|
95
|
+
</provider>
|
96
|
+
</entry>
|
97
|
+
</file>
|
98
|
+
<file leaf-file-name="smcutil.rb" pinned="false" current-in-tab="false">
|
99
|
+
<entry file="file://$PROJECT_DIR$/lib/smcutil.rb">
|
100
|
+
<provider selected="true" editor-type-id="text-editor">
|
101
|
+
<state relative-caret-position="75">
|
102
|
+
<caret line="5" column="51" lean-forward="false" selection-start-line="5" selection-start-column="51" selection-end-line="5" selection-end-column="51" />
|
93
103
|
<folding />
|
94
104
|
</state>
|
95
105
|
</provider>
|
@@ -125,11 +135,11 @@
|
|
125
135
|
<option value="$PROJECT_DIR$/spec/smcutil/file_validator_spec.rb" />
|
126
136
|
<option value="$PROJECT_DIR$/spec/fixtures/flasher_base_checksum.smc" />
|
127
137
|
<option value="$PROJECT_DIR$/lib/smcutil.rb" />
|
128
|
-
<option value="$PROJECT_DIR$/spec/smcutil/file_extractor_spec.rb" />
|
129
138
|
<option value="$PROJECT_DIR$/lib/smcutil/file_reader.rb" />
|
139
|
+
<option value="$PROJECT_DIR$/README.md" />
|
130
140
|
<option value="$PROJECT_DIR$/lib/smcutil/file_extractor.rb" />
|
141
|
+
<option value="$PROJECT_DIR$/spec/smcutil/file_extractor_spec.rb" />
|
131
142
|
<option value="$PROJECT_DIR$/exe/smcutil" />
|
132
|
-
<option value="$PROJECT_DIR$/README.md" />
|
133
143
|
<option value="$PROJECT_DIR$/lib/smcutil/version.rb" />
|
134
144
|
</list>
|
135
145
|
</option>
|
@@ -275,44 +285,44 @@
|
|
275
285
|
<updated>1507637323942</updated>
|
276
286
|
<workItem from="1507637325399" duration="2380000" />
|
277
287
|
<workItem from="1507706458195" duration="11326000" />
|
278
|
-
<workItem from="1507771477082" duration="
|
288
|
+
<workItem from="1507771477082" duration="2423000" />
|
279
289
|
</task>
|
280
290
|
<servers />
|
281
291
|
</component>
|
282
292
|
<component name="TestHistory">
|
283
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
293
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 00m 38s.xml">
|
284
294
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
285
295
|
</history-entry>
|
286
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
296
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 01m 03s.xml">
|
287
297
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
288
298
|
</history-entry>
|
289
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
299
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 01m 18s.xml">
|
290
300
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
291
301
|
</history-entry>
|
292
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
302
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 01m 21s.xml">
|
293
303
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
294
304
|
</history-entry>
|
295
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
305
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 01m 51s.xml">
|
296
306
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
297
307
|
</history-entry>
|
298
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
308
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 02m 02s.xml">
|
299
309
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
300
310
|
</history-entry>
|
301
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
311
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 02m 08s.xml">
|
302
312
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
303
313
|
</history-entry>
|
304
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
314
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 03m 38s.xml">
|
305
315
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
306
316
|
</history-entry>
|
307
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
317
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 05m 58s.xml">
|
308
318
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
309
319
|
</history-entry>
|
310
|
-
<history-entry file="Rake__spec - 2017.10.11 at
|
320
|
+
<history-entry file="Rake__spec - 2017.10.11 at 19h 06m 01s.xml">
|
311
321
|
<configuration name="Rake: spec" configurationId="RakeRunConfigurationType" />
|
312
322
|
</history-entry>
|
313
323
|
</component>
|
314
324
|
<component name="TimeTrackingManager">
|
315
|
-
<option name="totallyTimeSpent" value="
|
325
|
+
<option name="totallyTimeSpent" value="16129000" />
|
316
326
|
</component>
|
317
327
|
<component name="ToolWindowManager">
|
318
328
|
<frame x="0" y="23" width="1680" height="983" extended-state="6" />
|
@@ -411,6 +421,7 @@
|
|
411
421
|
<provider selected="true" editor-type-id="text-editor">
|
412
422
|
<state relative-caret-position="45">
|
413
423
|
<caret line="3" column="32" lean-forward="false" selection-start-line="3" selection-start-column="32" selection-end-line="3" selection-end-column="32" />
|
424
|
+
<folding />
|
414
425
|
</state>
|
415
426
|
</provider>
|
416
427
|
</entry>
|
@@ -458,6 +469,7 @@
|
|
458
469
|
<provider selected="true" editor-type-id="text-editor">
|
459
470
|
<state relative-caret-position="210">
|
460
471
|
<caret line="14" column="3" lean-forward="true" selection-start-line="14" selection-start-column="3" selection-end-line="14" selection-end-column="3" />
|
472
|
+
<folding />
|
461
473
|
</state>
|
462
474
|
</provider>
|
463
475
|
</entry>
|
@@ -469,13 +481,6 @@
|
|
469
481
|
</state>
|
470
482
|
</provider>
|
471
483
|
</entry>
|
472
|
-
<entry file="file://$PROJECT_DIR$/spec/smcutil_spec.rb">
|
473
|
-
<provider selected="true" editor-type-id="text-editor">
|
474
|
-
<state relative-caret-position="105">
|
475
|
-
<caret line="7" column="0" lean-forward="true" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
|
476
|
-
</state>
|
477
|
-
</provider>
|
478
|
-
</entry>
|
479
484
|
<entry file="file://$PROJECT_DIR$/spec/fixtures/flasher_base_unknown_command.smc">
|
480
485
|
<provider selected="true" editor-type-id="text-editor">
|
481
486
|
<state relative-caret-position="285">
|
@@ -497,13 +502,6 @@
|
|
497
502
|
</state>
|
498
503
|
</provider>
|
499
504
|
</entry>
|
500
|
-
<entry file="file://$PROJECT_DIR$/lib/smcutil.rb">
|
501
|
-
<provider selected="true" editor-type-id="text-editor">
|
502
|
-
<state relative-caret-position="75">
|
503
|
-
<caret line="5" column="51" lean-forward="false" selection-start-line="5" selection-start-column="51" selection-end-line="5" selection-end-column="51" />
|
504
|
-
</state>
|
505
|
-
</provider>
|
506
|
-
</entry>
|
507
505
|
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
508
506
|
<provider selected="true" editor-type-id="text-editor">
|
509
507
|
<state relative-caret-position="0">
|
@@ -511,7 +509,6 @@
|
|
511
509
|
</state>
|
512
510
|
</provider>
|
513
511
|
</entry>
|
514
|
-
<entry file="file://$PROJECT_DIR$/spec/fixtures/flasher_base.smc" />
|
515
512
|
<entry file="file://$PROJECT_DIR$/spec/smcutil/file_reader_spec.rb">
|
516
513
|
<provider selected="true" editor-type-id="text-editor">
|
517
514
|
<state relative-caret-position="75">
|
@@ -528,10 +525,37 @@
|
|
528
525
|
</state>
|
529
526
|
</provider>
|
530
527
|
</entry>
|
531
|
-
<entry file="file://$PROJECT_DIR$/
|
528
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
529
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
530
|
+
<state split_layout="SPLIT">
|
531
|
+
<first_editor relative-caret-position="210">
|
532
|
+
<caret line="14" column="37" lean-forward="false" selection-start-line="14" selection-start-column="37" selection-end-line="14" selection-end-column="37" />
|
533
|
+
<folding />
|
534
|
+
</first_editor>
|
535
|
+
<second_editor />
|
536
|
+
</state>
|
537
|
+
</provider>
|
538
|
+
</entry>
|
539
|
+
<entry file="file://$PROJECT_DIR$/smcutil.gemspec">
|
532
540
|
<provider selected="true" editor-type-id="text-editor">
|
533
|
-
<state relative-caret-position="
|
534
|
-
<caret line="
|
541
|
+
<state relative-caret-position="283">
|
542
|
+
<caret line="19" column="62" lean-forward="false" selection-start-line="19" selection-start-column="62" selection-end-line="19" selection-end-column="62" />
|
543
|
+
<folding />
|
544
|
+
</state>
|
545
|
+
</provider>
|
546
|
+
</entry>
|
547
|
+
<entry file="file://$PROJECT_DIR$/spec/fixtures/flasher_base.smc">
|
548
|
+
<provider selected="true" editor-type-id="text-editor">
|
549
|
+
<state relative-caret-position="-10920">
|
550
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
551
|
+
<folding />
|
552
|
+
</state>
|
553
|
+
</provider>
|
554
|
+
</entry>
|
555
|
+
<entry file="file://$PROJECT_DIR$/spec/smcutil_spec.rb">
|
556
|
+
<provider selected="true" editor-type-id="text-editor">
|
557
|
+
<state relative-caret-position="105">
|
558
|
+
<caret line="7" column="0" lean-forward="true" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
|
535
559
|
<folding />
|
536
560
|
</state>
|
537
561
|
</provider>
|
@@ -548,48 +572,46 @@
|
|
548
572
|
<provider selected="true" editor-type-id="text-editor">
|
549
573
|
<state relative-caret-position="120">
|
550
574
|
<caret line="8" column="0" lean-forward="false" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
|
575
|
+
<folding />
|
551
576
|
</state>
|
552
577
|
</provider>
|
553
578
|
</entry>
|
554
579
|
<entry file="file://$PROJECT_DIR$/lib/smcutil/file_extractor.rb">
|
555
580
|
<provider selected="true" editor-type-id="text-editor">
|
556
|
-
<state relative-caret-position="
|
557
|
-
<caret line="
|
581
|
+
<state relative-caret-position="255">
|
582
|
+
<caret line="17" column="3" lean-forward="true" selection-start-line="17" selection-start-column="3" selection-end-line="17" selection-end-column="3" />
|
558
583
|
<folding />
|
559
584
|
</state>
|
560
585
|
</provider>
|
561
586
|
</entry>
|
562
|
-
<entry file="file://$PROJECT_DIR$/
|
563
|
-
<provider selected="true" editor-type-id="
|
564
|
-
<state
|
565
|
-
<
|
566
|
-
|
567
|
-
<folding />
|
568
|
-
</first_editor>
|
569
|
-
<second_editor />
|
587
|
+
<entry file="file://$PROJECT_DIR$/spec/smcutil/file_extractor_spec.rb">
|
588
|
+
<provider selected="true" editor-type-id="text-editor">
|
589
|
+
<state relative-caret-position="270">
|
590
|
+
<caret line="18" column="3" lean-forward="true" selection-start-line="18" selection-start-column="3" selection-end-line="18" selection-end-column="3" />
|
591
|
+
<folding />
|
570
592
|
</state>
|
571
593
|
</provider>
|
572
594
|
</entry>
|
573
595
|
<entry file="file://$PROJECT_DIR$/exe/smcutil">
|
574
596
|
<provider selected="true" editor-type-id="text-editor">
|
575
|
-
<state relative-caret-position="
|
576
|
-
<caret line="
|
597
|
+
<state relative-caret-position="353">
|
598
|
+
<caret line="52" column="44" lean-forward="false" selection-start-line="52" selection-start-column="44" selection-end-line="52" selection-end-column="44" />
|
577
599
|
<folding />
|
578
600
|
</state>
|
579
601
|
</provider>
|
580
602
|
</entry>
|
581
|
-
<entry file="file://$PROJECT_DIR$/smcutil.
|
603
|
+
<entry file="file://$PROJECT_DIR$/lib/smcutil.rb">
|
582
604
|
<provider selected="true" editor-type-id="text-editor">
|
583
|
-
<state relative-caret-position="
|
584
|
-
<caret line="
|
605
|
+
<state relative-caret-position="75">
|
606
|
+
<caret line="5" column="51" lean-forward="false" selection-start-line="5" selection-start-column="51" selection-end-line="5" selection-end-column="51" />
|
585
607
|
<folding />
|
586
608
|
</state>
|
587
609
|
</provider>
|
588
610
|
</entry>
|
589
611
|
<entry file="file://$PROJECT_DIR$/lib/smcutil/version.rb">
|
590
612
|
<provider selected="true" editor-type-id="text-editor">
|
591
|
-
<state relative-caret-position="
|
592
|
-
<caret line="
|
613
|
+
<state relative-caret-position="45">
|
614
|
+
<caret line="3" column="0" lean-forward="true" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
|
593
615
|
<folding />
|
594
616
|
</state>
|
595
617
|
</provider>
|
data/exe/smcutil
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
$:.unshift File.expand_path('../lib', __dir__)
|
4
|
+
require_relative '../lib/smcutil'
|
4
5
|
require 'optparse'
|
5
6
|
|
6
|
-
|
7
|
-
options = {}
|
8
|
-
OptionParser.new do |opts|
|
9
|
-
opts.banner = <<-BANNER
|
7
|
+
BANNER = <<-BANNER
|
10
8
|
Usage: smcutil {command} [PARAMS]
|
11
9
|
|
12
10
|
Command is one of:
|
@@ -22,5 +20,43 @@ OptionParser.new do |opts|
|
|
22
20
|
|
23
21
|
save {output.bin}:
|
24
22
|
Has magical cow powers. Assuming I can make this work: GOLDEN TICKET
|
25
|
-
|
26
|
-
|
23
|
+
BANNER
|
24
|
+
|
25
|
+
def show_usage
|
26
|
+
puts BANNER
|
27
|
+
exit
|
28
|
+
end
|
29
|
+
|
30
|
+
command = (ARGV.shift || '').to_sym
|
31
|
+
|
32
|
+
COMMANDS = [ :validate, :info, :decode, :save ]
|
33
|
+
|
34
|
+
show_usage unless COMMANDS.include? command
|
35
|
+
|
36
|
+
case command
|
37
|
+
when :validate
|
38
|
+
begin
|
39
|
+
file = ARGV.shift
|
40
|
+
show_usage unless file
|
41
|
+
reader = SmcUtil::FileReader.parse file
|
42
|
+
puts "The file '#{file}' is valid."
|
43
|
+
rescue => ex
|
44
|
+
puts ex
|
45
|
+
end
|
46
|
+
when :decode
|
47
|
+
begin
|
48
|
+
input = ARGV.shift
|
49
|
+
output = ARGV.shift
|
50
|
+
|
51
|
+
show_usage unless input && output
|
52
|
+
reader = SmcUtil::FileReader.parse input
|
53
|
+
extractor = SmcUtil::FileExtractor.new reader
|
54
|
+
extractor.extract_to output
|
55
|
+
rescue => ex
|
56
|
+
puts ex
|
57
|
+
end
|
58
|
+
when :info
|
59
|
+
|
60
|
+
else
|
61
|
+
show_usage
|
62
|
+
end
|
@@ -7,17 +7,10 @@ class SmcUtil::FileExtractor
|
|
7
7
|
|
8
8
|
|
9
9
|
def extract_to(path)
|
10
|
-
File.open(
|
11
|
-
file.write @file_reader.header
|
12
|
-
end
|
13
|
-
|
14
|
-
File.open(File.join(path, 'signature.bin'), OUTPUT_FILE_FLAGS) do |file|
|
15
|
-
file.write @file_reader.signature
|
16
|
-
end
|
17
|
-
|
18
|
-
File.open(File.join(path, 'binary.bin'), OUTPUT_FILE_FLAGS) do |file|
|
10
|
+
File.open(path, OUTPUT_FILE_FLAGS) do |file|
|
19
11
|
@file_reader.regions.each do |offset, content|
|
20
|
-
file.
|
12
|
+
range_bytes = offset - file.pos
|
13
|
+
file.write "\0" * range_bytes if range_bytes > 0
|
21
14
|
file.write content
|
22
15
|
end
|
23
16
|
end
|
data/lib/smcutil/version.rb
CHANGED