Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

изменение переменных процесса снаружи


Страницы:   1 2

nick_van_rijn ©   (2007-01-16 12:24:00) 

Доброго времени суток. Необходимо изменить переменную в адресном пространстве запущенного мною же  процесса.

Подскажите кто видел когда нибудь PE файлы в разобранном состоянии. Компилирую проэкт с созданием map файла. Получаю относительный адрес необходимой мне переменной , например
02:00001BDC : a - 2 страница:адрес
отладчик показывает адрес а = 451BDC - относительно старотового адреса 400000 , как имея структуры файла в памяти IMAGE_NT_HEADERS, IMAGE_DOS_HEADER,IMAGE_SECTION_HEADER получить из первого второе, для далнейшего применения read/write processmemory?


nick_van_rijn   (2007-01-19 09:47:00) [1]

а ответ состоял в  словах - ms scripting system. паскаля там конечно нету но к VBscript легко подгоню.


nick_van_rijn   (2007-01-16 17:19:00) [2]

Спасибо от начинающего,хм, за ответы.


Elen   (2007-01-16 17:08:00) [3]


> nick_van_rijn

Тогда точно интерпретатор поможет. (хотя такие коры по-моему лучше на прологе писать). И все-таки непонятно почему ты в проге которая генерится автоматом не можеш прописать, так сказать, скрипт создания файла отчета?
Хотя странная какая-то строка... паскаль ее не возьмет...


nick_van_rijn   (2007-01-16 17:03:00) [4]

>а ты зацепился не понятно

[5]>ничего конкретного а так хочу идеи послушать
я хорошо знаю что такое межпроцессорный обмен, помню про пайпы и майлслоты, файлы отображенные в память...., просто файлы проблема в моеём случае не в этом.
хотя  применение dcc32 для этой задачи оч интересно

>Приведи пример строки
все что логика надумает посли общения с экспертом, на в основном
'If var_a>var_b*0,32 then var_c*0,68'


Elen   (2007-01-16 16:52:00) [5]


> из базы пришла строка

Приведи пример строки. (Телепативно намекаю на парсинг)


evvcom   (2007-01-16 16:51:00) [6]

> [16] nick_van_rijn ©   (16.01.07 16:45)
> помоему я никому не грубил

согласен

тебе дали столько советов, а ты зацепился не понятно за что. Лучший совет, имхо, встроить интерпретатор. И не нужны никакие доп.модули и извращения.


Сергей М.   (2007-01-16 16:47:00) [7]


> у меня просто строка


Тебя эта самая строка интересует ?
Это и есть интересующее тебя значение.


nick_van_rijn   (2007-01-16 16:45:00) [8]

>evvcom
помоему я никому не грубил для перехода на оскорбления


nick_van_rijn   (2007-01-16 16:44:00) [9]

>интересующие тебя значения
на момент выполнения я не знаю какие меня интересуют, у меня просто строка....
> не сделать модуль со всеми расчетами
из базы пришла строка, какой модуль поможет мне её посчитать с учетом того что я об этой строке не знаю ничего?


evvcom   (2007-01-16 16:42:00) [10]

Или генери тогда не *.exe а *.dll. C нею все гораздо проще. Хотя для тебя начинаю думать, что нет :(


Elen   (2007-01-16 16:26:00) [11]


> апускаю откомпилированный экзешник, который уже умеет считать
> > мою формулу

Кстати, а почему б не сделать модуль со всеми расчетами и не использовать его в исходной проге? Зачем нужен еще один экзешник, который почему то компилить нужно автоматом (я правильно понимаю что он всякий раз содержит другой код?), ну и впихни его (этот код) в модуль.


Elen   (2007-01-16 16:22:00) [12]


> потому как в автоматом-писный текст dpr-a много не напишеш,
>  и межпроцессорный обмен тем более..

Ух грузно... Неужели скидывание переменок в файл не катит? Разве это трудно прописать? И почему это "межпроцессорный обмен тем более". Наоборот удобно!


Сергей М.   (2007-01-16 16:20:00) [13]


> nick_van_rijn ©   (16.01.07 16:14) [10]



> запускаю откомпилированный экзешник, который уже умеет считать
> мою формулу


Экзешник-то - твой!

Вот и "научи" его передавать в вызывающее приложение (оно ведь тоже твоё!) интересующие тебя значения !


> в автоматом-писный текст dpr-a много не напишеш, и межпроцессорный
> обмен тем более


Галиматьища несусветная.


nick_van_rijn   (2007-01-16 16:14:00) [14]

заело человека....
запускаю откомпилированный экзешник, который уже умеет считать мою формулу, и дальние указатели на все переменный хотел читать из АП вычисляющего процесса значения переменных, потому как в автоматом-писный текст dpr-a много не напишеш, и межпроцессорный обмен тем более..


Сергей М.   (2007-01-16 16:06:00) [15]


> nick_van_rijn ©   (16.01.07 16:04) [8]


Все это расчудесно, но причем здесь read/write processmemory?


nick_van_rijn   (2007-01-16 16:04:00) [16]

база данных содержит в своих полях продукционные правила в текстовом виде(по другому никак), логика основных компонентов вырабатывает новые правила и пишет их в базу, выражения  надо  постоянно считать, выражения могут достаточно сложными получаться, с функциями, с битовыми операциями и пр.


Elen   (2007-01-16 15:56:00) [17]


>  он запускается,вычисляет  и стоит

А может пусть вместо стоит, скажем, формирует отчет в текстовый файл? или через Map файл?


> у меня получается динамически - пишу ручками, из первого
> процесса дпр, запускаю dcc32, получаю exe

Если не секрет, просто интересно - для какой задачи?


Сергей М.   (2007-01-16 15:56:00) [18]

см. любой интерпретаторПаскаля.

Но к read/writememory это опять же не имеет ни малейшего отношения


nick_van_rijn   (2007-01-16 15:52:00) [19]

хорошо, вопрос, ничего конкретного а так хочу идеи послушать, как для компилятора организовать вычисление строки(правильной паскаль строки), без какого либо её преобразования.
var a,b:integer=5;

...
macro('a:=b*2')//// a=10;b=5;


Сергей М.   (2007-01-16 15:09:00) [20]


> nick_van_rijn ©   (16.01.07 14:30) [3]


Какое отношение TypeInfo имеет к твоему вопросу ?


> насчет не мудрить, так подругому никак


Ты вот скажи, начерта тебе мудрить с сабжем. если оба приложения (и запускающее и запускаемое) твои?

Тебе же в [1] уже намекнули - интерпроцессное взаимодействие между приложениями твоейразработки не требует никаких "премудростей" с доступом (к якобы "чужим") данным через анус)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо