Prolog i epilog kompilatora MinGW GCC/G++

Analiza działania kompilatora MinGW z blogu Gynvaela Coldwinda:

Czy zastanawialiście się kiedyś czemu prosty Hello World skompilowany MinGW GCC do exeka zajmuje 15kb (po strip 5kb), a do obiektu (COFF .o) 0.5kb ? Co takiego kompilator dodaje że 0.5kb rośnie do 15kb/5kb ? Oczywiście prolog (kod wykonywany przed “main”) oraz epilog (kod wykonywany po “main”). Dzisiejszy post poświęcę temu co prolog i epilog MinGW GCC robi ;>

Więcej na stronie:

http://gynvael.uw-blog.org/?p=6

Nowa wersja Hiew 7.47

Wyszła nowa wersja hex-edytora Hiew, dostępna dla zarejestrowanych użytkowników.

What’s new:

  • FIX: crash if hiew7.ini is empty or only-comment lines
  • FIX: crash if print into existed file and press esc
  • Code lighting
  • HEM 0.40
  • „SignImmediate = On/Off” in ini-file
  • „SignDisplacement = On/Off” in ini-file
  • OpcodeShowBytes up to 15

http://www.hiew.ru

x86 Virtualizer

Wirtualizer kodu, czyli narzędzie zmieniające kod assemblera x86 w danej aplikacji na kod wirtualnej maszyny mający na celu utrudnienia analizy zwirtualizowanych procedur aplikacji.

Trochę to zawile brzmi, ale obecnie wirtualizery stanowią prawdziwą ścianę ognia w systemach ochrony aplikacji, gdyż crackerzy (a nie hakerzy) aby przełamać zabezpieczenie są w takich sytuacjach zmuszeni do odtworzenia zwirtualizowanego kodu w celu analizy systemu zabezpieczenia. Odtworzenie kodu po takich tranformacjach jest niesłychanie trudne i wymaga sporej wiedzy oraz cierpliwości.

O skuteczności virtualizerów może świadczyć system ochrony Star-Force, używany do zabezpieczania gier, w którym również zastosowano przekształcanie kodu aplikacji do kodu wirtualnej maszyny.

Tego typu narzędzie, wraz z kodami źródłowymi w C++ oraz assemblerze zostało opublikowane przez polskiego reversera ReWolf’a i można je ściągnąć ze strony:

http://www.rewolf.pl/