Example #1
0
 before(function(done){
   elf.load('test/data/sifteo-cubes/membrane.elf', function(err, file) {
     if (err) return done(err);
     elfFile = file;
     return done();
   });
 });
Example #2
0
 it('should parse correctly', function(done) {
   elf.load('test/data/lua-5.2.1_SunOS510_bin/lua52', function(err, file) {
     expect(err).to.be.null;
     
     /*
     console.log('type: ' + file.type);
     console.log('machine: ' + file.machine);
     console.log('version: ' + file.version);
     console.log('entry: ' + file.entry);
     console.log('phoff: ' + file.phoff);
     console.log('shoff: ' + file.shoff);
     console.log('flags: ' + file.flags);
     console.log('ehsize: ' + file.ehsize);
     console.log('phentsize: ' + file.phentsize);
     console.log('phnum: ' + file.phnum);
     console.log('shentsize: ' + file.shentsize);
     console.log('shnum: ' + file.shnum);
     console.log('shstrndx: ' + file.shstrndx);
     */
     
     expect(file.enc).to.equal(elf.Encoding.MSB);
     expect(file.type).to.equal(elf.Type.EXECUTABLE);
     expect(file.machine).to.equal(elf.Machine.SPARC);
     expect(file.version).to.equal(elf.Version.CURRENT);
     expect(file.entry).to.equal(81864); // ???
     expect(file.phoff).to.equal(52);
     expect(file.shoff).to.equal(180668);
     expect(file.flags).to.equal(0);
     expect(file.ehsize).to.equal(52);
     expect(file.phentsize).to.equal(32);
     expect(file.phnum).to.equal(5);
     expect(file.shentsize).to.equal(40);
     expect(file.shnum).to.equal(34);
     expect(file.shstrndx).to.equal(33);
     
     expect(file.pheaders).to.have.length(5);
     
     expect(file.sheaders).to.have.length(34);
     expect(file.sheaders[33].namendx).to.equal(279);
     expect(file.sheaders[33].name).to.equal('.shstrtab');
     expect(file.sheaders[33].type).to.equal(3);
     expect(file.sheaders[33].flags).to.equal(32);
     expect(file.sheaders[33].addr).to.equal(0);
     expect(file.sheaders[33].offset).to.equal(180379);
     expect(file.sheaders[33].size).to.equal(289);
     expect(file.sheaders[33].link).to.equal(0);
     expect(file.sheaders[33].info).to.equal(0);
     expect(file.sheaders[33].addralign).to.equal(1);
     expect(file.sheaders[33].entsize).to.equal(0);
     
     done();
   });
 });
Example #3
0
 it('should parse correctly', function(done) {
   elf.load('test/data/lua-5.2.1_Linux26_bin/lua52', function(err, file) {
     expect(err).to.be.null;
     
     /*
     console.log('type: ' + file.type);
     console.log('machine: ' + file.machine);
     console.log('version: ' + file.version);
     console.log('entry: ' + file.entry);
     console.log('phoff: ' + file.phoff);
     console.log('shoff: ' + file.shoff);
     console.log('flags: ' + file.flags);
     console.log('ehsize: ' + file.ehsize);
     console.log('phentsize: ' + file.phentsize);
     console.log('phnum: ' + file.phnum);
     console.log('shentsize: ' + file.shentsize);
     console.log('shnum: ' + file.shnum);
     console.log('shstrndx: ' + file.shstrndx);
     */
     
     expect(file.enc).to.equal(elf.Encoding.LSB);
     expect(file.type).to.equal(elf.Type.EXECUTABLE);
     expect(file.machine).to.equal(elf.Machine.I386);
     expect(file.version).to.equal(elf.Version.CURRENT);
     expect(file.entry).to.equal(134524860); // ???
     expect(file.phoff).to.equal(52);
     expect(file.shoff).to.equal(134068);
     expect(file.flags).to.equal(0);
     expect(file.ehsize).to.equal(52);
     expect(file.phentsize).to.equal(32);
     expect(file.phnum).to.equal(7);
     expect(file.shentsize).to.equal(40);
     expect(file.shnum).to.equal(28);
     expect(file.shstrndx).to.equal(25);
     
     expect(file.pheaders).to.have.length(7);
     
     expect(file.sheaders).to.have.length(28);
     expect(file.sheaders[25].namendx).to.equal(17);
     expect(file.sheaders[25].name).to.equal('.shstrtab');
     expect(file.sheaders[25].type).to.equal(3);
     expect(file.sheaders[25].flags).to.equal(0);
     expect(file.sheaders[25].addr).to.equal(0);
     expect(file.sheaders[25].offset).to.equal(133851);
     expect(file.sheaders[25].size).to.equal(215);
     expect(file.sheaders[25].link).to.equal(0);
     expect(file.sheaders[25].info).to.equal(0);
     expect(file.sheaders[25].addralign).to.equal(1);
     expect(file.sheaders[25].entsize).to.equal(0);
     
     done();
   });
 });
