[RE]Przydatne rzeczy.

0wn3r

Były Moderator
Dołączył
Marzec 10, 2007
Posty
1330
Reverse engineering(inżynieria wsteczna) - to proces badania produktu (urządzenia, programu komputerowego) w celu ustalenia jak on dokładnie działa, a także w jaki sposób i jakim kosztem został wykonany. Zazwyczaj prowadzony w celu zdobycia informacji niezbędnych do skonstruowania odpowiednika.

Niezbędne narzędzia do RE:

1. Debugger - program komputerowy służący do dynamicznej analizy innych programów, w celu odnalezienia i identyfikacji zawartych w nich błędów, zwanych z angielskiego bugami (robakami). Proces nadzorowania wykonania programu za pomocą debuggera określa się mianem debugowania.
2. Disassembler - program tłumaczący kod maszynowy na kod źródłowy w asemblerze. Disassembler różni się od dekompilatora tym, iż dekompilator daje wynik w postaci kodu źródłowego któregoś z języków wysokiego poziomu (np. Java, Python). Assembler zwykle pozwala na korzystanie z komentarzy i stałych wewnątrz programu; są one usuwane podczas procesu zamiany kodu asemblera na kod maszynowy.
3. Hex Edytor - tego nie trzeba tłumaczyć.
4. Kompresor - polega na zmianie sposobu zapisu informacji tak, aby zmniejszyć redundancję i tym samym objętość zbioru, nie zmieniając przenoszonych informacji. Innymi słowy chodzi o wyrażenie tego samego zestawu informacji, lecz za pomocą mniejszej liczby bitów. Działaniem przeciwnym do kompresji jest dekompresja.
5. Dekompilator - program, który odczytuje inny program, napisany w języku maszynowym (binarnym), i tłumaczy go na odpowiednik w języku programowania wyższego poziomu (Java, Python).
6. Assembler - tego również nie trzeba tłumaczyć.
7. Analizator plików - program, dzięki któremu możemy dokonać analizy plików PE.
8. Edytor zasobów - program pozwalający usuwać, zmieniać zasoby pliku PE.

Debuggery:
- OllyDbg
- DeFixed
- SoftIce
SoftIce part1
SoftIce part2
Disassemblery:
- W32DASM
Hex Edytory:
- HIEW
- XVI32
- WinHex
Kompresory:
- UPX
- EXE32PACK
- PESPIN
Dekompilatory:
- DeDe
- Spices
Assemblery:
- FASM
- MASM32
- NASM
Analizatory plików:
- PEID
- FileAnalyzer
Edytory zasobów:
- eXeScope
- ResHacker

Oprócz tego, istnieje wiele innych przydatnych aplikacji, ale nie będę ich teraz wymieniał.

Aby zacząć "zabawę" z reverse engineeringiem, trzeba znać podstawy asma(NASM/FASM/TASM/MASM). Jest to niezbędne, gdyż zdekompilowany program, jest właśnie przedstawiony w postaci assemblera.

Przydatne linki:
- ProTools
- HexMnemonic
- Kurs assemblera
- IczTutes
- MASM32

To by było na tyle, jeśli macie jakieś przydatne linki, programy, to dopisywać.
 

hxv

Były Moderator
Dołączył
Sierpień 9, 2006
Posty
797
Ja polecę jeszcze stronkę http://exetools.com/ , od dłuższego czasu nie jest aktualizowana ale jest na niej mnóstwo przydatnych narzędzi.
Poza tym całkiem ciekawe są zestawy które zawierają wszystkie podstawowe narzędzia np. Crackerskit 2 w skład którego wchodzą
Kod:
CrackersKit 2.0:

Analysis :

OllyDbg 1.10 & Plugins - Modified by SLV *NEW*
W32Dasm 8.93 - Patched *NEW*
PEiD 0.93 + Plugins *NEW*
RDG Packer Detector v0.5.6 Beta - English *NEW*

Rebuilding :

ImpRec 1.6 - Fixed by MaRKuS_TH-DJM/SnD *NEW*
Revirgin 1.5 - Fixed *NEW*
LordPE De Luxe B *NEW*

Packers :

FSG 2.0
MEW 11 1.2 SE
UPX 1.25 & GUI *NEW*
SLVc0deProtector 0.61 *NEW*
ARM Protector v0.3 *NEW*
WinUpack v0.31 Beta *NEW*

Patchers :

dUP 2 *NEW*
CodeFusion 3.0
Universal Patcher Pro v2.0
Universal Patcher v1.7 *NEW*
Universal Loader Creator v1.2 *NEW*
aPatch v1.07
PMaker v1.2.0.0 *NEW*
Tola's Patch Engine v2.03b
ABEL Loader v2.31
Yoda's Process Patcher *NEW*
Registry Patch Creator *NEW*
ScAEvoLa's PatchEngine v1.33 *NEW*
Dogbert's Genuine Patching Engine v1.41 *NEW*
Graphical-PatchMaker v1.4 *NEW*
The aPE v0.0.7 BETA *NEW*
Liquid2 *NEW*
PELG v0.3 *NEW*
PrincessSandy v1.0 *NEW*

HEX Editor :

Biew v5.6.2
Hiew v7.10 *NEW*
WinHex v12.5 *NEW*

Decompilers :

DeDe 3.50.04
VB ’Decompiler’ Lite v0.4 *NEW*
Flasm

Unpackers :

