Все игры
Обсуждения
Сортировать: по обновлениям | по дате | по рейтингу Отображать записи: Полный текст | Заголовки

Рускоязычная Версия D - ДИНРУС (new!)


Проведённое мною обсуждение темы создания языка Динрус на форуме для программистов, дало некоторые результаты. ( Сообщество Динрус).

читать дальше  ]

Конец света говорите?

Не могу больше спокойно видеть, как умные вроде люди беседуют на идиотскую тему: что будет- конец света, квантовый переход или прибытие инопланетян??? И все "случайно" говорят про 21 декабря 2012 года...Читать далее...  ]

Программисты D

Вопрос не из праздного любопытства: есть ли в сообе программисты, знакомые с языком Ди и готовые участвовать в разработке нового рантайма?

Сниффер своими руками за 5 минут



  Любой новичок, который начал изучать программирование на С в Linux, после написания «Hello, world!» мечтает написать что нибудь более серьезное и полезное. Я попробую показать, что в этом нет ничего сложного. Человек установивший на своем компьютере Linux или другую Unix подобную систему чувствует себя немного хакером, ну а какой хакер без сниффера, основного «инструмента» анализа системы. В данной статье приведен алгоритм работы сниффера, основанного на библиотеке libpcap. Библиотека присутствует во всех дистрибутивах Linux, поэтому не буду приводить здесь процесс установки этой библиотеки и не буду расписывать все ее возможности, так как это выходит за рамки данной статьи.


Ниже приведен примерный алгоритм работы сниффера:

1.Определяем все доступные интерфейсы, для чего используем функцию pcap_findalldevs(&a, errbuf), в качестве аргументов функции передается ссылка на специальную структуру pcap_if_t и указатель на буффер errbuf[PCAP_ERRBUF_SIZE] типа char. В первую переменную заносятся сведения о всех найденных интерфейсах, во второй параметр заноситься описание ошибки,
если по каким либо причинам нам не удалось получить сведения об интерфейсах.




. . .


pcap_if_t* alldevs;
char errbuf[PCAP_ERRBUF_SIZE];
printf("Start capturing packets ...\n");

if (pcap_findalldevs(&alldevs, errbuf)==-1) {
printf("Error in pcap_findalldevs:%s\n",errbuf);
}



2.Далее мы выбираем интерфейс с которым будем работать, следует отметить, что в списке доступных интерфейсов присутствует интерфейс с именем any, в том случае если мы будем использовать этот интерфейс, будут прослушиваться все
доступные интерфейсы.





. . .
d=alldevs;
if ((fp=pcap_open_live(d->name,65536,1,1000,errbuf))==NULL){
printf("\nUnable to open the adapter. \n");
return 2;
} else {
printf("Start sniffing on %s\n",d->name);
}



Выбор интерфейса для прослушивания аналогичен открытию файла, только для данной операции мы будем использовать
функцию pcap_open_live. Данная функция имеет четыре параметра




1. имя интерфейса, представляет собой
обыкновенную переменную типа char*, как правило имя интерфейса можно получить из структуры типа pcap_if_t,
что и было сделанно в нашем примере.



2. Второй параметр это размер пакета, который будет захвачен, в данном случае 64К



3. Третий параметр, установленный в 1 указывает на то, что интерфейс будет работать в promisc режиме.



4.Четвертый параметр это тайм-аут по чтению



5. Ну и последний параметр уже знакомый нам errbuf, куда будет занесено сообщение об ошибке.


Функция возвращает указатель на структуру типа pcap_t, которая в данном случае будет аналогично дескриптору открытого
файла, либо NULL, если, что то пошло не так при открытии интерфейса.



3. Далее мы открываем файл дампа, куда будем заносить все перехваченные нами пакеты. Формат записей, которые буду
заноситься в наш файл, совпадает с форматом данных утилиты tcpdump, таким образом можно в дальнейшем, полученный
нами файл использовать с этой утилитой для анализа перехваченных пакетов. Первое что мы сделаем, это опишем
переменную, которую будем использовать как дескриптор нашего файла дампа

pcap_dumper_t *dump;

затем откроем сам файл на запись данных:





dump=pcap_dump_open(fp,"dump.log");
if (dump==NULL) {
  printf("Error in open file dump.log\n") ;
  pcap_close(fp);
  return 3;
}
   


