Я относительно новичок в обратном инжиниринге в OlyDbg, но я пытаюсь отладить небольшое приложение, которое я сделал в Vb.Net и которое использует таймер.
По сути, когда приложение загружается, есть таймеротсчитывает от 7 до 0, когда достигает 0, кнопка активирует загрузку приложения.
Я пытаюсь выполнить обратный инжиниринг этого в Olydbg, чтобы увидеть, как работает SetTimer, но я изо всех сил.Моя цель состоит в том, чтобы изменить сборку, чтобы иметь возможность манипулировать начальным значением (которое жестко обозначено как 7).
Мне кажется, я проследил, где вызывается SetTimer:
0040E316 | FF15 74A54E00 | call dword ptr ds:[<&SetTimer>] |
Следуя этому расположению в OlyDBG, я перехожу к следующему:
76A1F190 | 8BFF | mov edi,edi |
76A1F192 | 55 | push ebp |
76A1F193 | 8BEC | mov ebp,esp |
76A1F195 | 6A 00 | push 0 |
76A1F197 | FF75 14 | push dword ptr ss:[ebp+14] |
76A1F19A | FF75 10 | push dword ptr ss:[ebp+10] |
76A1F19D | FF75 0C | push dword ptr ss:[ebp+C] |
76A1F1A0 | FF75 08 | push dword ptr ss:[ebp+8] |
76A1F1A3 | FF15 8C3BA976 | call dword ptr ds:[<&NtUserSetTimer>] |
76A1F1A9 | 5D | pop ebp |
76A1F1AA | C2 1000 | ret 10 |
Я посмотрел документацию Microsoft, касающуюся SetTimer, чтобы увидеть, какие параметры требуются, но я в какой-то момент потерян.Я предположил, что параметр интервала (который я предполагаю, будет 1000 в десятичном виде, как миллисекунды) будет в одной из этих команд PUSH, но манипулирование этими значениями, кажется, не имеет никакого эффекта.
Может кто-нибудь предоставить некоторыеуказатели или руководство, куда я могу пойти отсюда?
Заранее спасибо.