Bij het analyseren van malware kom ik packers tegen die de eigenlijke malwarecode in een nieuw voortgebracht proces injecteren en op die manier uitvoeren. Daarvoor creëren ze een proces in onderbroken staat, injecteren de code en hervatten het met ntdll.NtResumeThread
op Windows.
Ik zou graag aan het onderbroken proces willen koppelen na de injectie is gedaan, om het geheugen te dumpen en het uitgepakte binaire bestand op te halen. Daarvoor breek ik op ntdll.NtResumeThread
. Met Olly 2 kan ik me aansluiten bij het opgeschorte proces.
Mijn probleem is nu dat dit het proces lijkt te hervatten. Dat zou oké zijn als het zou breken bij het toegangspunt. Maar dat is niet zo. Olly breekt niet voordat het proces waaraan ik me heb verbonden, is beëindigd. Ja, ik kan het geheugen dan dumpen. Maar alleen als het niet is gewijzigd door de malware. Ik wil ook niet dat de malwarecode helemaal wordt uitgevoerd tijdens het uitpakken.
Is er dus een manier om Olly (betrouwbaar) te laten breken bij het beginpunt van het nieuwe proces?
Bij voorbaat dank!