|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
Перевести строку в 16-й формат22.11.2015, 20:33. Показов 23204. Ответов 47
Метки нет (Все метки)
Нужно перевести строку(string) в 16-й формат, как сделать? Знаю про std:hex, но он работает только с char и записать получаемое число в другую переменную нельзя.
0
|
|
| 22.11.2015, 20:33 | |
|
Ответы с готовыми решениями:
47
Как строку в самом коде VBA перевести в формат UTF-8 Как перевести строку формата string, состоящую из цифр, в формат float?
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
| 25.11.2015, 17:42 [ТС] | |
|
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 25.11.2015, 21:04 | |
|
Не знаю даже. Я его не изучал так, как в школе или в ВУЗе что-то изучают. Конкретно про rdbuf() была тема здесь на форуме; о том, что string может содержать что угодно, говорится в документации.
0
|
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
||||||
| 26.11.2015, 18:16 [ТС] | ||||||
|
Вроде все сделал как надо, но условие наличия вируса срабатывает при любых условиях, даже если сигнатуры нет в exe. В чем причина ошибки ?
0
|
||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 26.11.2015, 19:40 | ||||||
|
Если сигнатуры записаны текстом, то при чтении нужно конвертировать. \x4d\x5a - это формат для программы C++, а в файле должно быть 4d5a. Примерно так:
1
|
||||||
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
| 26.11.2015, 20:03 [ТС] | |
|
В stoi(bytes.substr(i,2) указана длина - 2 . Можно ли применять string::npos вместо данного параметра?
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 26.11.2015, 20:10 | |
|
Нет. У тебя же байт в шестнадцатеричном текстовом виде - это 2 символа. Поэтому 2.
Добавлено через 1 минуту Думаю, что настоящие антивирусы не хранят сигнатуры текстом, они там бинарные сразу, поэтому конвертация не требуется.
0
|
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
| 26.11.2015, 20:14 [ТС] | |
|
Все антивирусные базы закрыты, только сами разработчики знают, какого они вида. В 16 виде их легче хранить(меньше памяти исходный файл будет занимать) и проверка в разы быстрее из-за размера исходной строки.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 26.11.2015, 20:16 | |
|
В бинарном меньше будет, а у тебя в текстовом - один реальный байт - это 2 байта символов текста.
Добавлено через 54 секунды Не по теме: Nik-, ты решил Касперского разорить или что? :)
1
|
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
| 26.11.2015, 20:18 [ТС] | |
|
Получается, что записав в базу, допустим, 01001, то это сработает ? Если это вирусная сигнатура, и она присутствует в файле произойдет детектирование ?
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 26.11.2015, 20:24 | |
|
Ну я же показал, как надо. Пишешь сигнатуру в шестандцатеричном виде. Каждую в своей строке. С лидирующими нулями при необходимости, т. е. не F, а 0F и т. п.
1
|
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|||||||||||
| 28.11.2015, 21:44 [ТС] | |||||||||||
|
Мне дали задание "лечить" зараженные файлы путем удаления сигнатуры вируса из файла. С exe, который я создаю через блокнот все выходит, но с другими уже нет. Есть другие варианты делать это, не такие, как мой? Сделал так
Определяется наличия вируса так.
0
|
|||||||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 28.11.2015, 22:15 | |
|
В двоичном режиме открывай review.
Так что происходит-то? Не удаляется, не записывается?
0
|
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
| 28.11.2015, 22:47 [ТС] | |
|
Я сам не могу понять, скорее всего не удаляется, т.к после удаление содержания ехе его иконка изменяется на обычную иконку исполняемого файла, но такого не происходит.
0
|
|
|
844 / 353 / 68
Регистрация: 20.11.2012
Сообщений: 852
|
||
| 29.11.2015, 07:02 | ||
![]() Для низкоуровневой работы с потоком байт C++ лишнее, имхо. Лучше тут простые Сишные возможности использовать, вместо того, чтобы городить этот высокоуровневый код). Удобно через mapped файлы работать. Для поиска подстроки в строке есть много хороших быстрых алгоритмов. Так что если не сказано в задании работать именно с высокоуровневыми абстракциями C++, то стоит обратить внимание на подмножество Си в С++.
0
|
||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 29.11.2015, 08:53 | |
|
Да пусть хоть это отладит.
0
|
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
| 29.11.2015, 10:15 [ТС] | |
|
Алгоритмы поиска подстроки знаю, но удобнее, все же, использовать find(), имхо. С отображением файлов в память не работал, возможно, если все ошибки устраню, то воспользуюсь mapping' ом. Но вопрос остается вопросом. Почему не удаляется содержимое exe. (Мучаю exe, установленные на компьютер).
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 29.11.2015, 10:57 | |
|
Программу покажи.
0
|
|
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
||||||
| 29.11.2015, 11:05 [ТС] | ||||||
|
Весь заголовочный файл сканирования. Скорее всего не работает удаление. 71 строка.
0
|
||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 29.11.2015, 19:02 | ||||||
Что конкретно не устраивает?
1
|
||||||
|
20 / 20 / 11
Регистрация: 12.07.2015
Сообщений: 350
|
|
| 29.11.2015, 20:10 [ТС] | |
|
Это скорее всего происходило из-за расположения. После перемещения файла на диск D все пошло как надо. Спасибо. Как было сказано выше, можно использовать проецирование файла в память, стоит ли это делать?
0
|
|
| 29.11.2015, 20:10 | |
|
Перевести формат документа Перевести цену в формат текста Полученные секунды перевести в формат 00:00:00 Перевести текст в формат UCS Перевести формат double в CString Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|