Общение без границ

Главная | Регистрация | Вход
Пятница, 26.04.24, 14:05
Приветствую Вас Странник | RSS
Авторизация
Друзья
Поиск

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: [C]RaSh, Harry_Haller  
Форум хорошего настроения и общения » IT-технологии » Программирование » нужна программка для управления соединением с интернетом
нужна программка для управления соединением с интернетом
[C]RaShДата: Среда, 21.05.08, 20:05 | Сообщение # 1
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Кароче такая фигня: когда сидишь в интернете за серфингом то с периодичностью чётко в 40 минут разъединяеться соединениес интернетом... Причем в тихую. Нашел прогу ИнтернетКоннект для Мегафона, она хоть сообщает об этих разрывах и запрашует разрешение на переподключение. Но фишка не в этом. А фишка вот в чем - когда я смотрю ТВ спутниковое по шарингу то соединение стабильно держиться часами (вчера 3 часа беспрерывно работало, больше я не вытерпел). При шаринге прога запрашует ключи из интернета с переодичностью раз в 10 сек самое частое и раз в 1 минуту самое редкое, зависит от канала (на дискавере например раз в минуту, а у НТВ+ Премьера раз в 10 сек, специально засекал). Трафика в среднем уходит 100-150 кб в час.

Терь собственно сам вопрос: можно ли написать прогру, чтоб она поддерживала соединение (пусть даже будет лишний трафик уходить для поддержки соединения) и при разрыве, не дай бог, она автоматически переподключала соединение без всяких запросов? Принимаються любые идеи, на любых языках (за исключением Ассемблера biggrin ), какие нить скрипты, ссылки, где мона почитать про все это.


Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
DmitryleonДата: Среда, 21.05.08, 21:17 | Сообщение # 2
Продвинутый Соучастнег
Группа: Модераторы
Сообщений: 354
Награды: 0
Репутация: 13
Статус: Offline
Можно на AutoIt (http://www.autoitscript.com/autoit3/) написать.

самый простой способ -- пинговать каждые 10 секунд надёжный сервер (проверка подключения) и по нажитию комбинации клавиш запускать ярлык подключения к инету.

Не самый оптимальный способ, но всё-же. Надо еще в хелпе автоита почитать.

 
[C]RaShДата: Четверг, 22.05.08, 18:58 | Сообщение # 3
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
В общем сбацал я звонилку ... При тесте чуть больше часа соединение не разрывалось. Причем я интернетом не пользовался (скрин прилогаеться).

Щас уже 50 минут сижу и без разрыва.... Если кого интересует то выложу Бэта версию cool

вот еще скрин.. Сидел в интернете, лазил по форумам, искал статьи по кодингу и еще пару прог для востановления флешек от фотоаппарата. 2 часа без разрывов и связь, тьфу тьфу, без сбоев работает ...

Прикрепления: 3582900.jpg (25.5 Kb) · 5890127.jpg (25.5 Kb)


Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
DmitryleonДата: Пятница, 23.05.08, 10:20 | Сообщение # 4
Продвинутый Соучастнег
Группа: Модераторы
Сообщений: 354
Награды: 0
Репутация: 13
Статус: Offline
Проблема решена или нет? Если не разрывалось соединение -- в этом-же не заслуга чудо-звонилки smile
Если надо создать отключение от сети -- дёрни/вставь провод или модема или LAN. Посмотри трафик на переподключении.
 
MichaelДата: Пятница, 23.05.08, 16:05 | Сообщение # 5
Dragonheart
Группа: Модераторы
Сообщений: 615
Награды: 1
Репутация: 50
Статус: Offline
Dmitryleon, ты не в теме... [C]RaSh, а на чем написал-то? и действительно не проще ли было батник с пингом забацать?
И я чегот не пойму, если при серфинге отключается, разве во время серфинга ты страницы не грузишь? или в перерывах пока читаешь?


Сообщение отредактировал Michael - Пятница, 23.05.08, 16:09
 
[C]RaShДата: Пятница, 23.05.08, 20:12 | Сообщение # 6
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Michael, а ты знаешь сколько трафика уходит на пинг в течении часа? ППЦ сколька, я проверял... это совсем не проще. И было такое что у меня опера грузила 10 страниц и я еще в аське сообщения отправлял с интервалом в 10 секунд, и в этот интервал соединение разрывалось.

Dmitryleon, Это для соединения GPRS+Спутник. Мне нужно чтобы оно стабильно держалось (что собственно у меня теперь и есть). У операторов связи политика такая, что через каждые 40 минут на мегафоне и приблизительно так же на билайне они тупа разрывают соединение (это могут подтвердить NIk_E и AllMaNi). У меня лично, не знаю как у других, когда сидел в интернете постоянно ровно через 40 минут соединение разрывалось... это очень раздрожает... Что я только с этим не делал.. В одном из журнале Хакер Крис Касперски писал как можно Подключение к сети стабилизировать.. Но почему та у меня это не катит.. Единственно что я смог добиться это то, чтобы оно хоть говорило о том, что соединение разорвано.

А что касается моей проги... Это короче та же самая фигня что и стандартное приложение, только реализовано в Делфях и просто добавлены некоторые функции ... Не скажу какие tongue .

История такая:

Когда я задался вопросом написать свою звонилку, я облазил много форумов, сайтов, нашел пару исходников с текством

Quote
Function DUNDialDefault(Hide : Boolean) : Boolean;
// Показать или скрыть диалог dial-up
var Reg : TRegistry;
var TempResult : Boolean;
var Name, con : String;
var ASW : Integer;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\RemoteAccess', False) then
begin
TempResult := True;
Name := Reg.ReadString('Default');
end
else begin
tempresult := False;
end;
Reg.Free;
if TempResult = True then
begin
if Hide = True then ASW := SW_HIDE
else ASW := SW_SHOWDEFAULT;
con := 'rnaui.dll,RnaDial ' + Name;
ShellExecute(0, nil, 'rundll32.exe' , PChar
(con), 'C:\windows\', ASW);
end;
Result := tempResult;
end;

Это короче на сколько я понял тупо всеравно что батник, только реализовано на делфях с помощью API функций (я в общем то не помню как с ними работать, даже как чистую форму сделать). И запускалось простое виндовское соединение... Все равно не то .... И я везде натыкался на описание супер пупер крутой библиотеки rasapi32.dll. Причем только рассказы о ней, что вней все прекрасно реализовано, но ни малейшего намека на то, как вызывать из неё необходимые процедуры, и тем более ни малейшего намека на исходник.

После долгих скитаний я все таки у мелкософта нашел тот самый, так необходимый исходник RASAPI.pas (Copyright © 1992-1995, Microsoft Corporation, all rights reserved Remote Access external API Public header for external API clients). Там описано ВСЁ что связано с подключение к интернет, ЛАН и всему что с этим связано. Описаны все возможные протоколы, описаны все ошибки, которые могут быть... В общем то что мне нужно было. Подключив эту библиотеку к своей программе я просто вызывал необходимые мне процедуры и все. А как я мног добиться чтобы соединение не отключалось? - Я просто запретил тайм-аут на разрыв соединения во время простоя :D, причем запретил жёстко. А в стандартном подключении у меня стояло "Никогда" на против строчки "Время простоя до разъединения" и это не помогало.

В общем - юзайте интернет и прибудет с вами счастье.

Да к стати, чуть не забыл, Delphi рулит .. Все, я закончил. Меня теперь все удовлетворяет... Тема закрыта. Если что - пишите в аську 289060397


Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
MichaelДата: Суббота, 24.05.08, 18:53 | Сообщение # 7
Dragonheart
Группа: Модераторы
Сообщений: 615
Награды: 1
Репутация: 50
Статус: Offline
AllMaNi,
Quote (|C|RaSh)
. А как я мног добиться чтобы соединение не отключалось? - Я просто запретил тайм-аут на разрыв соединения во время простоя :D, причем запретил жёстко. А в стандартном подключении у меня стояло "Никогда" на против строчки "Время простоя до разъединения" и это не помогало.

Самая осмысленная фраза из текста) остальное так прелюдия)


Сообщение отредактировал Michael - Суббота, 24.05.08, 18:54
 
[C]RaShДата: Воскресенье, 25.05.08, 08:03 | Сообщение # 8
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Michael, biggrin ну да. Работает она по тому же принципу как и стандартное подключение, использует те же самые библиотеки, ток не реагирует на тайм-аут простоя и еще там кое чего по мелочи ...

Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
[C]RaShДата: Воскресенье, 25.05.08, 11:42 | Сообщение # 9
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Реально, даже если связь пропадает то соединение не разрывается. Проверял на МТСе. У меня в доме он очень плохо работает. Позже выложу прогу и описание. И еще у меня не получается счетчик трафика внедрить и счетчик времени.

Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
MichaelДата: Воскресенье, 25.05.08, 12:55 | Сообщение # 10
Dragonheart
Группа: Модераторы
Сообщений: 615
Награды: 1
Репутация: 50
Статус: Offline
[C]RaSh, интересно на моем VPN она прокатит...
 
[C]RaShДата: Воскресенье, 25.05.08, 14:00 | Сообщение # 11
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Michael, никада не имел дело с VPN. Попробуй. Если что не так будет то скажи, попробуем исправить.

Итак, прога триальная, AllMaNi обещал её сломать (если сломаешь то расскажи как, чтоб я знал где пропарился). Интерфейс так себе, потому что я давольно долго на делфи не писал ничего, забыл некоторые фишки. У меня почему то не получаеться ресурс файл создать, на имя текстовика ругаеться прога, чтоб потом его прикрепить к проекту. AllMaNi, можешь у себя попробовать его замутить? Текстовик прилогаеться...

