|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 23, 2004 05:06:01 Такая ситуация: пишу я на fasm (1.52), проверяю на 98 (в МЕ тоже самое) в Microsoft Virtual PC. А глюк в том, что вместо CloseHandle (это мне по секрету olly сказал) там вызывается FindCloseChangeNotification. В принципе мне это параллельно, но в некоторых программах столкнулся с проблемой - необходимо закруть открытый файл. Не получается:( В результате ВСЕ работает не так... На NTшных системах все как надо. Может это глюк olly/VPC а не fasm, но в masm32 все нормально. Походу все программы на fasm грешат подобным - fasmw не иcключение... Может кто сталкивался?? GetProcAddress'ом мне не хочется искать. PS. Дословно ЭТО звучит так (на примере fasmw): 0040BC91 |. FF15 F8D04100 CALL DWORD PTR DS:[<&KERNEL32.CloseHandle>] ; \FindCloseChangeNotification |
|
|
Дата: Июн 23, 2004 05:14:21 > Может это глюк olly Именно! И только под 9x виндами, Olly не правильно показывает имя, но функция вызывается правильная ;-) |
|
|
Дата: Июн 23, 2004 05:15:41 Причем на любых прогах, fasm тут не причем ;-) |
|
|
Дата: Июн 23, 2004 05:18:05 Спасбо за быстрый ответ-) А почему в masm все нормально? и файл не закрывается (может у меня глюк..)?? |
|
|
Дата: Июн 23, 2004 05:29:54 Marazm файл не закрывается GetLastError что сообщает? |
|
|
Дата: Июн 23, 2004 05:41:40 q_q Не знаю-) я сейчас не дома, приду - обязательно проверю. спасибо;) |
|
|
Дата: Июн 23, 2004 05:51:06 > А почему в masm все нормально? и файл не закрывается (может у меня глюк..)?? Гы-гы, вот тебе листинг, прога написана на masm'е, имеем два глюка в одном месте в Olly под win98 ;-) 004016EF |> 68 00800000 PUSH 8000 ; /FileName = 00008000 ??? 004016F4 |. 6A 00 PUSH 0 ; |String = NULL 004016F6 |. FF35 B0314000 PUSH DWORD PTR DS:[4031B0] ; |Key = NULL 004016FC |. FF35 AC314000 PUSH DWORD PTR DS:[4031AC] ; |Section = NULL 00401702 |. FF15 28104000 CALL DWORD PTR DS:[<&kernel32.VirtualFreeEx>] ; \WritePrivateProfileStringW 00401708 \> C3 RETN 00401709 8D49 00 LEA ECX,DWORD PTR DS:[ECX] 0040170C /$ E8 BBFFFFFF CALL CRTHREAD.004016CC 00401711 |. 50 PUSH EAX 00401712 |. FF35 AC314000 PUSH DWORD PTR DS:[4031AC] ; /hChange = NULL 00401718 |. FF15 48104000 CALL DWORD PTR DS:[<&kernel32.CloseHandle>] ; \FindCloseChangeNotification |
|
|
Дата: Июл 1, 2004 03:37:24 Asterix Спасибо, успокоили:) Все Всем БОЛЬШОЕ спасибо! Разобрался. Дело совсем не в том было-) Просто крайнего видать искал. |