bomzzz

Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ne_viens Цитата: .\bin\cl.exe /Ox /LD ntdll.c ntdll.def /link /libpath:.\lib /noentry | Добавлено: ne_viens _byteswap_ushort я чета не понял, она что ли сама байты переворачивает, а не обращается к NTDLL.DLL ??? мне нужна динамическая библиотека которая только скелет дллки ntdll.dll повторяет, чтоб при компиляции она использовалась как таблица импорта(?). а байты можно и без подпрограммы перевернуть http://rghost.ru/43966173 у меня есть инклуд сделанный из мсдновской библиотеки взятой из DDK. он будет лежать в инсталяторе масма. а когда масм будет инсталироваться то все либы сделаются из этих инклудов. тогда дистриутив будет весить всего ничего, в либах будет только все нужное, и некоторые исправления и исключения они учтут Цитата: unsigned long __fastcall RtlUshortByteSwap(unsigned long x) { return; } | судя по тому что и так переворачивает - вот так и есть то что надо а как будет изменятьс код если параметров будет больше? код будет создаваться батником из инклудов Цитата: EXTERNDEF SYSCALL @RtlUshortByteSwap@4:PROC RtlUshortByteSwap textequ <@RtlUshortByteSwap@4> EXTERNDEF SYSCALL @RtlUlonglongByteSwap@8:PROC RtlUlonglongByteSwap textequ <@RtlUlonglongByteSwap@8> EXTERNDEF SYSCALL @RtlUlongByteSwap@4:PROC RtlUlongByteSwap textequ <@RtlUlongByteSwap@4> EXTERNDEF SYSCALL @RtlInterlockedPushListSList@16:PROC RtlInterlockedPushListSList textequ <@RtlInterlockedPushListSList@16> | Добавлено: вот так это выглядит. запусти батник makelibs. для 2000-ка они быстро делаются http://rghost.ru/43967060 Добавлено: Цитата: DbgPrintEx PROTO C :VARARG DbgPrint PROTO C :VARARG DbgBreakPoint PROTO STDCALL CsrSetPriorityClass PROTO STDCALL :DWORD,:DWORD CsrProbeForWrite PROTO STDCALL :DWORD,:DWORD,:DWORD | Цитата: ////////////////ntdll.c/////////////// //cl /Ox /LD ntdll.c ntdll.def unsigned long __fastcall RtlUshortByteSwap(unsigned long x) { return 0; } unsigned long __fastcall RtlUlongByteSwap(unsigned long x) { return 0; } unsigned long __fastcall RtlUlonglongByteSwap(unsigned long x,unsigned long y) { return 0; } unsigned long __fastcall RtlInterlockedPushListSList(unsigned long w,unsigned long x,unsigned long y,unsigned long z) { return 0; } | а как stdcall и decl будут добавляться? а с возвращаемым числом я не намудрил? | Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:21 21-02-2013 | Исправлено: bomzzz, 19:12 21-02-2013 |
|