4. И теперь, после всех проведенных предварительных действий, мы можем приступить к захвату и обработке пакетов, проходящих
через прослушиваемый нами интерфейс.
В библиотеке libpcap, как и в ее аналоге для Windows систем winpcap, существует целый набор функций, который позволяет записывать и обрабатывать полученную при прослушивании
информацию. В качестве примера воспользуемся самым примитивным
случаем. С помощью функции pcap_next будем перехватывать пакеты и обрабатывать их в цикле. в качестве
параметров функции pcap_next передается дескриптор прослушиваемого интерфейса и ссылка на специальную структуру типа pcap_pkthdr. Функция возвращает значение типа
unsigned char*.





. . .
j=0;


while((pkt_data=pcap_next(fp,header))!=NULL){
  pcap_dump((unsigned char*)dump, header, pkt_data);
  ethh=(struct ether_header*) pkt_data;
  if (ntohs(ethh->ether_type)==ETHERTYPE_IP){
    ip = (struct ip*)(pkt_data+ETH_H);
    if (ip->ip_p==0x06){
      tcp = (struct tcphdr*)(pkt_data+ETH_H+IP_H) ;
      printf("TCP packet %s:%d ->
",inet_ntoa(ip->ip_src),ntohs(tcp->source));
      printf("%s:%d\n\n",inet_ntoa(ip->ip_dst),ntohs(tcp->dest));
      printf("%d -> Get tcp
packet\n",j);
    }
  }

  if (j++>100) break ;
}
pcap_close(fp);
pcap_dump_close(dump);



Поскольку программа разрабатывалась в качестве примера, поэтому никаких особых действий она не делает. Просто в цикле
перехватывается 100 пакетов, затем они заносятся в файл. Одновременно происходит анализ заголовков нескольких уровней сетевой модели, сначала  ethernet пакета, затем ip пакета и наконец tcp пакета. После чего определяется тип ip пакета и если это tcp пакет, выводиться адрес и порт источника и назначения.

В процессе написания примера были использованы:
SDK winpcap и пример из статьи в журнале "Хакер" #56 за 2003 год.




Егор Т, 17-06-2008 14:36 (ссылка)

Работа с файлами в Delphi 7

Здравствуйте!
Я пишу прогу в DELPHI 7
типа базы данных, используя стандартные
функции работы с файлами типа assignfile.
При добавлении записи в базу прога должна
ессно проверять наличие такой же записи и
выводить сообщение, что запись будет заменена.
При работе проги, если заменить какую нибудь
запись, прога начинает глючить: при попытке
добавить или удалить запись выдает ошибку I/O error 32
и не добавляет/не удаляет запись, хотя замена проходит хорошо.
Что мне делать чтобы работало нормально?
Вот отрывок кода:


procedure TForm1.BitBtn1Click(Sender: TObject);
var
r: Bool;
buff, s: string;
begin
if TitleEdit.Text = '' then ShowMessage('Не задано название элемента!')
else begin
r:=false;
if not FileExists(DBName) then begin //если базы нету
assignFile(f, DBName);
rewrite(f);
writeln(f, TitleEdit.Text);
ForceDirectories(ExtractFilePath(DBName)+'data\'+TitleEdit.Text);
DataList.Lines.SaveToFile(ExtractFilePath(DBName)+'data\'+TitleEdit.Text+'\'+'index.rtf');
DataPic.Picture.SaveToFile(ExtractFilePath(DBName)+'data\'+TitleEdit.Text+'\'+'pic.jpg');
writeln(f, ('data\'+TitleEdit.Text+'\'+'index.rtf'));
closeFile(f);
r:=true;
end
else begin //значит база есть
assignFile(f, DBName);
reset(f);
repeat
readln(f, buff);
readln(f, s);
if Buff=TitleEdit.Text then begin //в базе есть такой элемент, заменяем его
ShowMessage('Элемент будет заменен!');
r:=true;
DataList.Lines.SaveToFile(ExtractFilePath(DBName)+'data\'+TitleEdit.Text+'\'+'index.rtf');
DataPic.Picture.SaveToFile(ExtractFilePath(DBName)+'data\'+TitleEdit.Text+'\'+'pic.jpg');
exit;
end;
until eof(f);
closeFile(f);
end;
if (r=false) then begin
assignFile(f, DBName);
try
append(f);
except
closeFile(f);
assignFile(f, DBName);
append(f);
end;
writeln(f, TitleEdit.text);
writeln(f, ('data\'+TitleEdit.Text+'\'+'index.rtf'));
ForceDirectories(ExtractFilePath(DBName)+'data\'+TitleEdit.Text);
DataList.Lines.SaveToFile(ExtractFilePath(DBName)+'data\'+TitleEdit.Text+'\'+'index.rtf');
DataPic.Picture.SaveToFile(ExtractFilePath(DBName)+'data\'+TitleEdit.Text+'\'+'pic.jpg');
closeFile(f);
end;
end;
if CheckBox2.Checked then BitBtn4.OnClick(BitBtn4);
end;

настроение: После вирусной атаки
хочется: отладить программу
слушаю: отстой

Помогите получить образование программиста.

Уважаемые профессионалы, подскажите где можно научиться WEB программированию, или дайте совет с чего начать. Цель написание серьёзных сайтов и их дальнейшее обслуживание. Заранее благодарен.

Имя Фамилия, 24-03-2011 21:06 (ссылка)

Создание команды

Привет всем кто читает этот пост. Буду краток.))))) Предлагаю собрать 3-5 человек
(программисты, дизайнеры и пр) для создания небольшого проекта. 

Цель :                   освоение техники работы в команде. 
Область :              программирование для РС, КПК, web (для пробного проекта
                             область не очень важна)

Навыки:                предрасположенность к программированию, знание языков
                             приветствуется но не обязательно (было бы желание)


жду отзывов.        icq 314951208 mail den1895@bk.ru

Олег ####, 25-03-2011 15:48 (ссылка)

.....

Недавно начал программировать в среде visual studio 2010 и сталкнулся с такой проблемой, не могу прописать код , чтобы программа при развёртывании развёртывалась во весь экран.Помогите.........

Нужен perl программист

Уважаемые программисты!!
В компанию 1001 Тур срочно требуется perl программист (г. Москва). Кто заинтересован - пишите. Отвечу на все вопросы

настроение: Бодрое
хочется: Нового Года

Метки: perl программист

Toljan ChiMAN, 18-09-2010 11:19 (ссылка)

Как в Delphi7 добавить (удалить) пользователей Windows?

Короче работа с учётными записями пользователей средствами Delphi.
Как добавлять, удалять,отключать,менять пароль пользователей?
Желательно примеры с описаниями.

настроение: норм
хочется: ответа на вопрос
слушаю: ничего

хакерство

по базе данных кто поможет,нужна помощ.

Предложение

Т.К.  Я сам являюсь создателем одного из сообществ программистов у меня есть предложение на счет того что бы объединить все сообщества программистов ссылками. Например можно сделать

(Новую запись=> Заголовка "Наши друзья"=> вместо текста прописать ссылки сообществ и комментарий)


PS: Если у кого есть идеи как сделать более удобное перемещение между сообществами пишите на "мыло"

 

настроение: Мечтательное

Буду рад услышать ваше мнение


http://softmaster.ucoz.net
Данный сайт еще в разработке.
Он будет объединять сообщества программистов...
В каждом из сообществ программистов будет прописана ссылка на данный портал...

Так же прошу помочь в разработке сайта. Если есть какие ни будь идеи пишите на мыло или стучите в агент я там 24 часа...

настроение: Озадаченное
хочется: Секиса
слушаю: Энигма

GDI в дельфи


 Ребятки помогите. когда задаю

Image1.Canvas.Pen.Color:=ColorBox2.Color -  перестает рисовать вобще

Image1.Canvas.Pen.Color:=clBlack а есль так то рисует как мне сделать чтоб с ColotBox работал

Дима Чопей, 20-08-2008 15:05 (ссылка)

Оценка

Оцените наш проект.Только серезно. http://softforfan.narod.ru/ 

WinSock и почта

  Кто нить знает как с помощью WinSock (1) в дельфи моня письмо отправить, очень надо
или ссылку дайте
 

Faster Fastereusivich, 05-09-2008 16:34 (ссылка)

Проверка , даного сообщества ..

Нунемного заголовок кричащий, просто мне интересно кто тут сидит ...
 
Есть вопросы:
1.есть ли люди которые хотят заняться серьёзным проектом
2.знание Builder c++ (code Gear)
3.Сетеавые компоненты
4.написание своих компонетов, в начале работы упор именно сюда будет сделан, сложные списки и прочее
5.Желание пинять участие в проекте по написанию SCADA системы ...
 
ОРбщая информация, скада пишется на халявных основаниях , при выходе бетва релиза будет сделан сайт и прочее, пока комерциализация не планируется тоесть собственно пишется для себя...
 
основное скада работает с OPC сервером для доступа к промышленным микроконтроллерам , на текущий момент есть только реализация этого доступа к контроллерам фирмы DEP это промышленнве контроллеры.
 
ну как бонусы проекта , возможность засветиться, в данный момент скада планируется к внедрению в крупном предприятии хабаровского края, для реализации телемеханики, и собственно после удачного её внедрения плонируется начатьеё продовать, за нормальную сумму денег а не за астрономическую.
 
в общем всё прочее инфо либомылом либо пишите мне в блог либо ещё как ...

С праздником!

Поздравляю с Днём Программиста всех членов нашего сообщества.

Егор Т, 24-09-2008 06:49 (ссылка)

ANSI -> Unicod в Delphi 7

Здравствуйте.
Я делаю программку, чтобы она подготавливала текст для
iPod а: разбивала на кусочки длинной 1999 символов, и перекодировала
из ANSI в UNICOD. Первое у меня получилось, а второе только в UTF-8.
Если пробовать дальше в Юникод, то получается либо ANSI, либо ваще
не получается. Вот Отрывок кода:

var
srcn,
otpn, otpd,buff, inst, ost: string;
i, c: integer;
f, o: TextFile;
Dest: PWideChar;
begin
srcn:=Edit1.Text;
otpd:=Edit2.Text;
if fileexists(srcn) then begin
if not DirectoryExists(otpd) then ForceDirectories(otpd);
inst:='';                                                                      //Приступаем к считыанию исходного файла
assignFile(f, srcn);
reset(f);
repeat
if not EOF(f) then begin
readln(f, buff);
inst:=inst+ ' ' + buff;
end;
until EOF(F);
CloseFile(f);
c:=0;                                                                              //Все, исходный файл считали
repeat                                                                          //Приступаем к разбивке и к перекодироовке
ost:='';
c:=c+1;
for i:=1 to 1999 do
if Length(inst) > 0 then begin
ost:=ost+inst[1];
buff:=copy(inst, 2, (Length(inst)-1));
inst:=buff;
end;
AssignFile(o, (otpd+'\'+ExtractFileName(srcn)+'_part'+ IntToStr(c) +'.txt'));
rewrite(o);
GetMem(Dest, 4000);
Utf8ToUnicode(Dest, PAnsiChar(String(AnsiToUTF8(ost))), 4000);
writeln(o, Dest);                                                                              //пробовал здесь еще так - writeln(o, String(Dest));
closefile(o);
FreeMem(Dest, 4000);
until length(inst) = 0;
end
else ShowMessage('File not found!!!!EEEERRROOOORRR!!!!');
end;
 

Архиватор текстовых файлов на JAVA

Требуется написать архиватор ТЕКСТОВЫХ файлов БЕЗ сжатия на Java.
Если кто-то знает как это сделать или где об этом почитать, ПОМОГИТЕ ПОЖАЛУЙСТА!

e-mail: barkadron@mail.ru
icq: 444465111

Без заголовка

Ищу старые видеоприставки (Dendy, Sega, Nintendo, 3DO, Atari), в том числе карманные (Электроника, Game Boy); картрижи, диски и аксессуары ко всему вышеперечисленному; тетрисы и тамогочи; старые журналы по видеоиграм, плакаты и фигурки и прочие безделушки.
Также ищу старые компьютеры (БК, Спектрум, Синклер, Амига, Атари) и переферию к ним.
 

Ну ОЧЕНЬ крутой хостинг! Виртуальный сервер за 145 рублей!

Недавно для своего проекта, его рекламить не буду, мне на фрилансе посоветовали для размещения  этот хостинг. И как же я удивился, зайдя в панель управления. Кроме того, что 1 гиг  на диске самый простой тариф, так там никаких ограничений на создание баз, доменов и предоставления сторонним пользователям прав доступа с тобой определяемыми ограничениями. Конфигурация может быть заданна тобой любая из мыслимых. Программное обеспечение полное. И что ВАЖНО, за это не берут дополнительную оплату, все это входит в тариф. Короче сами посмотрите!

 http://firstvds.ru/ru/home/index.html?from=10246
ссылка партнерская конечно, но думаю и надеюсь что вас это не обломает )))
 
и кстати там и разместили для тестирования и дороботки игру http://xnova.ramss.ru/
 

В этой группе, возможно, есть записи, доступные только её участникам.
Чтобы их читать, Вам нужно вступить в группу