Прога сворачиваеться в трэй, разворачиваеться по двойному щелчку на иконку или по правой кнопке.

ВНИМАНИЕ, так как программа полностью интегрируема со стандартным подключениек с интернету, то некоторые настройки в стандартном подключении могут сброситься на её лад, т.е. так, как я указал настройки в моей проге.. Я сразу об этом предупреждаю. У пользователей VPN я не знаю как она себя поведёт, ниразу не настраивал такое подключение. А так меняются немного настроек (если что подскажу какие именно настройки).

А так же вырожаю благодарность проекту Delphi World за подборку статей на эту тему и собсна саму идею..

Прикрепления: EConTrial.exe (273.5 Kb) · mainfest.rar (0.4 Kb)


Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
MichaelДата: Воскресенье, 25.05.08, 15:14 | Сообщение # 12
Dragonheart
Группа: Модераторы
Сообщений: 615
Награды: 1
Репутация: 50
Статус: Offline
[C]RaSh, ну что тест-драйв... если баги будут сообщу)
 
MichaelДата: Воскресенье, 25.05.08, 15:42 | Сообщение # 13
Dragonheart
Группа: Модераторы
Сообщений: 615
Награды: 1
Репутация: 50
Статус: Offline
Нет не катит( обрывы все равно есть... а может прога просто с вистой плохо дружит
 
[C]RaShДата: Воскресенье, 25.05.08, 17:55 | Сообщение # 14
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Michael, прога написана под ХР, она библиотеки использует которые были написаны еще в 99ом году .. скорее всего просто не дружит.. а может это у тебя железная проблема на стороне провайдера, кто знает.. У меня она отлично работает... Когда я писал код, то старался подбирать настройки специально для ЖПРСа, специально для его маленькой скорости... ну в общем, нужно протестить ... Как нить посмотрю что можно сделать для ВПН. А сейчас прошу людей, которые пользуються ЖПРСом протестить её на других машинах.. А то может я свой комп за*пал что она терь держит соединение, лишь бы я отстал от него biggrin .

Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
MichaelДата: Воскресенье, 25.05.08, 18:06 | Сообщение # 15
Dragonheart
Группа: Модераторы
Сообщений: 615
Награды: 1
Репутация: 50
Статус: Offline
[C]RaSh, да уж)... не вроде коннектит соединение она сама, правда в редактирование не заходит... но я думаю глюки в нашей сети ни одна программа не выдержит)
 
