يوفر هذا البرنامج طريقة بسيطة لتصور المناطق المختلفة لملف ثنائي.
هذه بعض المراجع التي ألهمت هذا المشروع:
إذا كنت مهتمًا بمزيد من الأساليب المهنية ، تحقق من الروابط التالية:
يعتمد البرنامج على libpng لتصدير الصورة. قم بتثبيته من مدير الحزمة.
# Arch-based distros
pacman -S libpng
# Gentoo
emerge media-libs/libpngبمجرد تثبيت جميع التبعيات ، قم بتجميع البرنامج.
git clone https://github.com/8dcc/bin-graph
cd bin-graph
makeإذا كنت ترغب في تثبيته على نظامك ، قم بتشغيل الأمر التالي.
sudo make install هناك العديد من أوضاع الرسم البياني المختلفة التي تحدد كيفية تمثيل المدخلات الثنائية في صورة الإخراج. يمكن العثور على قائمة الوضع الكامل مع أوصافهم باستخدام أمر help البرنامج.
bin-graph --help
# Usage:
# ./bin-graph [OPTION...] INPUT OUTPUT.png
#
# ... يتضمن هذا المشروع أيضًا نصًا بنصيًا. يستخدم readelf و grep للعثور على إزاحة وحجم المنطقة المحددة ، ويستخدم ذلك كحجال --offset-* لـ bin-graph . سيتم تمرير خيارات إضافية بعد اسم القسم إلى bin-graph .
./bin-graph-section.sh SECTION [OPTION...] INPUT OUTPUT.png
# ...حاولت أن أجعل كل جزء من البرنامج معياريًا ومستقلًا قدر الإمكان ، لمزيد من الصيانة ولتوسيع أسهل.
هذه هي العملية الأساسية لإنشاء صورة من ثنائي.
read_file ، المحددة في read_file.c.Image ، وهي مجرد مجموعة من هياكل Color RGB ، إلى جانب أبعادها. يحدد وضع البرنامج (الذي ربما تم كتابته بشكل مفرط مع المعلمة --mode ) وظيفة image_* المستخدمة. يتم تعريف وظائف image_* في Image.c. لمزيد من المعلومات حول الأوضاع المتاحة ، راجع الاستخدام والأوضاع.Image إلى ملف PNG مع وظيفة image2png ، محددة في Image.c../bin-graph --mode grayscale bin-graph examples/grayscale.png
./bin-graph --mode ascii bin-graph examples/ascii.png
./bin-graph --mode entropy --transform-squares 16 bin-graph examples/entropy-squared.png
# Only the .text section of the ELF file
./bin-graph-section.sh .text --mode histogram bin-graph examples/histogram.png
# Only the .rodata section of the ELF file
./bin-graph-section.sh .rodata --mode bigrams bin-graph examples/rodata-bigrams.png
./bin-graph --mode dotplot --zoom 1 --offset-start 5000 --offset-end 5500 input.wav examples/dotplot.png