• XSS.stack #1 – первый литературный журнал от юзеров форума

Помощь с C++

Пожалуйста, обратите внимание, что пользователь заблокирован
Dark Koder
плюсы слишком тяжелые , я вот как то смотрел код - все эти вектора, шаблоны, классы..
STL тяжелый, да. Вектора это стл. Классы и шаблоны - нет. Я, например, на полную использую полиморфизм и абстрактные интерфейсы и даже рекурсивные шаблоны (привет, CTRP), компилируется все в чистый код. Засчет абстрактных интерфейсов все локальные вызовы обернуты в косвенные (на уровне асма) и без дебагера не понять что происходит, т.е это еще + защита от статического анализа. Если вырубить стандартную либу через NODEFAULTLIB и перегрузить операторы new/delete в глобалспейсе, то можно юзать виртуальные функции и прочие плюши без увеличения размера (Если заюзаешь че то непригодное компилятор матюкнется, как с си короче). Если интересно - могу потом собрать тебе тестовый файл в пару килобайт, скинуть сорцы и файл, глянешь в дизасме как это выглядит. Пиши мне в жабу если интересно.


На самом деле я раньше ненавидел ООП, просто пиздец как. Потом полюбил. Это реально удобная штука! Я думаю к тебе тоже это придет, у меня такой же путь был. Фасм - си - плюсы.

Про утечки памяти я можно сказать забыл. Очень удобно в конструкторы ставить инициализации всякие там вынсока етц, а в деструкторы освобождение. Саму работу в методы. И сделать это все через абстрактный интерфейс, и реализовать вынсок, вынинет и вынхттп (через наследование). И работать одинаковым кодом по-очередно с каждым из сетевых провайдеров виндовых. Не меняя код, совсем. Выбирая просто что подойдет в конкретный момент лучше. Разве не прекрасно?

ShizIN, какой хакинг ты имеешь ввиду, если писать малварки или эксплоиты то нужно выбирать Си ( или Си++ ), а если брутеры, сканеры, веб эксплоиты, то нужно учить скриптовый язык. Касательно книжек именно по Си++ то это Страуструп, когда начнешь разбираться немного то Майерс, Саттер и Александреску. Но это все только Си++, не путать его с чистым Си это разные вещи.

Eject, популярность не определяет качество, а низкий порог вхождения, сейчас все крутиться вокруг веб приложений, только вот ядра систем все равно пишут на Си
Питон оч полезен в малвари.
У меня морфер на питоне через обертку над LLVM C++ API, гораздо проще и приятнее, чем крутить LLVM::ModulePass на плюсах.

Без питона я бы х#й на это дело забил, так что не надо тут. Простота языка и низкий порог входа - огромный плюс.

В реверсинге питон незаменим. Все скрипты в ида пишутся на питоне. А без скриптинга в иде получится реверсить только очень простенькую малварь.
Заебатые дифф плагины типа диафоры, которые оч удобны при написании 1дей сплойтов по патчам, тоже на питоне.
 
Последнее редактирование:
Dark Koder, Можно использовать сторонние STL, которые по меньше размером и без эксепшенов. Из STL там нужно только string и vector, ну иногда list, все остальное можно реализовать через vector.

AnusPoloskator, а ты проверял, что вызовы через виртуальные функции обламывают статик анализ? Или ты имеешь ввиду что это усложняет работу аверам ? Есть кстати плагин для IDA для помощи с vtable HexRaysCodeXplorer, сам правда не использовал, но раз уж зашла речь.
 
Хоть я и не люблю питон (очень не люблю), но он победил все иные ЯП, и уж особенно в сфере хакинга, заменив перл и иже с ним.
Учи питон и без вариантов. С++ для хакинга не нужен.
Если ты конечно не вирмейкер.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Dark Koder, Можно использовать сторонние STL, которые по меньше размером и без эксепшенов. Из STL там нужно только string и vector, ну иногда list, все остальное можно реализовать через vector.

AnusPoloskator, а ты проверял, что вызовы через виртуальные функции обламывают статик анализ? Или ты имеешь ввиду что это усложняет работу аверам ? Есть кстати плагин для IDA для помощи с vtable HexRaysCodeXplorer, сам правда не использовал, но раз уж зашла речь.
Статик анализ я в терминах реверса говорил. Ну ида там. А динамик - дебагер или запуск)

стринги это простой контейнер. Лист тоже, это все можно легко реализовать. Вектор к слову тоже потом через список легко реализовывается. Минут 20-30 работы и никакого тяжелого стл
 
500mhz, Как бы то ни было, строки надо как минимум апендить, это можно сделать через RtlAppend* но за выделения буфера под это все равно кто то должен отвечать, придеться над этими функциями делать врапперы для контроля памяти. А если понадобиться например сделать множественную замену?

Еще есть Sys* функции для BSTR и ATL класс над ними CComBSTR по сути легкий аналог std::string.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх