resedit 1.8.4 → 1.8.5

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
  SHA1:
3
- metadata.gz: a424846e1a332caa274f40012e49105a519e17ef
4
- data.tar.gz: f74b80c08c7a3f50bd6cbf3b0eb12709bd196918
3
+ metadata.gz: 3f076cd96b73b751c42dbd40c51c2d2dcbfeda73
4
+ data.tar.gz: f6ed09115d8564692914c8108ab78a45ecde1ef5
5
5
  SHA512:
6
- metadata.gz: 896f4e374b665fa48b197c86f740f0db2deffcdccf658d6b05804807c29507e048fee7b580583d28c972c2ee3dddb44fcad42f7085be8a022b75129a54d4e3c6
7
- data.tar.gz: feee4a9822ed895a8cc3066c67e4ebd6ec5838b396bd6747329de9e7d8e31930c0fa756260de50ddcae343ef4879d1f7dc8cd330f9c18305d123870b3aa658b1
6
+ metadata.gz: 1e72a2f984596a199621dfcc47dd23d54314934104cffba37fd229f3a90446211004fba87ecc15fb8e5ef400b4ddde27265ea0e7c6a6e6b3cf99179ac14348a7
7
+ data.tar.gz: 2e944951d3a6c31cdbe60fbf417082b64a1b55dcf09570660635eaf9823448926480c44466470b390b2ee0e06819e397cb0f7d325f9bf013204a75ffa047e871
data/lib/resedit.rb CHANGED
@@ -25,5 +25,5 @@ require 'resedit/mz/multiexe'
25
25
 
26
26
 
27
27
  module Resedit
28
- VERSION = "1.8.4"
28
+ VERSION = "1.8.5"
29
29
  end
data/lib/resedit/mz/mz.rb CHANGED
@@ -12,6 +12,7 @@ module Resedit
12
12
 
13
13
  def initialize(exe, file, size)
14
14
  super(exe, file, size)
15
+ @fsize = size
15
16
  @relocFix = 0
16
17
  @newOfs = false
17
18
  if @info[:RelocTableOffset]>=0x40
@@ -33,7 +34,7 @@ module Resedit
33
34
  cs = @info[:CS]
34
35
  sz = fileSize()-headerSize()
35
36
  codesize += PARA - codesize % PARA if codesize % PARA!=0
36
- changeSize(sz + codesize + headerSize())
37
+ setFileSize(sz + codesize + headerSize())
37
38
  paras = codesize / PARA
38
39
  setInfo(:SS, ss+paras)
39
40
  setInfo(:CS, cs+paras)
@@ -44,7 +45,7 @@ module Resedit
44
45
  end
45
46
  mode(HOW_CHANGED)
46
47
  @relocFix = paras
47
- MZEnv.instance().set(:relocFix, paras.to_s)
48
+ @exe.env.set(:relocFix, paras.to_s)
48
49
  return codesize
49
50
  end
50
51
 
@@ -98,8 +99,7 @@ module Resedit
98
99
  add = count - @info[:NumberOfRelocations]
99
100
  return if add<=0
100
101
  add -= freeSpace()/4
101
- return if add<=0
102
- addHeaderSize(add*4)
102
+ addHeaderSize(add*4) if add>0
103
103
  setInfo(:NumberOfRelocations, count)
104
104
  mode(HOW_CHANGED)
105
105
  end
@@ -109,14 +109,13 @@ module Resedit
109
109
  #check relocation exists
110
110
  for i in 0..@info[:NumberOfRelocations]-1
111
111
  rel = getRelocation(i)
112
- if @exe.body.seg2Linear(rel[0], rel[1]) == ofs
113
- return false
114
- end
112
+ return false if @exe.body.seg2Linear(rel[0], rel[1]) == ofs
115
113
  end
116
114
  #add relocation
115
+ rid = @info[:NumberOfRelocations]
117
116
  setSpaceForRelocs(@info[:NumberOfRelocations]+1)
118
117
  val = @exe.body.linear2seg(ofs)
119
- setRelocation(@info[:NumberOfRelocations], val)
118
+ setRelocation(rid, val)
120
119
  return true
121
120
  end
122
121
 
@@ -134,7 +133,7 @@ module Resedit
134
133
  s = colStr(sprintf("%d (%X)", fsz,fsz), changed?(2, 4))
135
134
  printf("mz file size: %s\treal file size: %d (0x%X)\n", s, @fsize, @fsize)
136
135
  printf("header size: %s\n", colStr(hsz, changed?(8, 2)))
137
- printf("code size: %s\n", colStr(fsz - hsz, @mz.body.changed?(0)))
136
+ printf("code size: %s\n", colStr(fsz - hsz, @exe.body.changed?(0)))
138
137
  printf("reloc table size: %s\n", colStr(@info[:NumberOfRelocations] * 4, changed?(6, 2)))
139
138
  printf("free space in header: before relocs 0x%X, after relocs 0x%X\n", freeSpace(true), freeSpace())
140
139
  printf("reloc fix: 0x%X\n", @relocFix)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resedit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.4
4
+ version: 1.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - bjfn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-02 00:00:00.000000000 Z
11
+ date: 2019-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chunky_png
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  version: '0'
100
100
  requirements: []
101
101
  rubyforge_project:
102
- rubygems_version: 2.6.11
102
+ rubygems_version: 2.5.2.3
103
103
  signing_key:
104
104
  specification_version: 4
105
105
  summary: OG resource proc library!