![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Дизайнер, Кодер.
Пользователь
Регистрация: 31.12.2009
Сообщений: 45
|
![]()
Здравствуйте.
Мне нужно создать билдер. Есть программа написанная мною и нужно менять в ней некоторые параметры из другой программы как это возможно реализовать? Заранее спасибо. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 03.11.2009
Сообщений: 29
|
![]()
Очень интересная тема! Сам давненько этим интересуюсь
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
например, через обмен сообщениями wm_copydata... на блоге выложен подробный пример... или через сокеты, вариантов множество.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
в запущенной проге?
или создавать новый exe с новыми данными? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 03.11.2009
Сообщений: 29
|
![]()
Новий .exe
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
ну если текстовые данные то очень просто...а вот если числовые...integer и тд...то труднее.
для текста в программе болванке задаем текстовую константу длиною 255 допустим из '0'(символа 0), потом через Хекс редактор находим смещение этой константы и перезаписываем её(в конструкторе через FileStream например)...но помните, что нельзя превышать длину. можно уменьшить её..заполнив излишек #0 Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось mihali4; 15.01.2010 в 22:58. |
![]() |
![]() |
![]() |
#7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Project -> Options -> Linker, Map file: Publics
Компилируем, получаем карту файла с адресами всех структур project1.map Код:
Грузим экзешник в любой PE-редактор (PE Tools, DiE, PEID), смотрим смещение секции .data (Raw Offset, в данном случае 4D200h), прибавляем смещение переменной D3Ch, получаем физический адрес в файле 4DF3Ch - именно там лежат эти заветные 4 байта ![]() Переменная должна быть глобальной инициализированной переменной или константой, иначе она попадёт в секцию неинициализированных данных и в файле её не будет. Ещё там обратный порядок следования байт: число 1234ABCD будет храниться как CDAB3412 Написание собственно патчера на вашей совести, это несложно, главное знать сколько байт писать и куда (TFileStream.Create, Seek, Write, Free). Если всё это для трояна - шлю лучи поноса
пыщь
|
![]() |
![]() |
![]() |
#8 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Заведи в программе несколько переменных
Код:
Билдер будет хранить stub.exe в ресурсах, при необходимости извлекать в память, править переменные по нужным адресам (TResourceStream.Seek, TResourceStream.Write) и записывать на диск (TResourceStream.SaveToFile). Написал же "Мне нужно создать", вот и создавай, пинок в нужном направлении тебе дали ![]() И не нужно создавать кучу тем, сообщения с ссылками на файлообменники отмечаются как потенциальный спам, поэтому отображаются не сразу, а только после проверки модератором
пыщь
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Портативный С++ Билдер | Syltan | Общие вопросы C/C++ | 0 | 17.11.2009 22:50 |
Не работает Билдер!:( | freedom_fighter | Помощь студентам | 0 | 03.05.2009 22:28 |
Конструкторы С++ Билдер | prikolist | Общие вопросы C/C++ | 5 | 02.05.2009 17:40 |
из Visual C++ в C++ Билдер | ГЫнок | Общие вопросы C/C++ | 0 | 19.03.2009 16:58 |