Sha256: bb58a6f7706c76c7c4b4c67c5a7b4fe22fff7b85770e5a7039946602c65568e4

Contents?: true

Size: 564 Bytes

Versions: 6

Compression:

Stored size: 564 Bytes

Contents

#!/usr/bin/env ruby
#    This file is part of Metasm, the Ruby assembly manipulation suite
#    Copyright (C) 2006-2009 Yoann GUILLOT
#
#    Licence is LGPL, see LICENCE in the top-level directory


#
# compiles a PE file with the specified resource directory
# TODO build an icon or something
#

require 'metasm'

pe = Metasm::PE.assemble Metasm::Ia32.new, <<EOS
.entrypoint
	xor eax, eax
	ret
EOS

rsrc = { 1 => { 1 => { 2 => 'xxx' }, 'toto' => { 12 => 'tata' } } }
pe.resource = Metasm::COFF::ResourceDirectory.from_hash rsrc

pe.encode_file('pe-testrsrc.exe')

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
metasm-1.0.5 samples/pe-testrsrc.rb
metasm-1.0.4 samples/pe-testrsrc.rb
metasm-1.0.3 samples/pe-testrsrc.rb
metasm-1.0.2 samples/pe-testrsrc.rb
metasm-1.0.1 samples/pe-testrsrc.rb
metasm-1.0.0 samples/pe-testrsrc.rb