[C]RaShДата: Воскресенье, 25.05.08, 18:39 | Сообщение # 16
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Michael, то что конектит это уже хорошо. Если не трудно найди у себя библиотеки rnaph.dll, rasapi.dll, rasapi32.dll и если они не сильно большие (до метра) и если тебе не трудно то пришли их на ящик и укажи путь, по которому они находились...

Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
}{akeRДата: Понедельник, 26.05.08, 02:41 | Сообщение # 17
кибер панк
Группа: Проверенные
Сообщений: 784
Награды: 0
Репутация: 64
Статус: Offline
если траблы с мегафоном - могу предположить что время простоя вместо 40 минут поставить 3 часа. Было дело - тожа каждые 40 минут строго отрыбалось никого не спрашивая., поставили на 3 часа и все, biggrin

Мне дано все, чтобы жить возвышенной жизнью. А я гибну в лени, разврате и мечтании.
@Даниил Хармс

 
[C]RaShДата: Понедельник, 26.05.08, 06:55 | Сообщение # 18
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
}{akeR, ты не в теме

Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
AllMaNiДата: Понедельник, 26.05.08, 23:29 | Сообщение # 19
Жжот йопта
Группа: Администраторы
Сообщений: 1130
Награды: 1
Репутация: 118
Статус: Offline
Quote (|C|RaSh)
AllMaNi обещал её сломать (если сломаешь то расскажи как, чтоб я знал где пропарился).

Программа сломана)))
Чуть позже выложу кракнутый exe(у меня проблемы с згрузкой файлов на сайт)(в начале хотел сделать patch, но потом отказался - патчи на асме делать неизчего(не стоит MASM & etc), а патчгены на основе компарации - выдают огромны патчи!!!Аж 3х метровыеO_0)

Итак...Как я это сделал?
1. Так как файл наверняка изначально сжат каким-нибудь пакером, т.к. размер Delphi приложений ~от 400 кб, то я проверил программу спецальной утилиткой PE iD.
2. C помощью PE iD я выяснил, что сжата прога ASPack ' ом. Снял защиту с помощью ASPackDie(если кто будет дизасмить то что я выложу - увядт стринговые строки ASPackDie).
3. Дизассемблировал очищенную программу с помощью W32Dasm.
4. Поискал в диз.коде строки - TrialVersion и т.д.
5. Нашел более мение похожие на нужные джампы(jmp) - и записал их адреса.
6. Ну а дальше - в OllyDebug... Поставил бряки на те джампы, что нашел.
7. Запустил трассировку, и дошел до нужного бряка(bp)(он кстати был по адрессу - 46b5f5)
8. Сменил адрес джампа (JNZ SHORT 0046B606) на 0046B63A(как раз на этом адрессе заканчивалась проверка на сессии и показ ShowMessages ).
9. JNZ SHORT 0046B606 соответствовало шестнадцетеричное значение 75 С0, а новому значению - JNZ SHORT 0046B63A - 75 40
10. Пытался сделать дамп с Оли - но дамп получался битым - не находилась точка в библиотеку rasapi32.dll.
11. Пришлось згружать файл в 16ричный редактор и править байты самому(FlexHex - редактор -куда более лучший, чем WinHex)
12. Сохранил то, что получилось - и все, рабочая прога у меня в руках.

Позже, если захочешь, сделаю видео. Но это теперь только после сесси...

Вообщем, все просто!


Имеющий мозги и руки
Никогда не здохнет от голода и скуки
***********************************
Нет того, чего я незнаю, есть то, чем я пока не заинтересовался.
***********************************
Закрой дверь и никого не впускай - меня не будет несколько лет!
***********************************
Как известно, чтобы сбить человека с мысли, достаточно облить его молоком и поджечь.
 
[C]RaShДата: Вторник, 27.05.08, 15:45 | Сообщение # 20
АндрейkA
Группа: Администраторы
Сообщений: 1045
Награды: 3
Репутация: 79
Статус: Offline
Quote (AllMaNi)
5. Нашел более мение похожие на нужные джампы(jmp) - и записал их адреса.

Quote (AllMaNi)
7. Запустил трассировку, и дошел до нужного бряка(bp)(он кстати был по адрессу - 46b5f5)

Поясни, откуда ты узнал что те джампы похожи на нужные? Откуда ты узнал что бряк нужный?


Рyкописи, может быть, и не гоpят. Зато диски С отлично фоpматиpyются.
 
Форум хорошего настроения и общения » IT-технологии » Программирование » нужна программка для управления соединением с интернетом
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright MyCorp © 2024 | Хостинг от uCoz