Giter Site home page Giter Site logo

elfparser-ng's Introduction

mentebinaria

Source code of mentebinaria.com.br (can be turned into a small CMS in the future)

elfparser-ng's People

Contributors

merces avatar vitormob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

elfparser-ng's Issues

Menu option names

I suggest the following changes to menu options:

  • Rename Find Table Section to Find Section under Edit.
  • Rename Find Table Symbols to Find Symbol under Edit.
  • Rename Find Table Programs to Find Segment under Edit.
  • Move Edit -> Hex -> Goto... back to Edit -> Goto....

Parts of text missing in tables

Because the text in centered, I can't read the full content of the cell (unless I have a really huge monitor, which is not the case):

image

Crash on Ubuntu 22.04

If you open a file and resize the left column all the way right to the end, you get a crash and a Floating point exception (code dumped) message:

elfparserngcrash

Bug in SEGV at brach c0bbb5d (Elf Malformed)

  • Steps to reproduce
git clone https://github.com/mentebinaria/elfparser-ng.git
cd elfparser-ng
sed -i 's/"-g -DDEBUG"/"-fsanitize=address -static-libasan -g"/g' CMakeLists.txt
mkdir build
cd build
cmake ../ -Dqt=OFF -Ddebug=ON 
make -j 8
./elfparser-cli-ng -f poc -p
  • Platform
g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  • ASAN(poc1)
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3665745==ERROR: AddressSanitizer: SEGV on unknown address 0x7ff7d2329810 (pc 0x556d6e1e7b0e bp 0x7ffd255ba5a0 sp 0x7ffd255ba300 T0)
==3665745==The signal is caused by a READ memory access.
    #0 0x556d6e1e7b0e in AbstractProgramHeader::getType() const /home/manny/elfparser-ng/src/abstract_programheader.cpp:140
    #1 0x556d6e22727c in AbstractSegments::makeSegmentFromProgramHeader(AbstractProgramHeader const&) /home/manny/elfparser-ng/src/abstract_segments.cpp:81
    #2 0x556d6e179549 in ProgramHeaders::extractSegments(AbstractSegments&) /home/manny/elfparser-ng/src/programheaders.cpp:30
    #3 0x556d6e104a2d in ELFParser::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/manny/elfparser-ng/src/elfparser.cpp:170
    #4 0x556d6e0c9945 in do_parsing(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool) /home/manny/elfparser-ng/src/main.cpp:92
    #5 0x556d6dfea692 in main /home/manny/elfparser-ng/src/main.cpp:146
    #6 0x7ff78863ed8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #7 0x7ff78863ee3f in __libc_start_main_impl ../csu/libc-start.c:392
    #8 0x556d6dff2d24 in _start (/home/manny/elfparser-ng/build/elfparser-cli-ng+0x7cd24)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/manny/elfparser-ng/src/abstract_programheader.cpp:140 in AbstractProgramHeader::getType() const
==3665745==ABORTING
  • ASAN(poc2)
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3670699==ERROR: AddressSanitizer: SEGV on unknown address 0x7f8fb93c0555 (pc 0x562389a14f05 bp 0xffffffffffffff90 sp 0x7ffdf801f6b0 T0)
==3670699==The signal is caused by a READ memory access.
    #0 0x562389a14f05 in DynamicSection::createDynamic(char const*, unsigned int, unsigned int, unsigned long, bool, bool, AbstractSegments const&) /home/manny/elfparser-ng/src/dynamicsection.cpp:105
    #1 0x562389a61c58 in AbstractSegments::createDynamic() /home/manny/elfparser-ng/src/abstract_segments.cpp:99
    #2 0x56238995aa35 in ELFParser::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/manny/elfparser-ng/src/elfparser.cpp:171
    #3 0x56238991f945 in do_parsing(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool) /home/manny/elfparser-ng/src/main.cpp:92
    #4 0x562389840692 in main /home/manny/elfparser-ng/src/main.cpp:146
    #5 0x7f895783bd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #6 0x7f895783be3f in __libc_start_main_impl ../csu/libc-start.c:392
    #7 0x562389848d24 in _start (/home/manny/elfparser-ng/build/elfparser-cli-ng+0x7cd24)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/manny/elfparser-ng/src/dynamicsection.cpp:105 in DynamicSection::createDynamic(char const*, unsigned int, unsigned int, unsigned long, bool, bool, AbstractSegments const&)
==3670699==ABORTING
  • ASAN(poc3)
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3671761==ERROR: AddressSanitizer: SEGV on unknown address 0x7fb9f536458b (pc 0x7fb9b1af0901 bp 0x000000000000 sp 0x7ffd13e3df18 T0)
==3671761==The signal is caused by a READ memory access.
    #0 0x7fb9b1af0901 in memcpy (/lib/x86_64-linux-gnu/libc.so.6+0xc4901)
    #1 0x7fb9b1ea6f93 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x14bf93)
    #2 0x7fb9b1ea7fdd in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x14cfdd)
    #3 0x55deda35b130 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*, unsigned long) /usr/include/c++/11/bits/basic_string.h:1443
    #4 0x55deda35b130 in NoteSegment::NoteSegment(char const*, unsigned int, unsigned int, elf::section_type) /home/manny/elfparser-ng/src/segment_types/note_segment.cpp:83
    #5 0x55deda310154 in AbstractSegments::generateSegments() /home/manny/elfparser-ng/src/abstract_segments.cpp:161
    #6 0x55deda204a3d in ELFParser::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/manny/elfparser-ng/src/elfparser.cpp:172
    #7 0x55deda1c9945 in do_parsing(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool) /home/manny/elfparser-ng/src/main.cpp:92
    #8 0x55deda0ea692 in main /home/manny/elfparser-ng/src/main.cpp:146
    #9 0x7fb9b1a55d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #10 0x7fb9b1a55e3f in __libc_start_main_impl ../csu/libc-start.c:392
    #11 0x55deda0f2d24 in _start (/home/manny/elfparser-ng/build/elfparser-cli-ng+0x7cd24)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0xc4901) in memcpy
==3671761==ABORTING

poc : poc.zip

Offset address update

When you click a byte in the hex view, the Offset address at the bottom does not update.

Help items don't work

System: Ubuntu 22.04 (AppImage).

Help -> Quick Help and Help -> Report Bug... throw a Permission denied error on console and don't work.

Needed libraries on Ubuntu 22.04

I had to install both FUSE and qtbase5-dev before running the AppImage on Linux (Ubuntu 22.04 64-bits). Fixed with:

sudo apt install fuse qtbase5-dev

Is this expected?

After installing both and trying to execute the AppImage binary, it says libicudata.so.71 is missing. It also complains about libicui18n.so.71, and libicuuc.so.71. Here's how I fixed it:

ln -s /usr/lib/x86_64-linux-gnu/libicudata.so.70.1 /usr/lib/x86_64-linux-gnu/libicudata.so.71
ln -s /usr/lib/x86_64-linux-gnu/libicui18n.so.70.1 /usr/lib/x86_64-linux-gnu/libicui18n.so.71
ln -s /usr/lib/x86_64-linux-gnu/libicuuc.so.70.1 /usr/lib/x86_64-linux-gnu/libicuuc.so.71

Then it runs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.