pwn 0.4.993 → 0.4.995

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84008b06b85408aed7b64e9ee6ae23d392d7713028b21b7f6f85ddf20433d9fa
4
- data.tar.gz: 6a7749cb6897c478325ef819039a3790cbc5a126b3da0e907ab8e9ca145737ba
3
+ metadata.gz: ae602e512383cce909706ed97051ce4722de37fa71755db51eb3b8fae3d165a4
4
+ data.tar.gz: 217136716efe82d5966df746e269d05d1bf5e0870fd459e0f1cf8e149c609bba
5
5
  SHA512:
6
- metadata.gz: 681a65c0de2438a658cefb719e3d9d009bc295eaf5af5f54e7ef7710994113809b72279549c535dd89efdd621561ec3eb93e0d0d4f941360f4cd20dc1788587a
7
- data.tar.gz: 802a27fd787dd8745c6e20de8cabcf7f76cae6bd6fea9d2431f9a8ea3b11574016ef03925855c7e6c712c37fbd366aaddd8f70fd513905f4e81fe530096e1e44
6
+ metadata.gz: 0de31dddfd05dca90867504fc8caed707033ddbfbb61c72e94742caaf8bc06dab4a205e39a43234261f3d5155295e954b22a03eb303f11a7096db8efac52e989
7
+ data.tar.gz: b5e874b009d937cd2c7520dc272a03ed421613b6ec9e008cca6ba7299ee7a6d0e3b492fdfc91e13d4318d4b29e5e75972072dabd9c65d5aeacb634a9d5bb0e25
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.4.993]:001 >>> PWN.help
40
+ pwn[v0.4.995]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.3.0@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.993]:001 >>> PWN.help
55
+ pwn[v0.4.995]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.3.0@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.4.993]:001 >>> PWN.help
65
+ pwn[v0.4.995]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
  PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
@@ -33,18 +33,16 @@ module PWN
33
33
  io.write(fmt_row)
34
34
 
35
35
  if hashed
36
- hashed_hexdump["#{fmt_row.split.first.delete(':')}"] = {
36
+ hashed_hexdump[fmt_row.split.first.delete(':').to_s] = {
37
37
  hex: fmt_row.split[1..8],
38
38
  ascii: fmt_row.split[9..-1].join
39
39
  }
40
40
  end
41
41
  end
42
42
 
43
- if hashed
44
- return hashed_hexdump
45
- else
46
- return io.string
47
- end
43
+ return hashed_hexdump if hashed
44
+
45
+ io.string unless hashed
48
46
  rescue StandardError => e
49
47
  raise e
50
48
  end
@@ -62,11 +60,19 @@ module PWN
62
60
 
63
61
  raise ArgumentError, 'output file is required' if file.nil?
64
62
 
65
- # TODO: fix this block as it is not working as expected
63
+ # If hexdump is hashed leveraging the dump method, convert to string
64
+ if hexdump.is_a?(Hash)
65
+ hexdump = hexdump.map do |k, v|
66
+ format(
67
+ "%<s1>07s0: %<s2>-40s %<s3>-16s\n",
68
+ s1: k,
69
+ s2: v[:hex].join(' '),
70
+ s3: v[:ascii]
71
+ )
72
+ end.join
73
+ end
74
+
66
75
  binary_data = hexdump.lines.map do |line|
67
- # Works but overly complicated
68
- # line.chars[10..-19].join.split.map do |hex|
69
- # More simple better
70
76
  line.split[1..8].map do |hex|
71
77
  [hex].pack('H*')
72
78
  end.join
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.993'
4
+ VERSION = '0.4.995'
5
5
  end
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.993
4
+ version: 0.4.995
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.