Example #4
0
 it('should parse correctly', function(done) {
   elf.load('test/data/lua-5.2.1_Linux26_64_bin/lua52', function(err, file) {
     expect(err).to.be.null;
     
     /*
     console.log('type: ' + file.type);
     console.log('machine: ' + file.machine);
     console.log('version: ' + file.version);
     console.log('entry: ' + file.entry);
     console.log('phoff: ' + file.phoff);
     console.log('shoff: ' + file.shoff);
     console.log('flags: ' + file.flags);
     console.log('ehsize: ' + file.ehsize);
     console.log('phentsize: ' + file.phentsize);
     console.log('phnum: ' + file.phnum);
     console.log('shentsize: ' + file.shentsize);
     console.log('shnum: ' + file.shnum);
     console.log('shstrndx: ' + file.shstrndx);
     */
     
     expect(file.enc).to.equal(elf.Encoding.LSB);
     expect(file.type).to.equal(elf.Type.EXECUTABLE);
     expect(file.machine).to.equal(elf.Machine.X86_64);
     expect(file.version).to.equal(elf.Version.CURRENT);
     expect(file.entry).to.equal(4210496); // ???
     expect(file.phoff).to.equal(64);
     expect(file.shoff).to.equal(181128);
     expect(file.flags).to.equal(0);
     expect(file.ehsize).to.equal(64);
     expect(file.phentsize).to.equal(56);
     expect(file.phnum).to.equal(8);
     expect(file.shentsize).to.equal(64);
     expect(file.shnum).to.equal(30);
     expect(file.shstrndx).to.equal(27);
     done();
   });
 });
Example #5
0
 it('should parse correctly', function(done) {
   elf.load('test/data/lua-5.2.1_SunOS510x86_bin/lua52', function(err, file) {
     expect(err).to.be.null;
     
     expect(file.enc).to.equal(elf.Encoding.LSB);
     expect(file.type).to.equal(elf.Type.EXECUTABLE);
     expect(file.machine).to.equal(elf.Machine.I386);
     expect(file.version).to.equal(elf.Version.CURRENT);
     expect(file.entry).to.equal(134562592); // ???
     expect(file.phoff).to.equal(52);
     expect(file.shoff).to.equal(164592);
     expect(file.flags).to.equal(0);
     expect(file.ehsize).to.equal(52);
     expect(file.phentsize).to.equal(32);
     expect(file.phnum).to.equal(6);
     expect(file.shentsize).to.equal(40);
     expect(file.shnum).to.equal(28);
     expect(file.shstrndx).to.equal(27);
     
     expect(file.pheaders).to.have.length(6);
     
     expect(file.sheaders).to.have.length(28);
     expect(file.sheaders[27].namendx).to.equal(193);
     expect(file.sheaders[27].name).to.equal('.shstrtab');
     expect(file.sheaders[27].type).to.equal(3);
     expect(file.sheaders[27].flags).to.equal(32);
     expect(file.sheaders[27].addr).to.equal(0);
     expect(file.sheaders[27].offset).to.equal(164388);
     expect(file.sheaders[27].size).to.equal(203);
     expect(file.sheaders[27].link).to.equal(0);
     expect(file.sheaders[27].info).to.equal(0);
     expect(file.sheaders[27].addralign).to.equal(1);
     expect(file.sheaders[27].entsize).to.equal(0);
     
     done();
   });
 });