Сейчас на форуме: Kybyx (+4 невидимых)

 eXeL@B —› Оффтоп —› Hola - Олимпиада программистов
Посл.ответ Сообщение

Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 15 ноября 2013 16:24
· Личное сообщение · #1

Участвуйте в Олимпиаде программистов С, и получите 500 долларов!
На этот проект выделено 25 000 долларов. В Израиле около 60 человек уже получили вознаграждение.

Правила:
Найдите идеальное решение до 31-Дек-13 и получите 500 долларов.
Если решение получилось хорошим (но не идеальным), мы вышлем вам некоторые комментарии, чтобы помочь сделать его совершенным. Решение со 2-го раза принесет вам 250 долларов Если вы передадите задачу тому, кто сможет ее решить, вы оба получите по 500 долларов.

Инструкция:
Посмотрите на main(). Там вызываются различные функции. От вас требуется имплементировать str_cpy() и str_cat(). Функции str_printf() и str_free() имплементировать не надо.
Прочтите внимательно main(), чтобы понять прототип и использование str_cpy() и str_cat().
Код, написанный вами, должен соответствовать по качеству библиотечному коду, как в хорошей имплементации libc.
Обратите внимание на 4 заголовочных файла перед функцией main. Вы можете использовать функции, описанные в этих файлах, в своей реализации str_cpy() и str_cat().
Отправьте решение задачи по адресу challengeru@hola.org.
Замечание: эффективная реализация функций str_cpy и str_cat умещается в 7 строк кода на функцию.

Code:
  1. /* Copyright (C) Hola 2012, 2013
  2.  *
  3.  * Welcome to TheCodeIL.com Challenge!
  4.  */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. #include <stdarg.h>
  9.  
  10. int main(int argc, char *argv[])
  11. {
  12.     char *= NULL;
  13.     str_cpy(&s, "Hola Hola");
  14.     str_cpy(&s, s+5);
  15.     str_cat(&s, " World");
  16.     str_printf(&s, "%s!", s);
  17.     puts(s); /* result: "Hola World!" */
  18.     str_free(&s);
  19.     return 0;
  20. }


URL

-----
xchg dword [eax], eax





Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 ноября 2013 17:21 · Поправил: Dr0p
· Личное сообщение · #2

void

MS плотит сто штук и без конкурса. Как то не серьёзно

> От вас требуется имплементировать str_cpy() и str_cat().

Посмотрел. Без машкода понять не возможно(это же скрипт и что на выходе даже жидовским богам не известно), как и поставленную задачу. Что есмъ "имплементировать" я не знаю



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 15 ноября 2013 17:54 · Поправил: void
· Личное сообщение · #3

Dr0p
Задача у них изначально поставлена ху#во. Но как сорвать 500$ за несколько минут кодинга вполне годится.

Dr0p пишет:
Без машкода понять не возможно

гугл -> strcpy, strcat. По описанию можно закодировать, хотя итак все знают, что реализуют эти функции.

-----
xchg dword [eax], eax





Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 ноября 2013 18:17
· Личное сообщение · #4

void

> гугл -> strcpy, strcat.

Это базовый сишный функционал и я знаю что он делает, это ртл. Но что на выходе после конпиляции получится - хз. Там может быть стопицот редефейнов етц. Это скрипт и этим всё сказано. Быть может в данной версии конпиля strcpy не использует некоторою защиту и уязвима, это невозможно спифовать только по имени ртл функи.

Что нужно сделать с этим кодом ?



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 15 ноября 2013 18:21
· Личное сообщение · #5

Dr0p пишет:
Быть может в данной версии конпиля strcpy не использует некоторою защиту и уязвима, это невозможно спифовать только по имени ртл функи.

Именно по этому ты волен закодировать функцию так, как считаешь нужным

-----
xchg dword [eax], eax





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 15 ноября 2013 18:27
· Личное сообщение · #6

Знакомый резидент Израиля сказал, что чушь и кидалово. И что он и его знакомые уже сталкивались с этим с негативным исходом.



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 15 ноября 2013 21:52
· Личное сообщение · #7

Dr0p пишет:
Посмотрел. Без машкода понять не возможно(это же скрипт и что на выходе даже жидовским богам не известно

Если юзать шаблоны, то да, а так, никакой загадки и вполне предсказуемый, добротной код.

Dr0p пишет:
Что есмъ "имплементировать" я не знаю

От implementation, тупо реализация функции/процедуры.
Судя по ТЗ, нужно запилить аналоги перечисленных функция, что бы было не хуже чем в libc.
Стало быть, нужно пилить проверки на переполнение буфера и при этом код должен быть шустрым.

Хрень какая то, а не задания и они явно не 500 баксов стоят, так что, соглашусь с Арчером: опять наеб@ли.


 eXeL@B —› Оффтоп —› Hola - Олимпиада программистов

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати