• Где найти напарника, что бы учиться кодить?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    У меня есть проект на BitBucket в репозитарии закрытого типа. Написан на C++. Не заброшен. Пилятся фичи, проводятся рефакторинги. Пока все делаю в одиночку. Проект нацелен на разработку тулзы для reverse-engineering-специалистов, т.е. малварщики, антивирусные спецы, пишущие защиты ПО и снимающие эти защиты и др.

    Если интересно, то можешь найти меня на habrahabr и написать в личку
    Ответ написан
    Комментировать
  • Есть видеоуроки по с++?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Достаточно хороших и качественных уроков нет. Большинство из уроков больше учит использовать ту или иную среду разработки, чем самому языку. На мой взгляд, не следует учить этот серьезный язык программирования по видео-фрагментам и куда лучше брать книгу, а об их выборе здесь на тостере уже не мало тем! Если Вам что-то непонятно,берете диктофон(почти любой смартфон эту фичу имеет) идете к ближайшему гуру и задаете вопрос. В последствии у Вас появляется так база вопросов и ответов на них, которая нужна именно ВАМ!
    Ответ написан
    Комментировать
  • Какие книги выбрать по изучению C++?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Я бы порекомендовал найти книгу Дж. Либерти "Освой самостоятельно С++ за 21 день". Читается очень легко и не принужденно. В процессе чтения пробуйте писать код. Нет, не боевые задачи, а небольшие консольные что-либо полезное считающие. Маленькие, но завершенные задачки, которые применяют то что описано в Дж.Либерти. Не смотря на название книга более чем заслуживает уважения. Лучше него для начинающего никто не написал.
    После этой книги ни чего другого не пытайтесь читать, иначе намешаете винегрет в голове. Лучше пишите боевой код. После пол-года разработки берите книги С. Майерса про эффективную разработку на С++. Но! Читайте не раньше чем через пол-года, т.к. раньше не набьются шишки, а именно шишки позволят понять то о чем говорит Майерс.
    После этих двух через 2-3 месяца после Майерса рекомендую про STL Джосьютиса.

    После этих трех Вам врядли чьи-то советы будут нужны. ИМХО, мое понимание процесса обучения такое.
    Ответ написан
    Комментировать
  • Где найти книгу или часть из нее по работе с массивами на С++?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Похожу у Вас нет понимания "Что такое массив?". Как правило, программеры, понимают под этим последовательность однородных данных одного типа.

    * Типы данных как Вы знаете бывают разными: int, float, long int и др. В виду того что C++ позволяет писать в объектно ориентированном стиле, то Вы также можете использовать и свои собственные типы, т.е. объекты классов из каких-либо библиотек, к примеру из boost или собственноручно написанных;
    * Массив имеет размер или такой признак конца на который можно опереться;
    * По массиву можно пробежаться, т.е. переходить от одного элемента к другому пока не доберемся до последнего элемента;
    * К любому элементу массива можно иметь произвольный доступ. Захотели взять 5-й элемент, то нет проблем если размер больше 5;
    * Признак конца можно организовать по-разному, можно держать во внешней переменной счетчик байт означающий сколько в массив элементов. А можно заложиться на специфическое значение в массиве которое будет означать что массив завершено, к примеру 0x0(нулл-терминированный массив), есть и др. способы, но эти наиболее популярны;
    * Добавить в массив это просто перейти к последнему элементу и задать значение добавляемого элемента + увеличить значение счетчика элементов в массиве или изменить расположение признака конца массива, подвинуть чуть дальше;
    * Удалить из массива, значит надо уменьшить значение счетчика элементов в массиве или изменить расположение признака конца массива;

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

    Забыл сказать, что Вам не обязательно привязываться именно к С++, на чистом С теже самые правила. По той лишь причине что язык С++ проектировался и разрабатывался для совместимости с кодом на С
    Ответ написан
    7 комментариев
  • Как добавить поддержку response файлов в TCLAP?

    EvilsInterrupt
    @EvilsInterrupt Автор вопроса
    System programming, Reversing Engineering, C++
    Автор библиотеки сказал, что явной поддержки этой фичи нет и что он еще не скоро займется этим вопросом. Придется обходные маневры делать
    Ответ написан
    Комментировать
  • Что почитать по созданию RESTful API новичку ?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Сегодня искал хорошее пояснение REST и наткнулся на What exactly is RESTful programming?. Оставил его здесь для истории, возможно кому-то также как и мне пригодится
    Ответ написан
    1 комментарий
  • Для чего нужен метод main?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    В операционной системе есть часть системного кода целью которой является "Запуск программы на выполнение". Когда Вы "жахаете" дважды по exe-файлу эта часть создает процесс, создает первичный поток, проецирует куски данных из вашего exe-файла на регионы памяти в процесс и др. не менее важные процессы.

    Когда сис.загрузчик хочет найти и передать управление первичному потоку, он должен ответить на вопрос "А где искать машинный код для первичного потока?". Он, сис.загручик, знает как устроен формат exe-файла и отыскивает значение указателя где расположен код, откуда следует начать работу программы записанной в exe-файле. Для exe-файлов смотри хидер winnt.h в IMAGE_OPTIONAL_HEADER поле AddressOfEntryPoint.

    В каждом, современном исполняемом файле, как правило, две точки входа. Одна из них является ничем иным "стартовым кодом", иногда именуемая runtime-code или "стабом". Эта часть генерируется компилятором и достаточно часто повторяется для всех файлов генерируемых компилятором. А другая часть "пользовательская", вот это пользовательская и есть Ваша main(). Но ее наименование можно по-другому настроить(см. документацию к Вашему компилятору).

    Что рантайм-код, что Ваша main() это ни что иное как функции обратного вызова. Их вызывает сам сис.загрузчик. После того как рантайм-код записан в файл, указатель на него записывается в AddressOfEntryPoint(см.выше), в процессе работы в недрах сгенерированного рантайм-кода есть переход на вашу main().
    Ответ написан
    Комментировать
  • Какие есть крипт сервисы?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    getPolice()->SendMessage("Malware-developer detected");
    Ответ написан
    Комментировать
  • Разработка IDE русскоязычным сообществом?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    А почему Вы так боитесь учить английский? Это же не только язык потенциальных врагов, но прежде всего это язык с помощью которого выражено громадное количество технической информации. Хотите Вы этого или нет, но сейчас программист знающий этот буржуйстанский язык, как правило, больше выигрывает по сравнению с тем кто этого языка не знает! Возможно Вам стоит просто взять и начать учить, искать способы облегчающие его изучение.
    Ответ написан
    2 комментария
  • Какой язык с семейства Си учить ?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Учите английский. Чем лучше читаете, пишите, думаете на нем тем лучше в освоении чего-либо связанного с компами. На мой взгляд лучше потратить время на улучшение навыков английского чем изучение еще одного языка программирования.
    Ответ написан
    Комментировать
  • Текстовый редактор и компилятор или IDE - что лучше и почему?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    По части редактора рекомендую посмотреть в сторону VIM или Sublime Text
    Ответ написан
    2 комментария
  • Книги по программированию под Android?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    А что лучше читать?

    Вот это:
    Автор: Рето Майер, "Android 2. Программирование приложений для планшетных компьютеров и смартфонов", www.ozon.ru/context/detail/id/6752687

    или вот это:
    Авторы: Саид Хашими, Сатия Коматинени, Дэйв Маклин, "Разработка приложений для Android", www.ozon.ru/context/detail/id/6227194
    Ответ написан
  • Как найти значения в огромном массиве?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    XOR - задачка тривиальная!!!
    Задам другую:
    Напишите рекурсивную функцию для вычисления факториала, которая будет вычислять результат итеративно.
    Ответ написан
  • Какой выбрать защищенный жесткий диск с автоматическим удалением информации при вскрытии?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Может Вам надо заюзать TrueCrypt, после которого разве что паяльник сумеет хорошо вскрывать?
    Ответ написан
    Комментировать
  • Где искать видео уроки по Java?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Мне помогло вот это: douua.org/forums/topic/8113
    Ответ написан
    Комментировать
  • Как из командной строки открыть android sdk от имени администратора?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1) найти в меню пуск командную строку
    2) жахнуть правой кнопкой мыши и в конт.меню нажать "запустить под админом"
    3) во окне набрать cd <указать файловый путь>
    Ответ написан
    Комментировать
  • Как можно передать ссылку на экземпляр класса в другие модули, чтобы взаимодействовать с ним?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    В питоне принято что каждый метод принимает первым параметром передается self. Это и есть ссылка на объект класса.
    Ответ написан
  • Как создать свой дистрибутив Linux?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Я смог нагуглить только создание дистрибутивов с помощью мастера.

    Только что обратил внимание на Ваши слова. Неужели действительно есть Wizard по созданию линуха с нуля?
    Ответ написан
  • Как создать свой дистрибутив Linux?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Ответ написан
    Комментировать
  • Выбор метода обучения программированию: колледж или самообразование?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    В частности, неуспеваемости в математических дисциплинах.

    Это ты зря! В этой жизни нам дается только лишь один шанс. Ошибки вообще не правятся! Мы лишь пытаемся снизить печальные последствия их допущения. Мой Вам совет: Если Вы хотите стать программистом РАЗВИВАЙТЕСЬ МАТЕМАТИЧЕСКИ! Это ставит Ваш мозг в нужном направлении. Даже если Вам какой-нибудь дифур нафиг нигде не пригодится тем не менее это будет Вам полезно! Потому что человек досих пор не знает как работает его головной мозг. Изучая Математику Вы развиваете те отделы мозга, которые очень важны технарю.

    Вот пример задачки где-нужна математика:
    Для веб-приложения написать код получающий перестановку, которая будет использоваться для показывания банеров, каждый из которых будет показан один раз. Код должен быть написан без использования динамических структур данных и массивов!

    Решение этой задачки можно применить и для компьютерных вирусов, когда очередное число в ряде перестановки это индекс в области которую надо расшифровать. Другими словами известная технология PRIDE - pseudo random index decryption engine. При такой технологии многие движки антивирусов не могут автоматически распознать цикл расшифровки и следовательно не могут накрутить бал-подозрительности файла.

    Изучайте математику. Это важно!
    Ответ написан
    2 комментария