Narzędzia użytkownika

Narzędzia witryny


ide_ida-pro

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
ide_ida-pro [2010/12/28 23:51]
msulek Opisano część funkcjonalności programu
ide_ida-pro [2010/12/29 01:19]
msulek
Linia 34: Linia 34:
   - W ten sposób utworzyliśmy nasz pierwszy projekt, teraz możemy przejść do analizy pliku wykonywalnego pod założonym przez siebie wcześniej kątem.\\   - W ten sposób utworzyliśmy nasz pierwszy projekt, teraz możemy przejść do analizy pliku wykonywalnego pod założonym przez siebie wcześniej kątem.\\
  
-===== Podstawowe funkcje programu ​=====+===== Poruszanie się po programie ​=====
 Jak już zostało wspomniane wcześniej, program ma bardzo dużo funkcji i opcji. Jednak dla rozpoczęcia nauki i tworzenia prostych projektów należy zapoznać się z podstawowymi przedstawionymi poniżej.\\ Jak już zostało wspomniane wcześniej, program ma bardzo dużo funkcji i opcji. Jednak dla rozpoczęcia nauki i tworzenia prostych projektów należy zapoznać się z podstawowymi przedstawionymi poniżej.\\
  
Linia 50: Linia 50:
  
 ==== Pasek narzędzi ==== ==== Pasek narzędzi ====
-W programie znajduje się również znany z wielu programów pasek narzędzi zawierający ikony będące skrótem do najpotrzebniejszych opcji.+W programie znajduje się również znany z wielu programów pasek narzędzi zawierający ikony będące skrótem do najpotrzebniejszych opcji.\\ 
 +Opcje te nie różnią się niczym od tych dostępnych z poziomu tradycyjnego menu górnego, stąd zaleca się samodzielne zapoznanie z tym paskiem - jeśli któraś z ikon jest niejasna po najechaniu na nią możemy zobaczyć jej opis.\\ 
 +Warto zauważyć, że poniżej paska narzędzi znajduje się również graf wypełnienia rezerwowanej przez analizowany program pamięci. Poszczególne kolory oznaczają jaki typ danych wypełnia pamięć.
  
 +==== Zakładki główne ====
 +Główną przestrzeń w programie zajmują zakładki zawierające wynik analizy.
 +  - 'IDA View-A'​ - okno zawierające kod programu w postaci instrukcji maszynowych.
 +  - 'Hex View-A'​ - kod programu w postaci szesnastkowej.
 +  - '​Exports'​ - zasoby zewnętrzne eksportowane z analizowanego programu.
 +  - '​Imports'​ - zasoby importowane do analizowanego programu.
 +  - '​Names'​ - nazwy zmiennych oraz stałych analizowanego programu oraz adresy, pod którymi się znajdują.
 +  - '​Functions'​ - nazwy funkcji analizowanego programu oraz ich adresy.
 +  - '​Strings'​ - adresy, długości oraz zawartość łańcuchów znaków z analizowanego programu.
 +  - '​Structures'​ - struktury danych z analizowanego programu.
 +  - '​Enums'​ - typy wyliczeniowe z analizowanego programu.\\
 +
 +===== Podstawowe funkcje =====
 +==== IDA View-A ====
 +W tym oknie IDA Pro umożliwia realizowanie podstawowej funkcji jaką jest analiza kodu. Jak zostało już wspomniane okno to wyświetla kod analizowanego pliku w postaci instrukcji maszynowych,​ a więc pozwala nam na dokładną analizę jego działania. Co więcej możemy ten kod edytować oraz w miejscach gdzie program zarezerwował pamięć, ale jej nie wykorzystuje dopisać własny kod i próbować wykonać go podczas działania analizowanego pliku. Jest to dość trudna operacja i wymaga od użytkownika znajomości programowania,​ działania aplikacji oraz specyfiki danego systemu.\\
 +
 +==== Strings ====
 +Jest to okno umożliwiające przejście do wybranego łańcuchu znaków oraz jego edycję. Jest to szczególnie przydatne gdy chcemy zmienić język jakiegoś programu - musimy jednak pamiętać, że zmiana długości powoduje późniejsze komplikacje,​ które winny być poprawione w innym miejscu kodu, dlatego najprościej nie zmieniać długości lub puste miejsca wypełniać niewidocznymi znakami. Jest to opcja, która dla początkującego użytkownika jest niezwykle ciekawa gdyż najprościej zobaczyć jej rezultaty.\\
 +
 +==== Graphs ====
 +Jest to zdecydowanie jedna z najpotrzebniejszych funkcji programu IDA Pro ułatwiająca analizę kodu maszynowego.\\
 +Mamy do wyboru 5 typów grafów:
 +  * 'Flow chart' - graf przepływu w analizowanym programie (przechodzenie po funkcjach oraz ciała tych funkcji).
 +  * '​Functions calls' - graf wołania funkcji, a więc graf prezentujący wywołania poszczególnych funkcji.
 +  * 'Xrefs to' - graf zależności do podanej referencji.
 +  * 'Xrefs from' - graf zależności z podanej referencji.
 +  * 'User xrefs chart' - graf zdefiniowany przez użytkownika.\\
 +Na początku procesu analizy zdaje się być 'Flow chart' dzięki, któremu bez problemu możemy zorientować się jaka jest struktura funkcjonalna programu oraz jak dostać się do poszczególnych funkcji.\\
 +Poniżej przykładowy graf przepływu.\\
 +
 +{{:​flowchart.jpg?​400x203|}}
 +
 +Poszczególne grafy można wygenerować korzystając z menu górnego: '​View'​ - '​Charts'​.\\
 +
 +===== Przydatne linki =====
 +Celem lepszego zrozumienia wykorzystania programu należy zapoznać się z publikacjami dotyczącymi zarówno samego programu jak i samych metod inżynierii wstecznej:
 + - [[http://​www.hexblog.com/​|Oficjalny program producenta programu.]]
  
  
  
  
ide_ida-pro.txt · ostatnio zmienione: 2010/12/29 01:39 przez msulek