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
ide_ida-pro [2010/12/29 01:00]
msulek
ide_ida-pro [2010/12/29 01:39] (aktualna)
msulek
Linia 3: Linia 3:
 IDA Pro (skrót IDA oznacza //'​Interactive Disassembler'//​ co w tłumaczeniu na język polski oznacza //'​Interaktywną Deasemblację'//​) to program umożliwiający deasemblację oraz debugowanie programów wykonywalnych systemów Linux, Windows oraz Mac OS X. Wachlarz możliwości programu oraz jego zastosowań jest na tyle szeroki, że trudno opisać go kilkoma zdaniami.\\ ​ IDA Pro (skrót IDA oznacza //'​Interactive Disassembler'//​ co w tłumaczeniu na język polski oznacza //'​Interaktywną Deasemblację'//​) to program umożliwiający deasemblację oraz debugowanie programów wykonywalnych systemów Linux, Windows oraz Mac OS X. Wachlarz możliwości programu oraz jego zastosowań jest na tyle szeroki, że trudno opisać go kilkoma zdaniami.\\ ​
 Wydawcą programu jest firma Hex-Rays (http://​www.hex-rays.com),​ która udostępnia za darmo, do celów niekomercyjnych wersję o jeden mniejszą niż aktualna wersja płatna. Obecnie jest to wersja 5.0.\\ Wydawcą programu jest firma Hex-Rays (http://​www.hex-rays.com),​ która udostępnia za darmo, do celów niekomercyjnych wersję o jeden mniejszą niż aktualna wersja płatna. Obecnie jest to wersja 5.0.\\
-Należy wspomnieć o głównym zastosowaniu jakim jest wykorzystanie programu IDA Pro  do wspomagania techniki inżynierii wstecznej. Sama [[http://​pl.wikipedia.org/​wiki/​In%C5%BCynieria_odwrotna|inżyniera wsteczna]] (zwana również odwrotną) to szerokie pojęcie funkcjonujące nie tylko w informatyce,​ ale również w wielu innych dziedzinach życia – należy ​zaznaczyć, że w niektórych krajach technika ta uznawana jest za nielegalną. W samej informatyce umożliwia ona pisanie poprawek do istniejących już programów, wstrzykiwanie własnego kodu i jego wykonywanie oraz wiele więcej. Jak nie trudno się domyśleć pociąga to za sobą między innymi możliwość [[http://​pl.wikipedia.org/​wiki/​Cracking#​Cracking_oprogramowania | crackingu oprogramowania]] oraz tworzenia generatorów kluczy dla programów w wersji trial, które umożliwiają odblokowanie funkcjonalności z poziomu programu.\\+Należy wspomnieć o głównym zastosowaniu jakim jest wykorzystanie programu IDA Pro  do wspomagania techniki inżynierii wstecznej. Sama [[http://​pl.wikipedia.org/​wiki/​In%C5%BCynieria_odwrotna|inżyniera wsteczna]] (zwana również odwrotną) to szerokie pojęcie funkcjonujące nie tylko w informatyce,​ ale również w wielu innych dziedzinach życia – trzeba ​zaznaczyć, że w niektórych krajach technika ta uznawana jest za nielegalną. W samej informatyce umożliwia ona pisanie poprawek do istniejących już programów, wstrzykiwanie własnego kodu i jego wykonywanie oraz wiele więcej. Jak nie trudno się domyśleć pociąga to za sobą między innymi możliwość [[http://​pl.wikipedia.org/​wiki/​Cracking#​Cracking_oprogramowania | crackingu oprogramowania]] oraz tworzenia generatorów kluczy dla programów w wersji trial, które umożliwiają odblokowanie funkcjonalności z poziomu programu.\\
 Drugim zastosowaniem wartym uwagi jest możliwość debugowania wykonywalnych programów systemu Windows w zdalnym środowisku uruchomionym na systemie Linux, co daje możliwość debugowania wirusów bez obawy o bezpieczeństwo systemów: zarówno zdalnego jak i lokalnego. Więcej informacji na ten temat dostępne pod adresem http://​www.hex-rays.com/​idapro/​linux/​index.htm. Poniżej cytat z opisu producenta. Drugim zastosowaniem wartym uwagi jest możliwość debugowania wykonywalnych programów systemu Windows w zdalnym środowisku uruchomionym na systemie Linux, co daje możliwość debugowania wirusów bez obawy o bezpieczeństwo systemów: zarówno zdalnego jak i lokalnego. Więcej informacji na ten temat dostępne pod adresem http://​www.hex-rays.com/​idapro/​linux/​index.htm. Poniżej cytat z opisu producenta.
  
Linia 33: Linia 33:
   - Na samym dole ekranu program wyświetla aktualny status działania, zakończenie analizy objawia się komunikatem 'The initial autoanalysis has been finished'​. Warto zaznaczyć, że zmiany wynikające z postępu analizy możemy obserwować na żywo w oknie programu.   - Na samym dole ekranu program wyświetla aktualny status działania, zakończenie analizy objawia się komunikatem 'The initial autoanalysis has been finished'​. Warto zaznaczyć, że zmiany wynikające z postępu analizy możemy obserwować na żywo w oknie programu.
   - 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.\\
 +Przykładowy wygląd programu po utworzeniu pierwszego projektu, a w czasie trwania analizy pliku.\\
 +{{:​mainwindowida.png?​400x213|}}
  
 ===== Poruszanie się po programie ===== ===== Poruszanie się po programie =====
Linia 40: Linia 42:
 Okno główne programu składa się z tradycyjnego menu, które daje nam następujące możliwości:​\\ Okno główne programu składa się z tradycyjnego menu, które daje nam następujące możliwości:​\\
   - '​File'​ - wszelkie operacje dotyczące plików: tworzenie nowego projektu, zamykanie projektu, ładowanie plików do istniejącego,​ produkowanie plików wynikowych z analizy pliku, uruchamianie komendy programu IDA etc.   - '​File'​ - wszelkie operacje dotyczące plików: tworzenie nowego projektu, zamykanie projektu, ładowanie plików do istniejącego,​ produkowanie plików wynikowych z analizy pliku, uruchamianie komendy programu IDA etc.
-  - '​Edit'​ - opcje związane z edytowaniem treść, program umożliwia zaawansowane edytowanie treści utworzonych podczas analizy. Należy tu zaznaczyć, że podczas całego procesu program sam generuje nazwy funkcji i zmiennych, które jednak mogą być zmieniane (tzw. refaktoryzacja).+  - '​Edit'​ - opcje związane z edytowaniem treści, program umożliwia zaawansowane edytowanie treści utworzonych podczas analizy. Należy tu zaznaczyć, że podczas całego procesu program sam generuje nazwy funkcji i zmiennych, które jednak mogą być zmieniane (tzw. refaktoryzacja).
   - '​Jump'​ - umożliwia przechodzenie do określonego miejsca w projekcie. Możemy to uczynić na wiele różnych sposobów - między innymi podając adres lub nazwę zarówno funkcji jak i zmiennej.   - '​Jump'​ - umożliwia przechodzenie do określonego miejsca w projekcie. Możemy to uczynić na wiele różnych sposobów - między innymi podając adres lub nazwę zarówno funkcji jak i zmiennej.
   - '​Search'​ - pozwala na przeszukiwanie projektu.   - '​Search'​ - pozwala na przeszukiwanie projektu.
Linia 84: Linia 86:
 Poniżej przykładowy graf przepływu.\\ Poniżej przykładowy graf przepływu.\\
  
-{{:​flowchart.jpg|}} +{{:​flowchart.jpg?400x203|}}
- +
-Poszczególne grafy można wygenerować korzystając z menu górnego: '​View'​ - '​Charts'​. +
  
 +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.1293580850.txt.gz · ostatnio zmienione: 2010/12/29 01:00 przez msulek