Нажмите CTRL-D чтобы добавить нас в закладки
HackZone.RU - Вопрос по билдеру Актуальные базы 2GIS в форматах CSV,Excel,SQL
Войти / Регистрация / Участники
Определение даты выпуска iPhone по серийному номеру
-
Поиск по сайту
Форумы



Реклама

Программирование / Delphi & Pascal RSS подписка на сообщения с форума Subscribe Модераторы: RenGO, Leo08, codemaster, B3JIoMep, BRUNOTTI, Virous


Новая тема Наиболее обсуждаемые темы Наиболее посещаемые темы
Поиск 
Период
Перейти

Просмотров - 2039
Вопрос по билдеру
Добавить этот топик в закладки »
RSS-лента ответов »Subscribe
B3JIoMep



HackZone TEAM
Platinum Member
# | Сообщение добавлено 07.12.2010 22:58:56
Как пропатчить "нулевым байтом" (вроде как то так называется) что бы данные из строки в отбилденной проге заменились на данные из строки в билдере (размер строк разный, у билдера - больше)? В гугле на эту тему - 0.
 
Добавлено 08.12.2010 07:46:00 (через 9 часов 47 минут 4 секунды )
 
Up!)) Никто не знает что ли?
 
Добавлено 08.12.2010 15:57:43 (через 8 часов 12 минут 44 секунды )
 
UP!
[/u][/b]
 
гений, миллиардер, плейбой, филантроп)0)
Сказать спасибо Ответить Цитировать

_ruzmaz_


Gold Member
# | Сообщение добавлено 08.12.2010 20:17:52
это называется просто пропатчить), ноль нужен на конце строк, обрабатываемых приложением как нуль-терминированные
трудность задачи и ее решение определяется приложением, выложил бы его хотя бы
в общем случае используй OgreGUI или Radialix
Сказать спасибо Ответить Цитировать

B3JIoMep



HackZone TEAM
Platinum Member
# | Сообщение добавлено 08.12.2010 21:11:44
Отредактировано 08.12.2010 21:13:19 by B3JIoMep
_ruzmaz_

это называется просто пропатчить)
...
B3JIoMep

Как пропатчить "нулевым байтом"

_ruzmaz_

трудность задачи и ее решение определяется приложением, выложил бы его хотя бы
На форму кинь кнопку и 1 едит
Delphi
if edit1.text:='12345678' then showmessage('Чето там') else showmessage('Чет не то');

 
Добавлено 08.12.2010 21:13:07 (через 1 минута 2 секунды )
 
Тут патчим 12345678
 
Добавлено 08.12.2010 21:19:14 (через 6 минут 56 секунд )
 
_ruzmaz_

в общем случае используй OgreGUI или Radialix
Мне нужно программно пропатчить. Вряд ли клиенту понравится, если он будет сам билдить себе прогу вручную Rocks
 
Добавлено 09.12.2010 07:27:04 (через 10 часов 8 минут 50 секунд )
 
Т.е. никто не знает?
 
гений, миллиардер, плейбой, филантроп)0)
Сказать спасибо Ответить Цитировать

_ruzmaz_


Gold Member
# | Сообщение добавлено 09.12.2010 20:00:42
B3JIoMep

нужно программно пропатчить
Открываешь файл, ищешь свою строку (если она не уникальна в пределах файла или хотя бы секции данных, то можешь в принципе забить=), заменяешь байты этой строки на свои и закрываешь файл. Как же еще))?
Здесь надо пояснить. Если имеются в виду строковые константы в делфи, ...
 
Добавлено 09.12.2010 20:01:37 (через 1 минута 55 секунд )
 
... то там они обрабатываются как паскальные строки (pascal strings) - перед самой последовательностью символов (байтов которые их описывают) идет длина строки (занимает 4 байта) и в конце строки (после последнего символа) байт 00 не обязателен. Помимо этого, перед длиной обычно делфи ставит четыре байта FF. Также, делфи вставляет нульбайты ...
 
Добавлено 09.12.2010 20:02:20 (через 1 минута 43 секунды )
 
... после последнего символа, и причем ровно столько, сколько необходимо для того, чтоб первый байт FF следующей строковой константы не шел сразу после последнего символа предшествующей строки и чтобы смещение в файле (offset, офсет) этого первого байта FF было кратно 4. Эти нулевые байты, используемые для выравнивания и разделения строковых констант, ...
 
Добавлено 09.12.2010 20:03:21 (через 1 минута 1 секунда )
 
... а также байты FF строковой константы, идущей следом за изменяемой, в принципе можно использовать под символы изменяемой строки, т.е. имеем запас по длине от 5 до 8 символов. Еще следует исправить значение длины строки на новое.
 
Добавлено 09.12.2010 20:03:40 (через 19 секунд )
 
Небольшая иллюстрация
 
Добавлено 09.12.2010 20:04:11 (через 1 минута 32 секунды )
 
Если запаса не хватает, а после изменяемой строки идут какие-то данные, то единственный (или почти=) подходящий способ - это перенос строки в другое место (в свободное место в конце какой-либо секции исполняемого файла либо создание новой), ...
 
Добавлено 09.12.2010 20:05:03 (через 1 минута 52 секунды )
 
... т.е. запись новой строки (с длиной) в другом месте файла и правка всех ссылок на изменяемую строковую константу в коде, для чего вообще-то нужно ...
 
Добавлено 09.12.2010 20:05:21 (через 18 секунд )
 
... дизассемблирование секции кода проги (или части кода, если строка использовалась, например, только в одной функции), что явно не айс=).
Сказать спасибо Ответить Цитировать

DP120




Scum of Society
# | Сообщение добавлено 09.12.2010 20:17:45
Биллдер это не pascal. А c++
Сказать спасибо Ответить Цитировать

_ruzmaz_


Gold Member
# | Сообщение добавлено 09.12.2010 20:20:39
спасибо кэп)  но название раздела и приведенный здесь пример кода как бы намекают...
 
Добавлено 09.12.2010 20:40:30 (через 20 минут 51 секунда )
 
... намекают на то, что, судя по всему, речь не о том билдере
 
Добавлено 09.12.2010 21:17:40 (через 1 час 37 минут 10 секунд )
 
В более поздних версиях делфи строковые константы по дефолту в юникоде - в этом случае все то же самое, с небольшими поправками: на каждый символ строки приходится по 2 байта, длина строки измеряется кол-вом символов (а не байтов), между последним символом (двумя байтами) строки и следующими за ней другими данными должно быть хотя бы два байта 00 (в описанном ранее случае - хотя бы один).
 
Добавлено 09.12.2010 22:24:25 (через 1 час 7 минут 45 секунд )
 
Если проблемно делать прогу для патчинга самому, можно заюзать генератор патчей (aka патчер, patcher, patch engine, patch generator, patch creator), типо dUP.
Сказать спасибо Ответить Цитировать


Только зарегистрированные пользователи могут оставлять сообщения в форуме

Зарегистрироваться *** Авторизоваться

 Последние новости и статьи  Последние сообщения с форумов
  • Самозащита от вируса Petya
  • Google Pixel взломали за 60 секунд
  • В CMS Joomla обнаружена критическая 0-day уязвимость
  • ФБР не смогло взломать протокол шифрования переписки террористов ...
  • Полиция обыскала дом предполагаемого создателя платежной системы ...
  • Google: квантовый ПК будет в 100 млн раз быстрее стандартных чипо...
  • "Лаборатория Касперского" констатирует усиление атак кибергруппир...
  • Microsoft Edge откроет исходные коды ChakraCore
  • Anonymous объявили 11 декабря «днём троллинга» ИГИЛ
  • Миллионы телевизоров, смартфонов и маршрутизаторов оказались уязв...

    Все новости... Все статьи... Прислать новость RSS
  • Mobile / Средства связи » Online.help.free.hack@gmail.com - услуги взлома и ddos атак
  • Сети / Общее » Online.help.free.hack@gmail.com - услуги взлома и ddos атак
  • Взлом и безопасность / Программы » Online.help.free.hack@gmail.com - услуги взлома и ddos атак
  • Программирование / Java » стрелочные функции в javascript
  • Разное / Ищу работу » Re: Качественный подбор паролей к почтам. Работаем с 2011 го...
  • Разное / Ищу работу » Re: взлом почты на майле
  • Разное / Ищу работу » Re: Взлом емейлов, вконтакте, одноклассники
  • Разное / Ищу работу » Re: Взлом почты mail.ru, yandex.ru, rambler, gmail
  • Разное / Ищу работу » Re: Качественный подбор паролей к почтам. Работаем с 2011 го...
  • Разное / Ищу работу » Re: Взлом ВКонтакте на заказ. Взлом почты на заказ.

    Все форумы... RSS


  • Разместить рекламу
    © HackZone Ltd. 2007-2012. Все права зарегистрированы.
    Перепечатка материалов без согласования и указания источника будет преследоваться по Закону

    О проекте | История проекта | Размещение рекламы | Обратная связь | Правила поведения на портале
    Ya-Cyt службы мониторинга серверов

    #{title}

    #{text}

    x

    #{title}

    #{text}