Нет. Похоже на ответ. Но если неоптимизированный файл на Delphi - повседневная реальность, то неоптимизированный M$ Kernel несколько неожидан И, IMHO, это не объясняет имитацию фрейма перед JMP. Well. А нельзя ли попросить сгенерировать (парочку) таких (пустых) проектов
gazlan Скорее недооптимизированный. Ты не мог бы выложить свой ntoskrnl? Я же говорю - это частный случай нарезания ф-ции на куски. Каких именно? Чтобы там были все ф-ци с фреймами - отрубаешь опцию 'Omit frame pointers'. Чтобы компилятор не инлайнил пустые ф-ции, достаточно ссылаться на них по указателю. Или сделать виртуальными. Или запретить инлайн по усмотрению компилятора. Чтобы были рваные(с jmp) ф-ции - это уже на усмотрение компилятора/линкера. Во-первых, нужно включить Link time Code Generation. Нужно, чтобы было достаточно много ф-ций(нетривиальных) и read-only данных. Следует также обьединить секции .rdata & .text. У меня в реальных проектах при полной оптимизации рваными получается, как правило, добрая половина ф-ций.
h**p://rapidshare.com/files/56693226/ntkrnlpa.rar.html h**p://rapidshare.com/files/56693227/ntoskrnl.rar.html