Нужно считать куки с помощью InternetGetCookie, что не так(можно на примере wasm.ru). Если кто знает как очистить cash Internet Explorer, или удалить отдельный куки из него, то было бы неплохо, если бы вы пролили свет(удаление файлов не предлагать, это не гарантирует ничего). Речь идёт о файле: index.dat, который нужно очистить, или изменить. Впинципе второе не критично, но всё-же весьма желательно. .486 .model flat, stdcall option casemap: none include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\wininet.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\wininet.lib .data _cookie_site db "http://rambler.ru", 0 .data? _cookie dd 500 DUP (?) .code start: ;Чтение куки invoke InternetGetCookie, addr _cookie_site, NULL, _cookie, NULL invoke MessageBox, NULL, addr _cookie, NULL, MB_OK .IF _cookie == NULL invoke ExitProcess, 0 .ENDIF end start
Ищи на форуме - это точно было (ну или на крайний случай в google). 1. FindFirstUrlCacheEntry, FindNextUrlCacheEntry, DeleteUrlCacheEntry. 2. Вызывая с разными типами чистим нужные места.. (visited: - хистори, cookie: - куки, NULL - тэмпорари инет файлз).
На C++, это хорошо, но мне нужно всего-лишь очистить куки на асме. С этим вопросом я думаю справлюсь сам, гораздо актуальнее первый вопрос, просмотрел все сайты, даже китайские и японские, реальных примеров увидел несколько и все не работают при переводе на ассемблер. Один на C#(sharp), но он никакущий, притом одно и тоже что на наших, что на японских/китайских сайтах. Второй вот: http://www.vba-programmer.com/Snippets/Code_VB/Creating_and_Reading_Cookies.html Как правильно перевести на асм, у меня он либо вообще вылетает с ошибкой, либо ничего ни читает. Есть специалисты, или тема не найдёт решения, как на многих других форумах?
Честно говоря, не понял, какая разница, асм или си? Код в любом случае будет ассемблерный. Компилируй исходник c++ и загоняй его в Olly, а в Olly получишь чистейший асм-код. Или компилируй c++ код с соответствующим ключом, который кроме самой компиляции позволяет получить ассемблерный листинг. Какой ключ не помню, посмотри в опциях компилятора
Разница есть, но эта проблема уже решена, а проблему 1 никак решить не могу. То что я показал - это для наглядности, за этим стоит большой листинг, так всё просто только потому что, я хочу чтобы мне помогли. Но слишком длинный и неудобочитаемый код, я предпочитаю более короткий вариант. Проблема 1 актуальна. Кто может показать использование InternetGetCookie, на примере чтения cookie wasm.ru/forum ?
Смотрел на Aport.ru, www.altavista.com, тоже самое, почему-то на всех форумах шарахаються от этой темы, неужели никто не знает?
Код (Text): .data host db "http://www.wasm.ru",0 cookie_name db "wasmbb_cookie",0 CookieData db 256 dup(0) cookie_size dd 256 .code invoke InternetGetCookie, addr host, addr cookie_name, addr CookieData, addr cookie_size PrintDec eax PrintString CookieData PrintDec cookie_size Вместо addr cookie_name можно просто NULL, все равно в буфере буде имя куки и содержимое в виде: CookieData = wasmbb_cookie=<тут тело кука> В твоем примере последний параметр был NULL, чего быть не должно.
Код (Text): host db "http://www.wasm.ru", 0 ERROR_NO_MORE_ITEMS - нет cookie для указанного URL и его родителей. Рабочий код (rambler.ru): Код (Text): .486 .model flat, stdcall option casemap: none include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\wininet.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\wininet.lib .data _cookie_site db "http://rambler.ru", 0 _cookiesize dd 256 .data? _cookiedata dd 256 DUP(?) .code start: ;Чтение куки invoke InternetGetCookie, addr _cookie_site, NULL, addr _cookiedata, addr _cookiesize invoke MessageBox, NULL, addr _cookiedata, NULL, MB_OK invoke ExitProcess, 0 end start cresta, Stub - спасибо, работает.