one_gadget 1.3.1 → 1.3.2

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: ee18c2057ce192dccd5652685097b181099130ea
4
- data.tar.gz: 289b4547cb6ce787d3f97198ea91d90cba29f2cf
3
+ metadata.gz: b8f1c8cde974d024db8e485e9891dd01a8bc0d35
4
+ data.tar.gz: d8a48feb0e8ca9fa3df8aac6083161deb9f091e8
5
5
  SHA512:
6
- metadata.gz: 75beaaf9a5a2b7c46547086ddc1642d7145eaccc1de87ba6f8ccc142e3f567ff37657650ef40a5fc86f96380738133b19952ab0996ff08f435f4d9c09302e712
7
- data.tar.gz: 436a67c199ba743df17989749a21b203e0761357b92e22eece757b4d8c920a625097db0817dbda2fddd2b6928b44142190e5a95ca05e6327b75e23e4041fd7eb
6
+ metadata.gz: 8a649c1390edf31cab22b5affbea70f30a565ab80c5ab919dad9d1d4a9af35cc66e86012e7f888989f24602b412fcfde18cb2aeb268e8917fc7238e0e49133a3
7
+ data.tar.gz: ee422f8b2fa9fb1c0afdfb393678d78e956baf6ecd8b3c4cbd48b0556bcf54642729065e15a92b88115172b9acb8b29fe34b6315a59923919e4915e14799837c
data/README.md CHANGED
@@ -27,6 +27,8 @@ gem install one_gadget
27
27
 
28
28
  OneGadget use simple self-implement symbolic execution to find the constraints of gadgets.
29
29
 
30
+ The article introducing how I developed this tool can be found [here](https://david942j.blogspot.com/2017/02/project-one-gadget-in-glibc.html).
31
+
30
32
  ## Usage
31
33
 
32
34
  ### Command Line Tool
@@ -101,6 +103,13 @@ one_gadget ./spec/data/libc-2.19.so -s 'echo "offset ->"'
101
103
  require 'one_gadget'
102
104
  OneGadget.gadgets(file: '/lib/x86_64-linux-gnu/libc.so.6')
103
105
  # => [283242, 980676, 984423, 836931, 837144, 1006352]
106
+ # or in shorter way
107
+ one_gadget(file: '/lib/x86_64-linux-gnu/libc.so.6')
108
+ # => [283242, 980676, 984423, 836931, 837144, 1006352]
109
+
110
+ # from build id
111
+ one_gadget(build_id: '60131540dadc6796cab33388349e6e4e68692053')
112
+ # => [283242, 980676, 984423, 836931, 837144, 1006352]
104
113
  ```
105
114
 
106
115
  ## Screenshots
data/lib/one_gadget.rb CHANGED
@@ -37,6 +37,15 @@ module OneGadget
37
37
  end
38
38
  end
39
39
 
40
+ # Shorter way to use one gadget.
41
+ # @param [Mixed] args
42
+ # See {OneGadget#gadgets} for more information.
43
+ # @return [Array<OneGadget::Gadget::Gadget>, Array<Integer>]
44
+ # The gadgets found.
45
+ def one_gadget(*args)
46
+ OneGadget.gadgets(*args)
47
+ end
48
+
40
49
  require 'one_gadget/fetcher'
41
50
  require 'one_gadget/helper'
42
51
  require 'one_gadget/logger'
@@ -47,11 +47,10 @@ module OneGadget
47
47
  # Color codes for pretty print
48
48
  COLOR_CODE = {
49
49
  esc_m: "\e[0m",
50
- normal_s: "\e[38;5;1m", # red
51
- integer: "\e[38;5;12m", # light blue
52
- fatal: "\e[38;5;197m", # dark red
53
- reg: "\e[38;5;120m", # light green
54
- sym: "\e[38;5;229m", # pry like
50
+ normal_s: "\e[31m", # red
51
+ integer: "\e[1m\e[34m", # light blue
52
+ reg: "\e[32m", # light green
53
+ sym: "\e[33m", # pry like
55
54
  }.freeze
56
55
 
57
56
  # Wrapper color codes for pretty inspect.
@@ -1,3 +1,3 @@
1
1
  module OneGadget
2
- VERSION = '1.3.1'.freeze
2
+ VERSION = '1.3.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: one_gadget
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - david942j
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-21 00:00:00.000000000 Z
11
+ date: 2017-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec