Привет всем, народ подскажите....можно ли...открыв прогу в ольке и подсчитав call'ы (например 5) сказать с уверенностью, что в проге юзается 5 функций??? спасибо.
r00t Нельзя, ибо подпрограмму можно вызвать через jmp, а call, например, можно использовать, чтобы затолкнуть что-либо в стек, все зависит от фантазий и извращенности автора программ
ясно....но в основном все "нормальные" программеры думаю юзают call для вызова функций. ещё вопрос ...есть ли плагин для оли который бы показывал (как в иде..в графическом виде) общюю структуру программы и функций (обеспечивающие полее наглядный вид и удобную навигацию по коду)... очень тяжело бывает сходу врубиться в асмокод.. Спасибо
хмм неясно что вы хотите увидеть в полученом листинге т.к. стоит не много пакануть и вы будете долго курить где там колы итп плагин, отдаленно напоминающий требуемый был чтото вроде OllyCallTrace. отдаленно.
Я бы советовал считать не call'ы, а кол-во уникальных адресов, на которые эти call'ы перебрасывают. Подсчитав их, можно сказать, что подпрограмм не меньше, при условии что прога "нормальная". "Не меньше", потому что могут быть callback функции, как в GUI приложениях. Если прога "нормальная", я бы советовал подсчитать последовательности push ebp/mov ebp, esp - результат точнее будет.
Когда ты грузишь прогу в Olly после анализа в строке статуса появляется что-то вроде Analysing prog.exe xxx procedures yyy calls to known, zzz calls to guessed functions, так что ничего считать не надо (оно уже подсчитано =)