Advertisement
Guest User

Untitled

a guest
Nov 8th, 2011
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.49 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. OBJDUMP=/opt/arm/bin/arm_v7-objdump-objdump
  4. GCC=/opt/arm/bin/arm_v7-gcc
  5. GPP=/opt/arm/bin/arm_v7-g++
  6. LOGFILE=test.log
  7.  
  8. # Создали команду отчета по началу и завершению теста
  9. log() {
  10.  message="$(date +"%y-%m-%d %T") $@"
  11.  echo $message
  12.  echo $message >> $LOGFILE
  13. }
  14.  
  15. # Начало тестов
  16. log "Start testing"
  17.  
  18. # Даем права на запись
  19. chmod 644 demo.cpp demopp.cpp
  20.  
  21. # Компилируем исходник С в объетник под ARM архитектуру
  22. $GCC -c demo.cpp
  23. # Компилируем исходник С++ в объетник под ARM архитектуру
  24. $GPP -c demopp.cpp
  25.  
  26. # Начинаем Тест 8.5
  27. echo -ne "Test 8.5\t" >> test.log
  28.  
  29. # Выполняем скрипт из ТестКейса для обфускации объетника
  30. # demopp.o в demopp.o.out
  31. ./obfuscator -i demopp.o -o demopp.o.out --parameters > test1.txt
  32.  
  33. # Дизассемблируем обфусцированый файл в текстовый документ
  34. $OBJDUMP -d demopp.o.out > demopp.o.out.txt
  35. # Дизассемблируем оригинальный файл в текстовый документ
  36. $OBJDUMP -d demopp.o. > demopp.o.txt
  37.  
  38. # Сравниваем оригинал и файл после обфускации
  39. diff -q -I'^[demo]' demopp.o.txt demopp.o.out.txt > /dev/null
  40. if [ $? -eq 0 ]; then
  41.         # Если файлы идентичны то создается запись FAIL (ошибка, обфускация не
  42.         # реализована)
  43.         echo -ne "FAIL\t" >> test.log
  44. else
  45.         # Если строки внутри файлов различны то создается запись PASS и выполняется
  46.         # следующая запись
  47.         echo -ne "PASS\t" >> test.log
  48.         # На данном этапе нужно пометить различия, в каком именно функциональном
  49.         # блоке находятся несоответствия и залогить их
  50.         sed -n '/^[0-9].*test3.*:$/,/^$/p' > test2.txt
  51.     cat test1.txt | sed 's/^/\t/' >> $LOGFILE
  52.     cat -n test2.txt | sed 's/^/\t/' >> $LOGFILE
  53. fi
  54.  
  55. # Удаляем все рабочие файлы данного теста для проведения следующих тестов
  56. rm demopp.o.txt demopp.o.out.txt demopp.o.out ...
  57. # Тестирование завершено
  58. log "Finished testing"
  59.  
  60.  
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement