Меня интересует совсем ламерский вопрос: насколько я понимаю kernel ещё до запуска моей "проги" находится в памяти, из .rdata всё стёр, все CALL [dword ptr xxxxxxxx] заменил на прямые CALL xxxxxxxx, всё работает. Каковы шансы запуска такой программы после переустановки винды, или на другом компе?
В целом наверно высокие, однако все-таки, если это рядовая программа, а не что-то типа вируса, то не стоит использовать жесткие адреса. Кроме того, без импортов на НТ по идее программа работать не должна
Это называется import binding, можно делать штатными средствами. Работать на основных библиотеках (системных) будет в пределах одной сборки (сервиспака) системы, не важно, на каких машинах.
За ответы спасибки! Кажись всё понял... До вирусов мне пока далеко, да и нет в них смысла , здесь спортивный интерес - нормальная GUI в 1кb.