pwn 0.5.621 → 0.5.626
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/.rubocop.yml +2 -2
- data/Gemfile +1 -1
- data/README.md +7 -1
- data/bin/pwn_gqrx_scanner +78 -9
- data/documentation/Agent-Tool-Registry.md +3 -3
- data/documentation/Configuration.md +301 -47
- data/documentation/Cron.md +5 -3
- data/documentation/Diagrams.md +1 -1
- data/documentation/Extrospection.md +472 -26
- data/documentation/FFI.md +72 -8
- data/documentation/Home.md +4 -4
- data/documentation/How-PWN-Works.md +7 -3
- data/documentation/Mistakes.md +9 -0
- data/documentation/SDR.md +83 -10
- data/documentation/Skills-Memory-Learning.md +101 -11
- data/documentation/diagrams/agent-tool-registry.svg +56 -55
- data/documentation/diagrams/ai-integration-tool-calling.svg +24 -24
- data/documentation/diagrams/aws-cloud-security.svg +25 -25
- data/documentation/diagrams/burp-vs-zap-preference.svg +12 -12
- data/documentation/diagrams/code-scanning-sast.svg +25 -25
- data/documentation/diagrams/cron-scheduling.svg +23 -23
- data/documentation/diagrams/dot/agent-tool-registry.dot +2 -2
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +33 -6
- data/documentation/diagrams/dot/hardware-hacking.dot +3 -1
- data/documentation/diagrams/dot/memory-skills-detailed.dot +4 -2
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +4 -2
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +3 -3
- data/documentation/diagrams/dot/persistence-filesystem.dot +3 -3
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +10 -4
- data/documentation/diagrams/dot/sdr-radio-flow.dot +39 -16
- data/documentation/diagrams/driver-framework.svg +13 -13
- data/documentation/diagrams/extrospection-world-awareness.svg +383 -177
- data/documentation/diagrams/fuzzing-workflow.svg +24 -24
- data/documentation/diagrams/hardware-hacking.svg +84 -69
- data/documentation/diagrams/history-to-drivers.svg +18 -18
- data/documentation/diagrams/memory-skills-detailed.svg +137 -120
- data/documentation/diagrams/mistakes-negative-feedback.svg +152 -137
- data/documentation/diagrams/network-infra-testing.svg +27 -27
- data/documentation/diagrams/overall-pwn-architecture.svg +97 -97
- data/documentation/diagrams/penetration-testing-workflow.svg +30 -30
- data/documentation/diagrams/persistence-filesystem.svg +100 -94
- data/documentation/diagrams/plugin-ecosystem.svg +35 -35
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +254 -207
- data/documentation/diagrams/pwn-repl-prototyping.svg +20 -20
- data/documentation/diagrams/reporting-pipeline.svg +18 -18
- data/documentation/diagrams/reverse-engineering-flow.svg +21 -21
- data/documentation/diagrams/sdr-radio-flow.svg +223 -91
- data/documentation/diagrams/sessions-cron-automation.svg +18 -18
- data/documentation/diagrams/swarm-multi-agent.svg +39 -39
- data/documentation/diagrams/web-application-testing.svg +26 -26
- data/documentation/diagrams/zero-day-research-flow.svg +25 -25
- data/documentation/pwn-ai-Agent.md +16 -10
- data/documentation/pwn_silent_help_learn_demo.gif +0 -0
- data/lib/pwn/ai/agent/assembly.rb +1 -1
- data/lib/pwn/ai/agent/btc.rb +1 -1
- data/lib/pwn/ai/agent/burp_suite.rb +1 -1
- data/lib/pwn/ai/agent/extrospection.rb +2562 -57
- data/lib/pwn/ai/agent/gqrx.rb +2 -2
- data/lib/pwn/ai/agent/hacker_one.rb +1 -1
- data/lib/pwn/ai/agent/learning.rb +16 -16
- data/lib/pwn/ai/agent/loop.rb +1 -1
- data/lib/pwn/ai/agent/{introspection.rb → reflect.rb} +12 -12
- data/lib/pwn/ai/agent/sast.rb +1 -1
- data/lib/pwn/ai/agent/tools/extrospection.rb +311 -8
- data/lib/pwn/ai/agent/tools/learning.rb +7 -7
- data/lib/pwn/ai/agent/transparent_browser.rb +1 -1
- data/lib/pwn/ai/agent/vuln_gen.rb +2 -2
- data/lib/pwn/ai/agent.rb +1 -1
- data/lib/pwn/ai/open_ai.rb +10 -6
- data/lib/pwn/config.rb +5 -4
- data/lib/pwn/ffi/adalm_pluto.rb +498 -0
- data/lib/pwn/ffi/fftw.rb +192 -0
- data/lib/pwn/ffi/hack_rf.rb +193 -0
- data/lib/pwn/ffi/liquid.rb +244 -0
- data/lib/pwn/ffi/rtl_sdr.rb +210 -0
- data/lib/pwn/ffi/soapy_sdr.rb +177 -0
- data/lib/pwn/ffi/stdio.rb +9 -1
- data/lib/pwn/ffi/volk.rb +241 -0
- data/lib/pwn/ffi.rb +45 -2
- data/lib/pwn/plugins/burp_suite.rb +2 -2
- data/lib/pwn/sast/pom_version.rb +2 -2
- data/lib/pwn/sast/test_case_engine.rb +1 -1
- data/lib/pwn/sdr/decoder/adsb.rb +201 -12
- data/lib/pwn/sdr/decoder/apt.rb +19 -5
- data/lib/pwn/sdr/decoder/base.rb +314 -1
- data/lib/pwn/sdr/decoder/bluetooth.rb +91 -18
- data/lib/pwn/sdr/decoder/dect.rb +81 -23
- data/lib/pwn/sdr/decoder/dsp.rb +229 -15
- data/lib/pwn/sdr/decoder/flex.rb +23 -6
- data/lib/pwn/sdr/decoder/gps.rb +80 -18
- data/lib/pwn/sdr/decoder/gsm.rb +83 -28
- data/lib/pwn/sdr/decoder/iridium.rb +80 -18
- data/lib/pwn/sdr/decoder/lora.rb +84 -28
- data/lib/pwn/sdr/decoder/lte.rb +80 -18
- data/lib/pwn/sdr/decoder/morse.rb +23 -6
- data/lib/pwn/sdr/decoder/p25.rb +90 -31
- data/lib/pwn/sdr/decoder/pager.rb +23 -6
- data/lib/pwn/sdr/decoder/pocsag.rb +23 -6
- data/lib/pwn/sdr/decoder/rds.rb +219 -52
- data/lib/pwn/sdr/decoder/rfid.rb +81 -27
- data/lib/pwn/sdr/decoder/rtl433.rb +85 -27
- data/lib/pwn/sdr/decoder/rtty.rb +23 -6
- data/lib/pwn/sdr/decoder/wifi.rb +86 -32
- data/lib/pwn/sdr/decoder/zigbee.rb +88 -35
- data/lib/pwn/sdr/decoder.rb +6 -5
- data/lib/pwn/sdr/frequency_allocation.rb +124 -81
- data/lib/pwn/sdr/gqrx.rb +1513 -165
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/extrospection_spec.rb +96 -0
- data/spec/lib/pwn/ai/agent/{introspection_spec.rb → reflect_spec.rb} +3 -3
- data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +8 -24
- data/spec/lib/pwn/ffi/adalm_pluto_spec.rb +37 -0
- data/spec/lib/pwn/ffi/fftw_spec.rb +26 -0
- data/spec/lib/pwn/ffi/hack_rf_spec.rb +25 -0
- data/spec/lib/pwn/ffi/liquid_spec.rb +42 -0
- data/spec/lib/pwn/ffi/rtl_sdr_spec.rb +24 -0
- data/spec/lib/pwn/ffi/soapy_sdr_spec.rb +25 -0
- data/spec/lib/pwn/ffi/volk_spec.rb +36 -0
- data/spec/lib/pwn/sdr/decoder/base_iq_spec.rb +65 -0
- data/spec/lib/pwn/sdr/decoder/dsp_spec.rb +50 -4
- data/spec/lib/pwn/sdr/decoder/rds_spec.rb +45 -4
- data/third_party/pwn_rdoc.jsonl +279 -30
- metadata +21 -5
|
@@ -9,36 +9,36 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 346.07)">
|
|
10
10
|
<title>PWN_Fuzz</title>
|
|
11
11
|
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-346.07 858.2,-346.07 858.2,43.2 -43.2,43.2"/>
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="322.75" y="-280.87" font-family="
|
|
13
|
-
<text xml:space="preserve" text-anchor="start" x="299.5" y="-269.42" font-family="
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="322.75" y="-280.87" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Fuzzing with PWN</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="299.5" y="-269.42" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Plugins::Fuzz · Sock · Packet · Reports::Fuzz</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_gen</title>
|
|
16
16
|
<path fill="#022c22" stroke="#047857" d="M182.75,-36.87C182.75,-36.87 267.25,-36.87 267.25,-36.87 273.25,-36.87 279.25,-42.87 279.25,-48.87 279.25,-48.87 279.25,-175.87 279.25,-175.87 279.25,-181.87 273.25,-187.87 267.25,-187.87 267.25,-187.87 182.75,-187.87 182.75,-187.87 176.75,-187.87 170.75,-181.87 170.75,-175.87 170.75,-175.87 170.75,-48.87 170.75,-48.87 170.75,-42.87 176.75,-36.87 182.75,-36.87"/>
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="225" y="-164.87" font-family="
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="225" y="-164.87" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Generate</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust2" class="cluster">
|
|
20
20
|
<title>cluster_deliver</title>
|
|
21
21
|
<path fill="#422006" stroke="#a16207" d="M362.25,-36.87C362.25,-36.87 479,-36.87 479,-36.87 485,-36.87 491,-42.87 491,-48.87 491,-48.87 491,-243.87 491,-243.87 491,-249.87 485,-255.87 479,-255.87 479,-255.87 362.25,-255.87 362.25,-255.87 356.25,-255.87 350.25,-249.87 350.25,-243.87 350.25,-243.87 350.25,-48.87 350.25,-48.87 350.25,-42.87 356.25,-36.87 362.25,-36.87"/>
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-232.87" font-family="
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-232.87" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Deliver</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust3" class="cluster">
|
|
25
25
|
<title>cluster_mon</title>
|
|
26
26
|
<path fill="#450a0a" stroke="#b91c1c" d="M574,-104.87C574,-104.87 645.75,-104.87 645.75,-104.87 651.75,-104.87 657.75,-110.87 657.75,-116.87 657.75,-116.87 657.75,-243.87 657.75,-243.87 657.75,-249.87 651.75,-255.87 645.75,-255.87 645.75,-255.87 574,-255.87 574,-255.87 568,-255.87 562,-249.87 562,-243.87 562,-243.87 562,-116.87 562,-116.87 562,-110.87 568,-104.87 574,-104.87"/>
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-232.87" font-family="
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-232.87" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Monitor</text>
|
|
28
28
|
</g>
|
|
29
29
|
<!-- Seed -->
|
|
30
30
|
<g id="node1" class="node">
|
|
31
31
|
<title>Seed</title>
|
|
32
32
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M79.75,-113.87C79.75,-113.87 12,-113.87 12,-113.87 6,-113.87 0,-107.87 0,-101.87 0,-101.87 0,-89.87 0,-89.87 0,-83.87 6,-77.87 12,-77.87 12,-77.87 79.75,-77.87 79.75,-77.87 85.75,-77.87 91.75,-83.87 91.75,-89.87 91.75,-89.87 91.75,-101.87 91.75,-101.87 91.75,-107.87 85.75,-113.87 79.75,-113.87"/>
|
|
33
|
-
<text xml:space="preserve" text-anchor="middle" x="45.88" y="-98.37" font-family="
|
|
34
|
-
<text xml:space="preserve" text-anchor="middle" x="45.88" y="-86.37" font-family="
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="45.88" y="-98.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Seed corpus /</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="45.88" y="-86.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">protocol grammar</text>
|
|
35
35
|
</g>
|
|
36
36
|
<!-- Fuzz -->
|
|
37
37
|
<g id="node2" class="node">
|
|
38
38
|
<title>Fuzz</title>
|
|
39
39
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M259.25,-148.87C259.25,-148.87 190.75,-148.87 190.75,-148.87 184.75,-148.87 178.75,-142.87 178.75,-136.87 178.75,-136.87 178.75,-124.87 178.75,-124.87 178.75,-118.87 184.75,-112.87 190.75,-112.87 190.75,-112.87 259.25,-112.87 259.25,-112.87 265.25,-112.87 271.25,-118.87 271.25,-124.87 271.25,-124.87 271.25,-136.87 271.25,-136.87 271.25,-142.87 265.25,-148.87 259.25,-148.87"/>
|
|
40
|
-
<text xml:space="preserve" text-anchor="middle" x="225" y="-133.37" font-family="
|
|
41
|
-
<text xml:space="preserve" text-anchor="middle" x="225" y="-121.37" font-family="
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="225" y="-133.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Fuzz</text>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="225" y="-121.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mutate · generate</text>
|
|
42
42
|
</g>
|
|
43
43
|
<!-- Seed->Fuzz -->
|
|
44
44
|
<g id="edge1" class="edge">
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
<g id="node3" class="node">
|
|
51
51
|
<title>Char</title>
|
|
52
52
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M250.62,-80.87C250.62,-80.87 199.38,-80.87 199.38,-80.87 193.38,-80.87 187.38,-74.87 187.38,-68.87 187.38,-68.87 187.38,-56.87 187.38,-56.87 187.38,-50.87 193.38,-44.87 199.38,-44.87 199.38,-44.87 250.62,-44.87 250.62,-44.87 256.62,-44.87 262.62,-50.87 262.62,-56.87 262.62,-56.87 262.62,-68.87 262.62,-68.87 262.62,-74.87 256.62,-80.87 250.62,-80.87"/>
|
|
53
|
-
<text xml:space="preserve" text-anchor="middle" x="225" y="-65.37" font-family="
|
|
54
|
-
<text xml:space="preserve" text-anchor="middle" x="225" y="-53.37" font-family="
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="225" y="-65.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Char</text>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="225" y="-53.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">encodings</text>
|
|
55
55
|
</g>
|
|
56
56
|
<!-- Seed->Char -->
|
|
57
57
|
<g id="edge2" class="edge">
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
<g id="node4" class="node">
|
|
64
64
|
<title>Sock</title>
|
|
65
65
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M447,-216.87C447,-216.87 394.25,-216.87 394.25,-216.87 388.25,-216.87 382.25,-210.87 382.25,-204.87 382.25,-204.87 382.25,-192.87 382.25,-192.87 382.25,-186.87 388.25,-180.87 394.25,-180.87 394.25,-180.87 447,-180.87 447,-180.87 453,-180.87 459,-186.87 459,-192.87 459,-192.87 459,-204.87 459,-204.87 459,-210.87 453,-216.87 447,-216.87"/>
|
|
66
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-201.37" font-family="
|
|
67
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-189.37" font-family="
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-201.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Sock</text>
|
|
67
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-189.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TCP/UDP</text>
|
|
68
68
|
</g>
|
|
69
69
|
<!-- Fuzz->Sock -->
|
|
70
70
|
<g id="edge3" class="edge">
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
<g id="node5" class="node">
|
|
77
77
|
<title>Packet</title>
|
|
78
78
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M451.12,-148.87C451.12,-148.87 390.12,-148.87 390.12,-148.87 384.12,-148.87 378.12,-142.87 378.12,-136.87 378.12,-136.87 378.12,-124.87 378.12,-124.87 378.12,-118.87 384.12,-112.87 390.12,-112.87 390.12,-112.87 451.12,-112.87 451.12,-112.87 457.12,-112.87 463.12,-118.87 463.12,-124.87 463.12,-124.87 463.12,-136.87 463.12,-136.87 463.12,-142.87 457.12,-148.87 451.12,-148.87"/>
|
|
79
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-133.37" font-family="
|
|
80
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-121.37" font-family="
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-133.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Packet</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-121.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">raw L2/L3</text>
|
|
81
81
|
</g>
|
|
82
82
|
<!-- Fuzz->Packet -->
|
|
83
83
|
<g id="edge4" class="edge">
|
|
@@ -89,8 +89,8 @@
|
|
|
89
89
|
<g id="node6" class="node">
|
|
90
90
|
<title>NetApp</title>
|
|
91
91
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M471,-80.87C471,-80.87 370.25,-80.87 370.25,-80.87 364.25,-80.87 358.25,-74.87 358.25,-68.87 358.25,-68.87 358.25,-56.87 358.25,-56.87 358.25,-50.87 364.25,-44.87 370.25,-44.87 370.25,-44.87 471,-44.87 471,-44.87 477,-44.87 483,-50.87 483,-56.87 483,-56.87 483,-68.87 483,-68.87 483,-74.87 477,-80.87 471,-80.87"/>
|
|
92
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-65.37" font-family="
|
|
93
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-53.37" font-family="
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-65.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn_fuzz_net_app_proto</text>
|
|
93
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-53.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">CLI driver</text>
|
|
94
94
|
</g>
|
|
95
95
|
<!-- Char->NetApp -->
|
|
96
96
|
<g id="edge5" class="edge">
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
<g id="node7" class="node">
|
|
103
103
|
<title>PS</title>
|
|
104
104
|
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M637.75,-216.87C637.75,-216.87 582,-216.87 582,-216.87 576,-216.87 570,-210.87 570,-204.87 570,-204.87 570,-192.87 570,-192.87 570,-186.87 576,-180.87 582,-180.87 582,-180.87 637.75,-180.87 637.75,-180.87 643.75,-180.87 649.75,-186.87 649.75,-192.87 649.75,-192.87 649.75,-204.87 649.75,-204.87 649.75,-210.87 643.75,-216.87 637.75,-216.87"/>
|
|
105
|
-
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-201.37" font-family="
|
|
106
|
-
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-189.37" font-family="
|
|
105
|
+
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-201.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::PS</text>
|
|
106
|
+
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-189.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">process health</text>
|
|
107
107
|
</g>
|
|
108
108
|
<!-- Sock->PS -->
|
|
109
109
|
<g id="edge6" class="edge">
|
|
@@ -115,8 +115,8 @@
|
|
|
115
115
|
<g id="node8" class="node">
|
|
116
116
|
<title>Log</title>
|
|
117
117
|
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M632.88,-148.87C632.88,-148.87 586.88,-148.87 586.88,-148.87 580.88,-148.87 574.88,-142.87 574.88,-136.87 574.88,-136.87 574.88,-124.87 574.88,-124.87 574.88,-118.87 580.88,-112.87 586.88,-112.87 586.88,-112.87 632.88,-112.87 632.88,-112.87 638.88,-112.87 644.88,-118.87 644.88,-124.87 644.88,-124.87 644.88,-136.87 644.88,-136.87 644.88,-142.87 638.88,-148.87 632.88,-148.87"/>
|
|
118
|
-
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-133.37" font-family="
|
|
119
|
-
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-121.37" font-family="
|
|
118
|
+
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-133.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Log</text>
|
|
119
|
+
<text xml:space="preserve" text-anchor="middle" x="609.88" y="-121.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">crash detect</text>
|
|
120
120
|
</g>
|
|
121
121
|
<!-- Packet->Log -->
|
|
122
122
|
<g id="edge7" class="edge">
|
|
@@ -134,8 +134,8 @@
|
|
|
134
134
|
<g id="node9" class="node">
|
|
135
135
|
<title>Report</title>
|
|
136
136
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M803,-185.87C803,-185.87 748.75,-185.87 748.75,-185.87 742.75,-185.87 736.75,-179.87 736.75,-173.87 736.75,-173.87 736.75,-161.87 736.75,-161.87 736.75,-155.87 742.75,-149.87 748.75,-149.87 748.75,-149.87 803,-149.87 803,-149.87 809,-149.87 815,-155.87 815,-161.87 815,-161.87 815,-173.87 815,-173.87 815,-179.87 809,-185.87 803,-185.87"/>
|
|
137
|
-
<text xml:space="preserve" text-anchor="middle" x="775.88" y="-170.37" font-family="
|
|
138
|
-
<text xml:space="preserve" text-anchor="middle" x="775.88" y="-158.37" font-family="
|
|
137
|
+
<text xml:space="preserve" text-anchor="middle" x="775.88" y="-170.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::Fuzz</text>
|
|
138
|
+
<text xml:space="preserve" text-anchor="middle" x="775.88" y="-158.37" font-family="sans-Serif" font-size="10.00" fill="#0f172a">crash triage</text>
|
|
139
139
|
</g>
|
|
140
140
|
<!-- PS->Report -->
|
|
141
141
|
<g id="edge9" class="edge">
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
<title>Log->Fuzz</title>
|
|
149
149
|
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M596.69,-112.47C577.77,-85.77 538.53,-37.41 491,-18.37 432.93,4.89 407.43,7.01 350.25,-18.37 307.25,-37.46 315.17,-66.5 279.25,-96.87 275.22,-100.28 270.82,-103.61 266.34,-106.77"/>
|
|
150
150
|
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="264.92,-104.34 259.87,-111.15 268.06,-108.98 264.92,-104.34"/>
|
|
151
|
-
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-20.32" font-family="
|
|
151
|
+
<text xml:space="preserve" text-anchor="middle" x="420.62" y="-20.32" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">minimise + reseed</text>
|
|
152
152
|
</g>
|
|
153
153
|
<!-- Log->Report -->
|
|
154
154
|
<g id="edge10" class="edge">
|
|
@@ -4,160 +4,175 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_Hardware Pages: 1 -->
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
9
|
-
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2
|
|
7
|
+
<svg width="668pt" height="640pt"
|
|
8
|
+
viewBox="0.00 0.00 668.00 640.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 597.2)">
|
|
10
10
|
<title>PWN_Hardware</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
13
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-597.2 625.2,-597.2 625.2,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="121.5" y="-532" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Hardware & Physical-Layer Hacking</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="158.62" y="-520.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Serial · BusPirate · MSR206 · Android · BareSIP · SDR</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_dev</title>
|
|
16
|
-
<path fill="#450a0a" stroke="#b91c1c" stroke-dasharray="5,2" d="M12,-
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="83" y="-
|
|
16
|
+
<path fill="#450a0a" stroke="#b91c1c" stroke-dasharray="5,2" d="M12,-164C12,-164 154,-164 154,-164 160,-164 166,-170 166,-176 166,-176 166,-495 166,-495 166,-501 160,-507 154,-507 154,-507 12,-507 12,-507 6,-507 0,-501 0,-495 0,-495 0,-176 0,-176 0,-170 6,-164 12,-164"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="83" y="-484" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Physical Devices</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust2" class="cluster">
|
|
20
20
|
<title>cluster_pl</title>
|
|
21
|
-
<path fill="#022c22" stroke="#047857" d="M248,-
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#022c22" stroke="#047857" d="M248,-164C248,-164 562,-164 562,-164 568,-164 574,-170 574,-176 574,-176 574,-495 574,-495 574,-501 568,-507 562,-507 562,-507 248,-507 248,-507 242,-507 236,-501 236,-495 236,-495 236,-176 236,-176 236,-170 242,-164 248,-164"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="405" y="-484" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">PWN::Plugins / SDR</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust3" class="cluster">
|
|
25
25
|
<title>cluster_out</title>
|
|
26
|
-
<path fill="#2e1065" stroke="#6d28d9" d="
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
+
<path fill="#2e1065" stroke="#6d28d9" d="M463.25,-8C463.25,-8 544,-8 544,-8 550,-8 556,-14 556,-20 556,-20 556,-144 556,-144 556,-150 550,-156 544,-156 544,-156 463.25,-156 463.25,-156 457.25,-156 451.25,-150 451.25,-144 451.25,-144 451.25,-20 451.25,-20 451.25,-14 457.25,-8 463.25,-8"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="503.62" y="-133" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Analysis</text>
|
|
28
28
|
</g>
|
|
29
29
|
<!-- Uart -->
|
|
30
30
|
<g id="node1" class="node">
|
|
31
31
|
<title>Uart</title>
|
|
32
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M114.88,-
|
|
33
|
-
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-
|
|
34
|
-
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-
|
|
32
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M114.88,-208C114.88,-208 50.12,-208 50.12,-208 44.12,-208 38.12,-202 38.12,-196 38.12,-196 38.12,-184 38.12,-184 38.12,-178 44.12,-172 50.12,-172 50.12,-172 114.88,-172 114.88,-172 120.88,-172 126.88,-178 126.88,-184 126.88,-184 126.88,-196 126.88,-196 126.88,-202 120.88,-208 114.88,-208"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-192.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">UART / JTAG</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-180.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">embedded target</text>
|
|
35
35
|
</g>
|
|
36
36
|
<!-- Serial -->
|
|
37
37
|
<g id="node6" class="node">
|
|
38
38
|
<title>Serial</title>
|
|
39
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
40
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
39
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M333.88,-208C333.88,-208 265.38,-208 265.38,-208 259.38,-208 253.38,-202 253.38,-196 253.38,-196 253.38,-184 253.38,-184 253.38,-178 259.38,-172 265.38,-172 265.38,-172 333.88,-172 333.88,-172 339.88,-172 345.88,-178 345.88,-184 345.88,-184 345.88,-196 345.88,-196 345.88,-202 339.88,-208 333.88,-208"/>
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="299.62" y="-186.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Serial · BusPirate</text>
|
|
41
41
|
</g>
|
|
42
42
|
<!-- Uart->Serial -->
|
|
43
|
-
<g id="
|
|
43
|
+
<g id="edge2" class="edge">
|
|
44
44
|
<title>Uart->Serial</title>
|
|
45
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M127.
|
|
46
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
45
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M127.29,-190C160.76,-190 207.11,-190 243.16,-190"/>
|
|
46
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="243.07,-192.8 251.07,-190 243.07,-187.2 243.07,-192.8"/>
|
|
47
47
|
</g>
|
|
48
48
|
<!-- Mag -->
|
|
49
49
|
<g id="node2" class="node">
|
|
50
50
|
<title>Mag</title>
|
|
51
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M110.75,-
|
|
52
|
-
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-
|
|
51
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M110.75,-273C110.75,-273 54.25,-273 54.25,-273 48.25,-273 42.25,-267 42.25,-261 42.25,-261 42.25,-249 42.25,-249 42.25,-243 48.25,-237 54.25,-237 54.25,-237 110.75,-237 110.75,-237 116.75,-237 122.75,-243 122.75,-249 122.75,-249 122.75,-261 122.75,-261 122.75,-267 116.75,-273 110.75,-273"/>
|
|
52
|
+
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-251.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Magstripe card</text>
|
|
53
53
|
</g>
|
|
54
54
|
<!-- MSR -->
|
|
55
55
|
<g id="node7" class="node">
|
|
56
56
|
<title>MSR</title>
|
|
57
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
58
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
57
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M314.75,-273C314.75,-273 284.5,-273 284.5,-273 278.5,-273 272.5,-267 272.5,-261 272.5,-261 272.5,-249 272.5,-249 272.5,-243 278.5,-237 284.5,-237 284.5,-237 314.75,-237 314.75,-237 320.75,-237 326.75,-243 326.75,-249 326.75,-249 326.75,-261 326.75,-261 326.75,-267 320.75,-273 314.75,-273"/>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="299.62" y="-251.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">MSR206</text>
|
|
59
59
|
</g>
|
|
60
60
|
<!-- Mag->MSR -->
|
|
61
|
-
<g id="
|
|
61
|
+
<g id="edge3" class="edge">
|
|
62
62
|
<title>Mag->MSR</title>
|
|
63
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M123.
|
|
64
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
63
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M123.21,-255C162.99,-255 223.71,-255 262.27,-255"/>
|
|
64
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="262.08,-257.8 270.08,-255 262.08,-252.2 262.08,-257.8"/>
|
|
65
65
|
</g>
|
|
66
66
|
<!-- Phone -->
|
|
67
67
|
<g id="node3" class="node">
|
|
68
68
|
<title>Phone</title>
|
|
69
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M110.75,-
|
|
70
|
-
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-
|
|
69
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M110.75,-338C110.75,-338 54.25,-338 54.25,-338 48.25,-338 42.25,-332 42.25,-326 42.25,-326 42.25,-314 42.25,-314 42.25,-308 48.25,-302 54.25,-302 54.25,-302 110.75,-302 110.75,-302 116.75,-302 122.75,-308 122.75,-314 122.75,-314 122.75,-326 122.75,-326 122.75,-332 116.75,-338 110.75,-338"/>
|
|
70
|
+
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-316.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Android device</text>
|
|
71
71
|
</g>
|
|
72
72
|
<!-- Adb -->
|
|
73
73
|
<g id="node8" class="node">
|
|
74
74
|
<title>Adb</title>
|
|
75
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
76
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
75
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M324.5,-338C324.5,-338 274.75,-338 274.75,-338 268.75,-338 262.75,-332 262.75,-326 262.75,-326 262.75,-314 262.75,-314 262.75,-308 268.75,-302 274.75,-302 274.75,-302 324.5,-302 324.5,-302 330.5,-302 336.5,-308 336.5,-314 336.5,-314 336.5,-326 336.5,-326 336.5,-332 330.5,-338 324.5,-338"/>
|
|
76
|
+
<text xml:space="preserve" text-anchor="middle" x="299.62" y="-316.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Android (adb)</text>
|
|
77
77
|
</g>
|
|
78
78
|
<!-- Phone->Adb -->
|
|
79
|
-
<g id="
|
|
79
|
+
<g id="edge4" class="edge">
|
|
80
80
|
<title>Phone->Adb</title>
|
|
81
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M123.
|
|
82
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
81
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M123.21,-320C159.76,-320 213.99,-320 252.46,-320"/>
|
|
82
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="252.4,-322.8 260.4,-320 252.4,-317.2 252.4,-322.8"/>
|
|
83
83
|
</g>
|
|
84
84
|
<!-- VoIP -->
|
|
85
85
|
<g id="node4" class="node">
|
|
86
86
|
<title>VoIP</title>
|
|
87
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M104.75,-
|
|
88
|
-
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-
|
|
87
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M104.75,-403C104.75,-403 60.25,-403 60.25,-403 54.25,-403 48.25,-397 48.25,-391 48.25,-391 48.25,-379 48.25,-379 48.25,-373 54.25,-367 60.25,-367 60.25,-367 104.75,-367 104.75,-367 110.75,-367 116.75,-373 116.75,-379 116.75,-379 116.75,-391 116.75,-391 116.75,-397 110.75,-403 104.75,-403"/>
|
|
88
|
+
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-381.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">SIP / PSTN</text>
|
|
89
89
|
</g>
|
|
90
90
|
<!-- Sip -->
|
|
91
91
|
<g id="node9" class="node">
|
|
92
92
|
<title>Sip</title>
|
|
93
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
94
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
93
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M330.88,-403C330.88,-403 268.38,-403 268.38,-403 262.38,-403 256.38,-397 256.38,-391 256.38,-391 256.38,-379 256.38,-379 256.38,-373 262.38,-367 268.38,-367 268.38,-367 330.88,-367 330.88,-367 336.88,-367 342.88,-373 342.88,-379 342.88,-379 342.88,-391 342.88,-391 342.88,-397 336.88,-403 330.88,-403"/>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="299.62" y="-381.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">BareSIP · Voice</text>
|
|
95
95
|
</g>
|
|
96
96
|
<!-- VoIP->Sip -->
|
|
97
|
-
<g id="
|
|
97
|
+
<g id="edge5" class="edge">
|
|
98
98
|
<title>VoIP->Sip</title>
|
|
99
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M117.
|
|
100
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
99
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M117.11,-385C151.65,-385 205.89,-385 246.1,-385"/>
|
|
100
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="246.03,-387.8 254.03,-385 246.03,-382.2 246.03,-387.8"/>
|
|
101
101
|
</g>
|
|
102
102
|
<!-- RF -->
|
|
103
103
|
<g id="node5" class="node">
|
|
104
104
|
<title>RF</title>
|
|
105
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M107,-
|
|
106
|
-
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-
|
|
105
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M107,-468C107,-468 58,-468 58,-468 52,-468 46,-462 46,-456 46,-456 46,-444 46,-444 46,-438 52,-432 58,-432 58,-432 107,-432 107,-432 113,-432 119,-438 119,-444 119,-444 119,-456 119,-456 119,-462 113,-468 107,-468"/>
|
|
106
|
+
<text xml:space="preserve" text-anchor="middle" x="82.5" y="-446.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">RF spectrum</text>
|
|
107
107
|
</g>
|
|
108
108
|
<!-- Sdr -->
|
|
109
109
|
<g id="node10" class="node">
|
|
110
110
|
<title>Sdr</title>
|
|
111
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
112
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
111
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M343.25,-468C343.25,-468 256,-468 256,-468 250,-468 244,-462 244,-456 244,-456 244,-444 244,-444 244,-438 250,-432 256,-432 256,-432 343.25,-432 343.25,-432 349.25,-432 355.25,-438 355.25,-444 355.25,-444 355.25,-456 355.25,-456 355.25,-462 349.25,-468 343.25,-468"/>
|
|
112
|
+
<text xml:space="preserve" text-anchor="middle" x="299.62" y="-452.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">SDR::GQRX · Flipper</text>
|
|
113
|
+
<text xml:space="preserve" text-anchor="middle" x="299.62" y="-440.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Decoder::* (run_iq)</text>
|
|
113
114
|
</g>
|
|
114
115
|
<!-- RF->Sdr -->
|
|
115
|
-
<g id="
|
|
116
|
+
<g id="edge6" class="edge">
|
|
116
117
|
<title>RF->Sdr</title>
|
|
117
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M119.
|
|
118
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
118
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M119.51,-450C150.58,-450 196.23,-450 233.67,-450"/>
|
|
119
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="233.53,-452.8 241.53,-450 233.53,-447.2 233.53,-452.8"/>
|
|
119
120
|
</g>
|
|
120
121
|
<!-- XXD -->
|
|
121
|
-
<g id="
|
|
122
|
+
<g id="node12" class="node">
|
|
122
123
|
<title>XXD</title>
|
|
123
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
124
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
124
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M536,-52C536,-52 471.25,-52 471.25,-52 465.25,-52 459.25,-46 459.25,-40 459.25,-40 459.25,-28 459.25,-28 459.25,-22 465.25,-16 471.25,-16 471.25,-16 536,-16 536,-16 542,-16 548,-22 548,-28 548,-28 548,-40 548,-40 548,-46 542,-52 536,-52"/>
|
|
125
|
+
<text xml:space="preserve" text-anchor="middle" x="503.62" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">XXD · Assembly</text>
|
|
125
126
|
</g>
|
|
126
127
|
<!-- Serial->XXD -->
|
|
127
|
-
<g id="
|
|
128
|
+
<g id="edge7" class="edge">
|
|
128
129
|
<title>Serial->XXD</title>
|
|
129
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
130
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
130
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M319.05,-171.43C344.9,-145.98 394.06,-99.7 441.25,-67 445.96,-63.73 451.04,-60.54 456.17,-57.52"/>
|
|
131
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="457.55,-59.96 463.12,-53.56 454.78,-55.09 457.55,-59.96"/>
|
|
131
132
|
</g>
|
|
132
133
|
<!-- MSR->XXD -->
|
|
133
|
-
<g id="
|
|
134
|
+
<g id="edge8" class="edge">
|
|
134
135
|
<title>MSR->XXD</title>
|
|
135
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
136
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
136
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M327.37,-243.06C336.96,-237.87 347.35,-231.11 355.25,-223 410.5,-166.29 384.97,-122.69 441.25,-67 444.57,-63.72 448.28,-60.67 452.19,-57.87"/>
|
|
137
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="453.64,-60.27 458.8,-53.54 450.57,-55.58 453.64,-60.27"/>
|
|
137
138
|
</g>
|
|
138
139
|
<!-- Rep -->
|
|
139
|
-
<g id="
|
|
140
|
+
<g id="node13" class="node">
|
|
140
141
|
<title>Rep</title>
|
|
141
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
142
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
142
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M533.38,-117C533.38,-117 473.88,-117 473.88,-117 467.88,-117 461.88,-111 461.88,-105 461.88,-105 461.88,-93 461.88,-93 461.88,-87 467.88,-81 473.88,-81 473.88,-81 533.38,-81 533.38,-81 539.38,-81 545.38,-87 545.38,-93 545.38,-93 545.38,-105 545.38,-105 545.38,-111 539.38,-117 533.38,-117"/>
|
|
143
|
+
<text xml:space="preserve" text-anchor="middle" x="503.62" y="-95.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports · Skills</text>
|
|
143
144
|
</g>
|
|
144
145
|
<!-- Adb->Rep -->
|
|
145
|
-
<g id="
|
|
146
|
+
<g id="edge9" class="edge">
|
|
146
147
|
<title>Adb->Rep</title>
|
|
147
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
148
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
148
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M336.97,-301.9C343.44,-297.82 349.83,-293.15 355.25,-288 405.74,-240.02 396.53,-210.39 441.25,-157 450.96,-145.4 462.82,-133.73 473.51,-123.93"/>
|
|
149
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="475.15,-126.22 479.22,-118.78 471.41,-122.06 475.15,-126.22"/>
|
|
149
150
|
</g>
|
|
150
151
|
<!-- Sip->Rep -->
|
|
151
|
-
<g id="
|
|
152
|
+
<g id="edge10" class="edge">
|
|
152
153
|
<title>Sip->Rep</title>
|
|
153
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
154
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
154
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M339.39,-366.49C345.18,-362.59 350.72,-358.09 355.25,-353 418.49,-281.93 386.48,-234.78 441.25,-157 449.67,-145.04 460.85,-133.59 471.36,-124.07"/>
|
|
155
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="473.2,-126.18 477.37,-118.8 469.51,-121.97 473.2,-126.18"/>
|
|
156
|
+
</g>
|
|
157
|
+
<!-- FfiSdr -->
|
|
158
|
+
<g id="node11" class="node">
|
|
159
|
+
<title>FfiSdr</title>
|
|
160
|
+
<path fill="#34d399" stroke="#334155" stroke-width="1.3" d="M554,-468C554,-468 453.25,-468 453.25,-468 447.25,-468 441.25,-462 441.25,-456 441.25,-456 441.25,-436 441.25,-436 441.25,-430 447.25,-424 453.25,-424 453.25,-424 554,-424 554,-424 560,-424 566,-430 566,-436 566,-436 566,-456 566,-456 566,-462 560,-468 554,-468"/>
|
|
161
|
+
<text xml:space="preserve" text-anchor="middle" x="503.62" y="-454.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">FFI::RTLSdr · HackRF</text>
|
|
162
|
+
<text xml:space="preserve" text-anchor="middle" x="503.62" y="-442.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">AdalmPluto · SoapySDR</text>
|
|
163
|
+
<text xml:space="preserve" text-anchor="middle" x="503.62" y="-430.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Volk · Liquid · FFTW</text>
|
|
164
|
+
</g>
|
|
165
|
+
<!-- Sdr->FfiSdr -->
|
|
166
|
+
<g id="edge1" class="edge">
|
|
167
|
+
<title>Sdr->FfiSdr</title>
|
|
168
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M355.82,-448.91C379.03,-448.45 406.32,-447.91 431.04,-447.42"/>
|
|
169
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="430.82,-450.22 438.76,-447.26 430.71,-444.62 430.82,-450.22"/>
|
|
155
170
|
</g>
|
|
156
171
|
<!-- Sdr->Rep -->
|
|
157
|
-
<g id="
|
|
172
|
+
<g id="edge11" class="edge">
|
|
158
173
|
<title>Sdr->Rep</title>
|
|
159
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
160
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
174
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M340.37,-431.47C345.9,-427.61 351.11,-423.13 355.25,-418 432.01,-323 375.76,-260.09 441.25,-157 448.97,-144.85 459.79,-133.49 470.21,-124.1"/>
|
|
175
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="471.97,-126.28 476.18,-118.92 468.3,-122.05 471.97,-126.28"/>
|
|
161
176
|
</g>
|
|
162
177
|
</g>
|
|
163
178
|
</svg>
|
|
@@ -9,40 +9,40 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 325.2)">
|
|
10
10
|
<title>PWN_HistToDriver</title>
|
|
11
11
|
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-325.2 990.2,-325.2 990.2,43.2 -43.2,43.2"/>
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="263.88" y="-260" font-family="
|
|
13
|
-
<text xml:space="preserve" text-anchor="start" x="352" y="-248.55" font-family="
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="263.88" y="-260" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">From REPL History → Reusable Driver / Skill</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="352" y="-248.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">explore → history → bin/pwn_* driver → distill_skill</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_out</title>
|
|
16
16
|
<path fill="#2e1065" stroke="#6d28d9" d="M593.25,-8C593.25,-8 752.5,-8 752.5,-8 758.5,-8 764.5,-14 764.5,-20 764.5,-20 764.5,-223 764.5,-223 764.5,-229 758.5,-235 752.5,-235 752.5,-235 593.25,-235 593.25,-235 587.25,-235 581.25,-229 581.25,-223 581.25,-223 581.25,-20 581.25,-20 581.25,-14 587.25,-8 593.25,-8"/>
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="672.88" y="-212" font-family="
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="672.88" y="-212" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Reusable Artefacts</text>
|
|
18
18
|
</g>
|
|
19
19
|
<!-- Explore -->
|
|
20
20
|
<g id="node1" class="node">
|
|
21
21
|
<title>Explore</title>
|
|
22
22
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M95.5,-124C95.5,-124 12,-124 12,-124 6,-124 0,-118 0,-112 0,-112 0,-100 0,-100 0,-94 6,-88 12,-88 12,-88 95.5,-88 95.5,-88 101.5,-88 107.5,-94 107.5,-100 107.5,-100 107.5,-112 107.5,-112 107.5,-118 101.5,-124 95.5,-124"/>
|
|
23
|
-
<text xml:space="preserve" text-anchor="middle" x="53.75" y="-108.88" font-family="
|
|
24
|
-
<text xml:space="preserve" text-anchor="middle" x="53.75" y="-96.12" font-family="
|
|
23
|
+
<text xml:space="preserve" text-anchor="middle" x="53.75" y="-108.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">🐚  Explore in REPL</text>
|
|
24
|
+
<text xml:space="preserve" text-anchor="middle" x="53.75" y="-96.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">call PWN::Plugins::*</text>
|
|
25
25
|
</g>
|
|
26
26
|
<!-- Hist -->
|
|
27
27
|
<g id="node2" class="node">
|
|
28
28
|
<title>Hist</title>
|
|
29
29
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M318.25,-124C318.25,-126.21 297.86,-128 272.75,-128 247.64,-128 227.25,-126.21 227.25,-124 227.25,-124 227.25,-88 227.25,-88 227.25,-85.79 247.64,-84 272.75,-84 297.86,-84 318.25,-85.79 318.25,-88 318.25,-88 318.25,-124 318.25,-124"/>
|
|
30
30
|
<path fill="none" stroke="#334155" stroke-width="1.3" d="M318.25,-124C318.25,-121.79 297.86,-120 272.75,-120 247.64,-120 227.25,-121.79 227.25,-124"/>
|
|
31
|
-
<text xml:space="preserve" text-anchor="middle" x="272.75" y="-108.5" font-family="
|
|
32
|
-
<text xml:space="preserve" text-anchor="middle" x="272.75" y="-96.5" font-family="
|
|
31
|
+
<text xml:space="preserve" text-anchor="middle" x="272.75" y="-108.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">~/.pwn_history</text>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="272.75" y="-96.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Pry `history` cmd</text>
|
|
33
33
|
</g>
|
|
34
34
|
<!-- Explore->Hist -->
|
|
35
35
|
<g id="edge1" class="edge">
|
|
36
36
|
<title>Explore->Hist</title>
|
|
37
37
|
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M108.11,-106C141.23,-106 183.7,-106 217.06,-106"/>
|
|
38
38
|
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="216.69,-108.8 224.69,-106 216.69,-103.2 216.69,-108.8"/>
|
|
39
|
-
<text xml:space="preserve" text-anchor="middle" x="167.38" y="-107.95" font-family="
|
|
39
|
+
<text xml:space="preserve" text-anchor="middle" x="167.38" y="-107.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto-log</text>
|
|
40
40
|
</g>
|
|
41
41
|
<!-- Extract -->
|
|
42
42
|
<g id="node3" class="node">
|
|
43
43
|
<title>Extract</title>
|
|
44
44
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M490.25,-124C490.25,-124 417.25,-124 417.25,-124 411.25,-124 405.25,-118 405.25,-112 405.25,-112 405.25,-100 405.25,-100 405.25,-94 411.25,-88 417.25,-88 417.25,-88 490.25,-88 490.25,-88 496.25,-88 502.25,-94 502.25,-100 502.25,-100 502.25,-112 502.25,-112 502.25,-118 496.25,-124 490.25,-124"/>
|
|
45
|
-
<text xml:space="preserve" text-anchor="middle" x="453.75" y="-102.5" font-family="
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="453.75" y="-102.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">copy working lines</text>
|
|
46
46
|
</g>
|
|
47
47
|
<!-- Hist->Extract -->
|
|
48
48
|
<g id="edge2" class="edge">
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
<g id="node4" class="node">
|
|
55
55
|
<title>Driver</title>
|
|
56
56
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M726.5,-196C726.5,-196 618.25,-196 618.25,-196 612.25,-196 606.25,-190 606.25,-184 606.25,-184 606.25,-172 606.25,-172 606.25,-166 612.25,-160 618.25,-160 618.25,-160 726.5,-160 726.5,-160 732.5,-160 738.5,-166 738.5,-172 738.5,-172 738.5,-184 738.5,-184 738.5,-190 732.5,-196 726.5,-196"/>
|
|
57
|
-
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-180.5" font-family="
|
|
58
|
-
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-168.5" font-family="
|
|
57
|
+
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-180.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">bin/pwn_<name></text>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-168.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">OptionParser + PWN calls</text>
|
|
59
59
|
</g>
|
|
60
60
|
<!-- Extract->Driver -->
|
|
61
61
|
<g id="edge3" class="edge">
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
<g id="node5" class="node">
|
|
68
68
|
<title>Skill</title>
|
|
69
69
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M723.88,-124C723.88,-124 620.88,-124 620.88,-124 614.88,-124 608.88,-118 608.88,-112 608.88,-112 608.88,-100 608.88,-100 608.88,-94 614.88,-88 620.88,-88 620.88,-88 723.88,-88 723.88,-88 729.88,-88 735.88,-94 735.88,-100 735.88,-100 735.88,-112 735.88,-112 735.88,-118 729.88,-124 723.88,-124"/>
|
|
70
|
-
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-108.5" font-family="
|
|
71
|
-
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-96.5" font-family="
|
|
70
|
+
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-108.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">~/.pwn/skills/<name>.md</text>
|
|
71
|
+
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-96.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_distill_skill</text>
|
|
72
72
|
</g>
|
|
73
73
|
<!-- Extract->Skill -->
|
|
74
74
|
<g id="edge4" class="edge">
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
<g id="node6" class="node">
|
|
81
81
|
<title>Cron</title>
|
|
82
82
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M699.88,-52C699.88,-52 644.88,-52 644.88,-52 638.88,-52 632.88,-46 632.88,-40 632.88,-40 632.88,-28 632.88,-28 632.88,-22 638.88,-16 644.88,-16 644.88,-16 699.88,-16 699.88,-16 705.88,-16 711.88,-22 711.88,-28 711.88,-28 711.88,-40 711.88,-40 711.88,-46 705.88,-52 699.88,-52"/>
|
|
83
|
-
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-36.5" font-family="
|
|
84
|
-
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-24.5" font-family="
|
|
83
|
+
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">cron_create</text>
|
|
84
|
+
<text xml:space="preserve" text-anchor="middle" x="672.38" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">prompt: | ruby:</text>
|
|
85
85
|
</g>
|
|
86
86
|
<!-- Extract->Cron -->
|
|
87
87
|
<g id="edge5" class="edge">
|
|
@@ -93,8 +93,8 @@
|
|
|
93
93
|
<g id="node7" class="node">
|
|
94
94
|
<title>CI</title>
|
|
95
95
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M935,-124C935,-124 887.5,-124 887.5,-124 881.5,-124 875.5,-118 875.5,-112 875.5,-112 875.5,-100 875.5,-100 875.5,-94 881.5,-88 887.5,-88 887.5,-88 935,-88 935,-88 941,-88 947,-94 947,-100 947,-100 947,-112 947,-112 947,-118 941,-124 935,-124"/>
|
|
96
|
-
<text xml:space="preserve" text-anchor="middle" x="911.25" y="-108.88" font-family="
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="911.25" y="-96.12" font-family="
|
|
96
|
+
<text xml:space="preserve" text-anchor="middle" x="911.25" y="-108.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">⚙️  CI / CD</text>
|
|
97
|
+
<text xml:space="preserve" text-anchor="middle" x="911.25" y="-96.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">headless run</text>
|
|
98
98
|
</g>
|
|
99
99
|
<!-- Driver->CI -->
|
|
100
100
|
<g id="edge6" class="edge">
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
<title>Skill->CI</title>
|
|
108
108
|
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M736.23,-106C776.82,-106 828.68,-106 865.19,-106"/>
|
|
109
109
|
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="865.09,-108.8 873.09,-106 865.09,-103.2 865.09,-108.8"/>
|
|
110
|
-
<text xml:space="preserve" text-anchor="middle" x="816" y="-107.95" font-family="
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="816" y="-107.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">pwn --ai</text>
|
|
111
111
|
</g>
|
|
112
112
|
<!-- Cron->CI -->
|
|
113
113
|
<g id="edge8" class="edge">
|