|
|
||||||||||||||||
VkLib20.06.2011, 08:32. Показов 7511. Ответов 55
Метки нет (Все метки)
я написал либу с помощью которой можно выполнить методы Вконтакте API, собственно которые представлены здесь:
Обычные методы: http://vkontakte.ru/developers... E%E2%20API Расширенные методы: http://vkontakte.ru/developers... 4%FB%20API vklib.rar vk.h - заголовочный файл vklib.dll - собственно сама библиотека vklib.lib - lib для подключения libeay32.dll - для HTTPS ssleay32.dll - для HTTPS А теперь собственно как пользоваться.. Авторизация проходила по алгоритму который описывается здесь:http://vkontakte.ru/developers... 5%ED%E8%E9 и так сначала надо создать приложение через которые либа и будет выполнять все методы приложение создается по этой ссылке: http://vkontakte.ru/editapp?act=create&site=1 нужно выбрать "Standalone-приложение" Теперь вы должны разрешить методы:
теперь можно свободно пользоваться библиотекой... вот маленький примерчик->
Параметры: 1: Логин (вместо @ надо писать %40) 2: Пароль LearnAccessToken("2345463"); Эта функция получает AccessToken который нужен для вызовов методов. Параметры: 1:айди приложения. sendFuncVkAPI("wall.post","owner_id=5818 5685&message=xai",10,0,true);Функция выполняет методы Вконтакте апи Параметры: 1: метод 2: параметры метода (перечисляются через &) 3: количество вызовов 4: задержка между вызовами (в секундах) 5: будет выводить на экран ответ от сервера или не будет возвращает ссылку на структуру с ответами сервера..
0
|
||||||||||||||||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
||||||
| 20.06.2011, 14:45 | ||||||
|
в функции LoginVK() вы копируете входные аргументы в статический размер фиксированного размера (256 байт) имеем возможность классического переполнения буфера.
0
|
||||||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
||
| 20.06.2011, 15:07 | ||
|
Danvern, целью переполнения буфера является исполнение кода в целевой системе с правами пользователя, а не тупо завал программы. http://ru.wikipedia.org/wiki/Переполнение_буфера
Добавлено через 2 минуты ![]() Добавлено через 4 минуты короче говоря, переполнению буфера подвержены большая часть внутренних функций Вашей библиотеки и все три экспортируемые.
0
|
||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
||||||
| 20.06.2011, 19:31 | ||||||
|
Вся соль проблемы заключается в использовании функций типа strcat(), strcpy() и т.д. В качестве временной заплаты можно вместо них использовать strncat(), strncpy() и т.д., а вообще, как избавиться от подобных проблем информации - полный интернет.
Добавлено через 1 минуту Вот, например, реализация функции LoginVK (в общих чертах, реверсить полностью было лениво):
1
|
||||||
|
|
||
| 21.06.2011, 06:03 [ТС] | ||
|
и если ни секрет откуда вы знаете что у меня в библиотеки написано? а на счёт strncat попытаюсь заменить strcat'ы. Добавлено через 33 минуты но все равно эту проблему до конца оч сложно решить так как если да же пользователь и введет пароль который состоит более чем из 256 символов(хотя такое наврятли будет) и если начать вот так записывать strncat(str1,str2,sizeof(str1) - strlen(str1)); то это всех проблем не решает а это значит что логин и пароль просто на просто до конца не запишутся в переменную и это значит что пользователь ни когда не авторизируется... и тогда для этой библиотеки надо будет целую систему обработки ошибок писать
0
|
||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
||||
| 21.06.2011, 12:20 | ||||
|
Добавлено через 1 минуту ![]() Добавлено через 2 минуты Еще одна бага: попробуйте отключить сетевуху и запустить один из примеров использования библиотеки. Наблюдаем зависание либо крэш программы.
0
|
||||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
|
| 21.06.2011, 12:27 | |
|
Если хотите узнать больше об исправлении подобных проблем - советую книгу: Howard, LeBlank "Writing Secure Code" (ISBN 5-7502-0238-0).
0
|
|
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
|||
| 21.06.2011, 12:32 | |||
|
Добавлено через 1 минуту
1
|
|||
|
|
||
| 21.06.2011, 13:07 [ТС] | ||
|
Добавлено через 9 минут а ещё скажите пожалуйста какими программами вы пользуетесь для дизассемблирования?
0
|
||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
|
| 21.06.2011, 15:05 | |
|
1
|
|
|
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
|
|
| 28.06.2011, 23:30 | |
|
Для .net пойдет?
0
|
|
|
|
||||||
| 30.06.2011, 08:50 [ТС] | ||||||
|
Переписал библиотеку и вот что в ней изменилось:
1: Убраны ошибки которые ведут к переполнению буфера. 2: Упрощен алгоритм получения ключа. 3: Теперь программа сама разрешает доступ к приложению. 4: Программа стала понимать русские буквы и специальные символы \n"#%+;<>&@\`№ 5: Введена система ошибок. Пример использования:
0
|
||||||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
|
| 30.06.2011, 11:16 | |
|
Danvern, не могли бы вы аттачить Ваши dll, lib и hpp файлы отдельным архивом. Файлы libeay32.dll и ssleay32.dll установлены в каждой системе и качать их с каждым апдейтом имхо это слишком.
0
|
|
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
|
| 30.06.2011, 13:18 | |
|
Проблема с sendVKfunc(), а точнее в неверном использовании функции UrlEncode(). Более подробное описание в Перевод символа в Юникод.
1
|
|
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|