ACProtect - ACStripper
ASPack - ASPackDie
ASProtect > Stripper 2.07 Final & Stripper 2.11 RC2 *NEW*
DBPE > UnDBPE
FSG 1.33 > Pumqara's Dumper
FSG 2.00 > UnFSG
MEW > UnMEW
PeCompact 1.x > UnPecomp
PEncrypt > UnPEncrypt
PeSpin 0.3 > DeSpinner 0.3
tELock 0.98-1.0 > UntELock
EXEStealth > UnStealth
Xtreme-Protector / Themida > XprotStripper v1.1 *NEW*
Morphine Killer 1.1 by SuperCracker/SND *NEW*
ASPR Dumper v0.1 *NEW*
Armadillo Process Detach v1.1 *NEW*
Armadillo Dumper v1.0 *NEW*
Armadillo Nanomite Fixer *NEW*
Armadillo Distance Decryptor aka Jump Table Fixer *NEW*
ArmTools (Translated!) *NEW*
ArmInline v0.1 *NEW*
Quick Unpack v1.0b3 *NEW*
Procdump v1.6.2 *NEW*

Keygenning : *NEW*

TMG Ripper Studio 0.02 *NEW*

Other :

FileMon v7 (Patched) *NEW*
RegMon v7 (Patched) *NEW*
RSATool 2
DAMN HashCalc
EVACleaner 2.7
Process Explorer
Resource Hacker
PUPE 2002
PointH Locator *NEW*
ASPR CRC Locator 1.2 *NEW*
PE Tools 1.5 RC5 *NEW*
API Address Finder *NEW*
Jump to Hex Convertor *NEW*
PE GeNeRaToR 1.2.1 *NEW*
Quick File Viewer v1.0.1 *NEW*
PE Insight 0.3b *NEW*
Crypto Searcher *NEW*
PE Editor v1.7 *NEW*
bkslash's Inline Patcher *NEW*
Stud_PE v2.1 *NEW*
Injecta v0.2 *NEW*
PE Rebuilder v0.96b *NEW*
PE Optimizer v1.4 *NEW*
ToPo v1.2 *NEW*
NFO Builder 2000 v1.02 *NEW*
NFO File Maker v1.6 *NEW*
TMG NFOmakeR v1.0 *NEW*
hCalc *NEW*
 

0wn3r

Były Moderator
Dołączył
Marzec 10, 2007
Posty
1330
Dzięki za tą strone
smile.gif
A ja dodam jeszcze jeden link:
http://xchg.info/ARTeam/Tutorials/
 

hxv

Były Moderator
Dołączył
Sierpień 9, 2006
Posty
797
Ja przygotowałem sobie zestaw najpotrzebniejszych (dla mnie) narzędzi, może komuś się przyda. Zawartość:
Kod:
OllyDbg + Plugins:
  Debugger (z lekko zmodyfikowanym wyglądem - ikonki/kolory są identyczne jak w DeFixed), dołączone pluginy:
   Olly Advanced - plugin łatający kilka błędów w OllyDbg, posiada kilka opcji anty-debug i parę udogodnień (np. automatyczna maxymalizacja wszystkich okien)
   Analyze This - plugin przydaje się gdy Ctrl+A nie zwraca poprawnego kodu (też nie działa w 100% przypadków ale zawsze to coś);)
   RL!APIFinder - służy do znajdowania i zakładania BP na funkcje w załadowanych bibliotekach - przydatne jeśli w programie użyto LoadLibrary i GetProcAddress
   CommandBar - dodaje w dolnej części okna CPU pole do wpisywania komend (np. "AT 00401000" pozwala skoczyć w CPU pod adres 00401000 a "DUMP 00500000" pokaże nam w dumpie pamięć spod adresu 00500000)
   GODUP Plugin - pozwala m.in. wyświetlić zasoby i załadować pliki .map (np. z DeDe)
   Hide Debugger - plugin ukrywający działanie debuggera
   NonaWrite - umożliwia wklejanie większych porcji kodu do programu (więcej info w OllyDbg\Plugins\NONAWRITE.HLP)
   ODbgScript - obsługa skryptów, w katalogu OllyDbg\Scripts znajduje się kilkaset plików ze skryptami ułatwiającymi zdjęcie packerów/protectorów
   OllyDump - zapisywanie dumpa aktualnie debuggowanego procesu
   OllyStepNSearch - plugin pozwala na wyszukiwanie znanych stringów poprzez krokowe wykonywanie programu i sprawdzanie, czy nie pojawia sie on w rejestrach/na stosie
   De-Attach Helper - dzięki niemu możemy "uwolnić" program od debuggera nie wyłączając go oraz podpiąć się do najnowszego procesu
   Anti Anti BPM - plugin zabezpiecza nas przed usunięciem Hardware BP przez debuggowany program

DeDe:
  Program dekompilujący aplikacje napisane w Delphi - pozwala m.in. zobaczyć nazwy funkcji/procedur i ich adresy oraz tworzyć pliki .map

Stud_PE:
  Edytor plików wykonywalnych, można w nim np. zmienić EP, dodać nową sekcję lub przeglądnąć IAT

ImpREC:
  Import Reconstruktor umożliwia odbudowanie IAT (przydatny jeśli ręcznie rozpakowujemy program)

PEiD:
  Pozwala wykryć kompilator/użyte zabezpieczenie

ProtectionID:
  j/w

Resource Hacker:
  Edytor zasobów

RL-depacker:
  Unpacker, radzi sobie z wieloma (wg. informacji autora ponad 100) packerami/crypterami

Hexplorer:
  Hexedytor

Regshot:
  Program robi dwa zrzuty rejestru i pokazuje różnice - można łatwo sprawdzić jakie klucze dodał/modyfikował program
Dwonload: http://www.speedyshare.com/746537119.html (rar, ~10MB)
 
Do góry Bottom