BytesCode 1.0 → 2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/BytesCode.rb +31 -2
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: faced935bc68e6c6bbd1fe5eeb1101d9c948892ee12e95c190ac094ed3ffc2b6
4
- data.tar.gz: 8bba338a778c5ee6de79256bee224f8a9cc6c7e9ed81db69afc0d658470c3774
3
+ metadata.gz: cd6415df650e2cd9895af73aba8584c1fb0416b9d69d7e157b81944e0ed371b8
4
+ data.tar.gz: 69da7314067a2e6046301a379716d2b75ca93b56ba1aceed87844d74b11aa65e
5
5
  SHA512:
6
- metadata.gz: 7e52fd0e25c9dfafd21c03ce8e849b126d562d525baf9e764c56a0aa1c1f999b775e4e45650db649f809c877fa3e2cfa0bd4fb385b51f8d76cdde7905e17c40a
7
- data.tar.gz: 02531dd8e1cea729f40ffb50540063cb54da0b100a0e5ed919bee3d7f3463c53f98f66ddc88e50f4e8f6bf67d22e24791745c863997f752c766115458527308b
6
+ metadata.gz: e8895dd21feb362d01fe5d34ac0d4d1521aae19ded0ddef2edca0d0a8ad8c292c81ec9b08988ef387e45bd141fce4f9e4490b3a394bf0a520bdaedaa70c0499f
7
+ data.tar.gz: 567d6746d421ca51175bb5e792925191d7933657e0b79f47bdd77c2e26ec2d600c38eb1a655b56b8defb3382d906ac24abc132d25674d439dc8f23974acd9746
@@ -4,7 +4,30 @@ end
4
4
 
5
5
  class BytesCode
6
6
 
7
- def self.to_opcode(file)
7
+ def self.countdown(shellcode)
8
+ shellcode_array = shellcode.split('\x')
9
+ no_authorized = ["00", "FF", "0D", "0A", "ff", "0d", "0a"]
10
+ final_rez = []
11
+ shellcode_array.each do |bytes|
12
+
13
+ no_authorized.each do |no_auth|
14
+ if bytes == no_auth
15
+ shellcode_array.delete(bytes)
16
+ end
17
+ end
18
+ end
19
+
20
+ shellcode_array.each do |octet|
21
+ if octet != ""
22
+ final_rez << "\\x#{octet}"
23
+ end
24
+
25
+ end
26
+ return final_rez.join
27
+
28
+ end
29
+
30
+ def self.to_opcode(file, countdown=false)
8
31
 
9
32
  if(File.file?(file) == false)
10
33
  raise FileError, "#{file} => File not found"
@@ -21,9 +44,15 @@ class BytesCode
21
44
  final_res << "\\x#{data}"
22
45
  end
23
46
 
24
- return final_res.join
47
+ if(countdown == false)
48
+ return final_res.join
49
+ else
50
+ return self.countdown(final_res.join)
51
+ end
25
52
  end
26
53
 
27
54
  end
28
55
 
29
56
 
57
+
58
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: BytesCode
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '2.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muham'RB