Скачиваний:
13
Добавлен:
01.05.2014
Размер:
27.65 Кб
Скачать

#!/bin/bash

case $1 in

-1)echo "Vivod vseh ELF failov v deriktorii" $2

if ! [ -d $dir ]

then

echo "$2 ne yavlaetsa directoriey"

fi

in_dir=$(ls $2)

for file in $in_dir

do

if (file $2/$file | grep ELF)

then echo $2/$file "-ELF file"

fi

done;;

-2)echo "Tochka vhoda ispolnaemogo fayla"

if ! [ -f $2 ]

then

echo "$2 ne yavlaetsa faylom"

fi

`objdump -f $2 > 1.txt`

start=`tail -c 10 1.txt`

rm 1.txt

start=`hex2dec $start`

stop=`hex2dec $start +10`

objdump -d --start-address=$start --stop-address=$stop;;

-3)echo "Vivod vseh sekciy ELF fayla" $2

if ! [ -f $2 ]

then

echo "Parametr ne yavlaetsa filom"

fi

readelf -S $2;;

-4)echo "Proverka nalichiya stroki" $3 "v sekcii .dynstr fayla" $2

objdump -d -j .dynstr $2>f1

if (grep $3 f1)

then

echo "Sroka v sekcii presutstvuet."

else

echo "Stroki v sekcii ne obnarujeno."

fi

rm f1;;

-5)echo "Obyedenenie strok iz sekciy .dynstr v fayle dynstr_file"

if [ ! -d $2 ]

then

echo "$2 ne yavlaetsa directoriey"

fi

in_dir=$(ls $2)

for file in $in_dir

do

if (file $2/$file | grep ELF)

then

objdump -d -j .dynstr $2/$file>>dynstr_file

fi

done;;

-6)echo "Spisok READ_ONLY sekciy i ih summarniy razmer"

if ! [ -f $2 ]

then

echo "$2 Ne yavlaetsa faylom"

fi

readelf -S $2 | grep -v W >tmp

cut -c 58-64 tmp >tmp1

head -n 2 tmp1>tmp

sum=0

for sizeHex in `grep "" tmp1`

do

sizeDec=`hex2dec $sizeHex`

sum=`expr $sum + $sizeDec`

done

echo "Summarniy razmer sekciy: $sum"

rm tmp

rm tmp1;;

-7)echo "Spisok neopredelennih simvolov"

if ! [ -f $2 ]

then

echo "$2 ne yavlaetsa faylom"

fi

nm -u $2;;

-8)echo "Vivod asm koda dla EXEC faila"

readelf -h $2 | grep -w EXEC

if [ $? ]

then

objdump -d --start-address=$3 --stop-address=$4 $2

else

echo "Error! Eto ne EXEC file!"

fi;;

-HELP)echo "Perviy parametr - vibor deystviya:"

echo "-1 - Vivod vseh ELF faylov v zadannoy derictorii"

echo "-2 - Vivod tochki vhoda zadannogo fayla"

echo "-3 - Vivod vseh sekciy zadannogo ELF fayla"

echo "-4 - Proverka nalichiya stroki v sekcii .dynstr zadannogo fayla"

echo "-5 - Obyedinenie strok iz sekciy .dynstr v fayle dynstr_file"

echo "-6 - Spisok READ_ONLY sekciy i ih summarniy razmer"

echo "-7 - Spisok neopredelennih simvolov"

echo "-8 - Vivod asm koda dla EXEC faila";;

*)echo "Oshibka v parametrah. Vizovite -HELP dla spravki.";;

esac

Соседние файлы в папке Лабораторная работа №12