Всем привет! Образовалась у меня проблемка. Ковыряю сейчас одного виря, залезшего ко мне. Практически весь разобрал, но осталась одна проблемка. Итак, вирь, под конец своей работы в функции start делает следующее: Код (Text): ....................................... .text:00401DEF call WriteProcessMemory .text:00401DF5 push CONTEXT_FULL ; .text:00401DFA pop struct_Context.ContextFlags .text:00401E00 push offset struct_Context .text:00401E05 push struct_ProcInfo.hThread .text:00401E0B call GetThreadContext ; получили контекст потока struct_ProcInfo.hThread .text:00401E0B ; .text:00401E11 mov struct_Context.Eip, offset loc_4018AC; <<<<----- Вот эта метка .text:00401E1B push offset struct_Context .text:00401E20 push struct_ProcInfo.hThread .text:00401E26 call SetThreadContext .text:00401E2C push struct_ProcInfo.hThread .text:00401E32 call ResumeThread ....................................... Вот тута показана метка, адрес которой передается в Eip. И как я понимаю, после ResumeThread начинает работат код, идущий с этой метки! Вот начало содержимой этой метки: Код (Text): ............................ .text:004018A9 func_UrlDownloadAndRun endp .text:004018A9 .text:004018AC ; --------------------------------------------------------------------------- .text:004018AC .text:004018AC loc_4018AC: ; DATA XREF: start+17Bo .text:004018AC push 0 .text:004018AE pop dword_4113E6 .text:004018B4 push offset CryptUser32_dll ; "user32.dll" .text:004018B9 call func_Uncrypt .text:004018BE push offset UncryptBuf .text:004018C3 call LoadLibrary .text:004018C9 call FreeConsole .text:004018CF push offset unk_4111D8 .text:004018D4 push 105h .text:004018D9 call GetTempPathA .text:004018DF push offset CryptUrlmon_dll ; "urlmon.dll" .text:004018E4 call func_Uncrypt .text:004018E9 push offset UncryptBuf .text:004018EE call LoadLibrary .......................................................... Вопрос: Как можно в OllyDbg пройти на эту метку и посмотреть что будет делать данный код? Т.е там пройтись пошагово! И возможно ли это вообще?
ставил.. вирус запускается и функционирует, но я туда не проваливаюсь.. Можно ли расшифровать что здесь хотели сказать?))
бесконечно зациклить текущий тред и поставить бряк в начало того, чей контекст модифицировали Думаю, это правильный совет. Ведь не текущий тред будет там выполнятся, а какой-то другой. Поэтому, напиши в ольке jmp $ (ну это образно) в тек. треде. А еще лучше, просто приостанови этот поток (в окне с потоками олька позволяет это делать). А в ком. строке введи bp 4018AC - так поставишь бряк. Потом жми F9 и попадешь в нужное место.