pwnlib 0.1.2 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 651f17473760eb2febd164b67271b7fae2260e0d
4
- data.tar.gz: 26db3cf0ac97f2ba0d8c48be6691e1cba163e42f
3
+ metadata.gz: 8fb9abfe113d15b084a0cfb15265ece303e77a03
4
+ data.tar.gz: 300b3970888662f4b9054f9d772f0c94a0eb5e27
5
5
  SHA512:
6
- metadata.gz: 688eb33bf4e8c09f30b8c69a51c23397df8a542334f559ee25ffb0ae5b3354ce3b3cf89dbf0007010f37c141218770613af5ad8338f40287f28c7f4ccbb930f3
7
- data.tar.gz: c591b36de1804e1461ee3c2f588ef14aedddca06f6189a90be012de55b2efab827ddf7eac579d0a207fc9d451b0e9b94dfbb543d96648ecaf2a10c3908456f58
6
+ metadata.gz: 82b66041648f134110de089a5d600d90e432cb6fb285d1552ba7c4ffcdbbdd34743a78b070d18fef6950b832c99552bf47210ccb9a86b32d4a04c3bfcc83455c
7
+ data.tar.gz: b33ec0ca40ed30212d69a9b6d988a8eba056471cba1c1a2b48169ec4a931db88bcd0c4cbee1f1127d8f5e72238f9f60998baaee093b9519196347d01f07d9e99
@@ -7,13 +7,12 @@ class ProcessRun
7
7
  @output_buf = []
8
8
 
9
9
  @get_input = true
10
+
10
11
  @stdout_thr = Thread.new do
11
12
  while @get_input
12
- next_line = @stdout.gets
13
+ next_line = @stdout.readpartial(4096)
13
14
  if next_line
14
15
  @output_buf << next_line
15
- else
16
- next
17
16
  end
18
17
  end
19
18
  end
@@ -35,10 +34,21 @@ class ProcessRun
35
34
  @output_buf.shift
36
35
  end
37
36
 
37
+ def recv_bytes num=nil
38
+ sleep 0.1
39
+ byte_arr = @output_buf.shift.bytes.map do |n|
40
+ n.to_s(16)
41
+ end
42
+ if num
43
+ byte_arr[0,num].reverse.join
44
+ else
45
+ byte_arr.reverse.join
46
+ end
47
+ end
48
+
38
49
  def send msg
50
+ @stdin.write msg
39
51
  sleep 0.1
40
- @stdin.puts msg
41
- sleep 0.2
42
52
  end
43
53
 
44
54
  def write msg
@@ -1,3 +1,3 @@
1
1
  module Pwnlib
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.4"
3
3
  end
data/lib/pwnlib.rb CHANGED
@@ -4,12 +4,22 @@ require 'socket'
4
4
  module Pwnlib
5
5
  def p64 num
6
6
  num = num.hex if num.is_a? String
7
- [num].pack("Q<")
7
+ [num].pack("Q")
8
8
  end
9
9
 
10
10
  def p32 num
11
11
  num = num.hex if num.is_a? String
12
- [num].pack("L<")
12
+ [num].pack("L")
13
+ end
14
+
15
+ def u32 num
16
+ num.unpack("L")[0]
17
+ # num.bytes.reverse.join
18
+ end
19
+
20
+ def u64 num
21
+ num.unpack("Q")[0]
22
+ # num.bytes.reverse.join
13
23
  end
14
24
 
15
25
  def process name
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwnlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Cook
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-19 00:00:00.000000000 Z
11
+ date: 2016-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler