Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2012, 20:27   #1
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию Правка EXE файла посредством bin/hex редактора. Вопрос о возможности увеличения длинны строки

Привет.
Я прекрасно понимаю, что обсуждение взлома ПО запрещено на форуме, однако я спрашивать об этом не собираюсь. Меня же это интересует вот в каком контексте.

Сегодня на работе я зашёл в один из кабинетов. Там сидели двое программистов и один из них пытался изменить экзешник посредством каких-то предназначенных для этого средств.

Немного позже, уже в другом кабинете я беседовал с другим программистом (он не принимал участия в попытках изменить экзешник). Вот я ему и говорю, что это делается простым открытием в hex-редакторе экзешника и правится необходимая строка. Он мне ответил, что "Экзешник нельзя "раздвинуть"". То есть, если у программы имеется форма, на которой в лейбле написана фамилия, например "Иванов" (6 букв), то изменить эту фамилию на "Новосёлов" (9 букв) не получится, так как новая строка по длине превосходит старую. Так он мне это объяснил.
Хоть я и его уважаю, что почему-то кажется, что эти данные неверны.

Так как обстоят дела с этим на самом деле?
Вадим Мошев вне форума Ответить с цитированием
Старый 24.02.2012, 21:01   #2
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию

Цитата:
Хоть я и его уважаю, что почему-то кажется, что эти данные неверны.
Не знаю. Я вот тоже слышал такие данные. Из-за этого вроде еще проблемы с русификацией раньше были.
Опять же - не занимался, не знаю.
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Старый 24.02.2012, 21:17   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
То есть, если у программы имеется форма, на которой в лейбле написана фамилия, например "Иванов" (6 букв), то изменить эту фамилию на "Новосёлов" (9 букв) не получится, так как новая строка по длине превосходит старую. Так он мне это объяснил.
Хоть я и его уважаю, что почему-то кажется, что эти данные неверны.
всё правильно они говорят. для увеличения длины строки, надо пересчитать и обновить кучу полей в заголовке PE-файла и структурах внутри него
rpy3uH вне форума Ответить с цитированием
Старый 24.02.2012, 21:21   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

>всё правильно они говорят. для увеличения длины строки, надо пересчитать и обновить кучу полей в заголовке PE-файла и структурах внутри него
Витиевато, а если не увеличивать и не уменьшать
был
иванов
стал
петров
тогда как??
Ципихович Эндрю вне форума Ответить с цитированием
Старый 24.02.2012, 21:23   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Витиевато, а если не увеличивать и не уменьшать
был
иванов
стал
петров
тогда как??
уменьшать и не изменять длину легко.
просто изменяем эту строку.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.02.2012, 21:30   #6
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Если буфер под строку выделен больше длины строки, то тоже дописать можно
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 24.02.2012, 23:09   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
для увеличения длины строки, надо пересчитать и обновить кучу полей
Но все же можно. М.м.м. где-то в былинные времена даже находил хакерские примочины для таких корректировок.
Ну а если строка в ресурсах лежит так банального ResHacker хватит. Так что тот программист прав только отчасти.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2012, 00:02   #8
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

моя же собственная поделка с незапамятных времён
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение и правка *.txt.string.bin Yungo161 Общие вопросы Delphi 8 24.01.2012 15:09
перевод чисел из hex в bin. ASM. crashmanx Помощь студентам 0 25.12.2011 21:35
Чтение длинны строки из файла R4peMe Помощь студентам 1 21.02.2011 13:30
Перевод в HEX посредством javascript WennY JavaScript, Ajax 5 04.07.2009 23:32
Перевод BIN -> HEX Piar Помощь студентам 2 20.05.2009 15:44