http://www.lmgtfy.com/?q=%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5+%D0%B4%D0%B2%D1%83%D1%85+exe+%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2
да... сишные асм-вставки так и сделаны...
возьми урезанные версии этих языков: tinypy, mirb, tinyrb... или языки для гейм-скриптинга: GameMonkey, Angel Script, DMDScript, они существенно...
еще раз повторю: нужно досканально знать компилятор, который генерирует код... этого знания достаточно) да, только ради этого)) во-первых... в...
вот это смешно канеш... по сабжу: смотрите нереальную кучу открытых продуктов: Ruby, Python, NewLisp, LibJIT, Mono, Parrot, LLVM и много...
значит из регистра))) вообще по мангленному имени вроде как то можно было определять параметры и конвенцию вызова...
вот пример на си++: typedef int (__stdcall* PFunc)(int param1, int param2); PFunc pFunc = GetProcAddress(hMod, "Func"); int res = pFunc(100, 200);...
найти метод по таблице импорта dll... смотри LoadLibrary + GetProcAddress...
согласен с этим...
тут нужен асм... на сях сложно такое сделать... релоки ты не запихнешь в одну секцию, их можно отключить... но тогда нужно, чтобы все переходы,...
вообще если подумать о загрузке без выравнивания - задача интересная... тут надо хорошо знать как генерирует код компилятор, что собирает dll......
вас носом ткнуть? PointerToRawData - смещение секции от начала файла VirtualAddress - смещение секции от базового адреса загрузки в виртуальной...
[img]
я думаю только в одном случае... когда выравнивание секций в файле совпадает с выравниванием виртуальной памяти...
каждая секция должна быть выравнена на размер страницы... нет никакой разницы... есть много факторов по которым можно определить, что этот блок...
подкиньте пожалуйста нормальный кроссплатформенный хедер ntdll.h... нужны правильные системные структуры под х86 и х64 без заморочек с...
прекрасно собирается и работает с любой функцией стандартного типа... и для си и для плюсов... да и какая кому разница? я так и не понял......
в си тоже самое... еще раз говорю, проблема не в компиляторе, проблема - в голове...
я знаю... и касается это не только функции main... если нет return, то возвращается 0 (xor eax, eax и затем ret)... вроде бы для всех стандартных...
#include <stdio.h> int main(int argc, char **argv) { printf("no return!? oh my god!!! o_O \n"); } MinGW - никаких ошибок, а это фактически...
Имена участников (разделяйте запятой).