Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Внизизменение переменных процесса снаружи Найти похожие ветки
← →
nick_van_rijn © (2007-01-16 12:24) [0]Доброго времени суток. Необходимо изменить переменную в адресном пространстве запущенного мною же процесса.
Подскажите кто видел когда нибудь PE файлы в разобранном состоянии. Компилирую проэкт с созданием map файла. Получаю относительный адрес необходимой мне переменной , например
02:00001BDC : a - 2 страница:адрес
отладчик показывает адрес а = 451BDC - относительно старотового адреса 400000 , как имея структуры файла в памяти IMAGE_NT_HEADERS, IMAGE_DOS_HEADER,IMAGE_SECTION_HEADER получить из первого второе, для далнейшего применения read/write processmemory?
← →
Psychedelic © (2007-01-16 14:00) [1]Ой чувак не мудри, отправь ему лучше какое нить специальное сообщение. Пусть он сам изменит.
← →
Сергей М. © (2007-01-16 14:16) [2]
> для далнейшего применения read/write processmemory
Для этого ничего не требуется, кроме уже готового адреса $451BDC, который показал тебе отладчик. Этот самый адрес и передавай в read/write processmemory.
← →
nick_van_rijn © (2007-01-16 14:30) [3]я тут на форуме тему нашел, люди указатель на TypeInfo искали для удаления элемента из массива элементов произвольного типа, вот въезжаю пока....
а насчет не мудрить, так подругому никак,тот процесс у меня получается динамически - пишу ручками, из первого процесса дпр, запускаю dcc32, получаю exe, он запускается,вычисляет и стоит, я должен прочесть переменныеи узнать их значения и убить вычисляющий процесс)
← →
Сергей М. © (2007-01-16 15:09) [4]
> nick_van_rijn © (16.01.07 14:30) [3]
Какое отношение TypeInfo имеет к твоему вопросу ?
> насчет не мудрить, так подругому никак
Ты вот скажи, начерта тебе мудрить с сабжем. если оба приложения (и запускающее и запускаемое) твои ?
Тебе же в [1] уже намекнули - интерпроцессное взаимодействие между приложениями твоей разработки не требует никаких "премудростей" с доступом (к якобы "чужим") данным через анус)
← →
nick_van_rijn © (2007-01-16 15:52) [5]хорошо, вопрос, ничего конкретного а так хочу идеи послушать, как для компилятора организовать вычисление строки(правильной паскаль строки), без какого либо её преобразования.
var a,b:integer=5;
...
macro("a:=b*2")//// a=10;b=5;
← →
Сергей М. © (2007-01-16 15:56) [6]см. любой интерпретатор Паскаля.
Но к read/writememory это опять же не имеет ни малейшего отношения
← →
Elen © (2007-01-16 15:56) [7]
> он запускается,вычисляет и стоит
А может пусть вместо стоит, скажем, формирует отчет в текстовый файл? или через Map файл?
> у меня получается динамически - пишу ручками, из первого
> процесса дпр, запускаю dcc32, получаю exe
Если не секрет, просто интересно - для какой задачи?
← →
nick_van_rijn © (2007-01-16 16:04) [8]база данных содержит в своих полях продукционные правила в текстовом виде(по другому никак), логика основных компонентов вырабатывает новые правила и пишет их в базу, выражения надо постоянно считать, выражения могут достаточно сложными получаться, с функциями, с битовыми операциями и пр.
← →
Сергей М. © (2007-01-16 16:06) [9]
> nick_van_rijn © (16.01.07 16:04) [8]
Все это расчудесно, но причем здесь read/write processmemory?
← →
nick_van_rijn © (2007-01-16 16:14) [10]заело человека....
запускаю откомпилированный экзешник, который уже умеет считать мою формулу, и дальние указатели на все переменный хотел читать из АП вычисляющего процесса значения переменных, потому как в автоматом-писный текст dpr-a много не напишеш, и межпроцессорный обмен тем более..
← →
Сергей М. © (2007-01-16 16:20) [11]
> nick_van_rijn © (16.01.07 16:14) [10]
> запускаю откомпилированный экзешник, который уже умеет считать
> мою формулу
Экзешник-то - твой !
Вот и "научи" его передавать в вызывающее приложение (оно ведь тоже твоё !) интересующие тебя значения !
> в автоматом-писный текст dpr-a много не напишеш, и межпроцессорный
> обмен тем более
Галиматьища несусветная.
← →
Elen © (2007-01-16 16:22) [12]
> потому как в автоматом-писный текст dpr-a много не напишеш,
> и межпроцессорный обмен тем более..
Ух грузно... Неужели скидывание переменок в файл не катит? Разве это трудно прописать? И почему это "межпроцессорный обмен тем более". Наоборот удобно!
← →
Elen © (2007-01-16 16:26) [13]
> апускаю откомпилированный экзешник, который уже умеет считать
> > мою формулу
Кстати, а почему б не сделать модуль со всеми расчетами и не использовать его в исходной проге? Зачем нужен еще один экзешник, который почему то компилить нужно автоматом (я правильно понимаю что он всякий раз содержит другой код?), ну и впихни его (этот код) в модуль.
← →
evvcom © (2007-01-16 16:42) [14]Или генери тогда не *.exe а *.dll. C нею все гораздо проще. Хотя для тебя начинаю думать, что нет :(
← →
nick_van_rijn © (2007-01-16 16:44) [15]>интересующие тебя значения
на момент выполнения я не знаю какие меня интересуют, у меня просто строка....
> не сделать модуль со всеми расчетами
из базы пришла строка, какой модуль поможет мне её посчитать с учетом того что я об этой строке не знаю ничего?
← →
nick_van_rijn © (2007-01-16 16:45) [16]>evvcom
помоему я никому не грубил для перехода на оскорбления
← →
Сергей М. © (2007-01-16 16:47) [17]
> у меня просто строка
Тебя эта самая строка интересует ?
Это и есть интересующее тебя значение.
← →
evvcom © (2007-01-16 16:51) [18]> [16] nick_van_rijn © (16.01.07 16:45)
> помоему я никому не грубил
согласен
тебе дали столько советов, а ты зацепился не понятно за что. Лучший совет, имхо, встроить интерпретатор. И не нужны никакие доп.модули и извращения.
← →
Elen © (2007-01-16 16:52) [19]
> из базы пришла строка
Приведи пример строки. (Телепативно намекаю на парсинг)
← →
nick_van_rijn © (2007-01-16 17:03) [20]>а ты зацепился не понятно
[5]>ничего конкретного а так хочу идеи послушать
я хорошо знаю что такое межпроцессорный обмен, помню про пайпы и майлслоты, файлы отображенные в память...., просто файлы проблема в моеём случае не в этом.
хотя применение dcc32 для этой задачи оч интересно
>Приведи пример строки
все что логика надумает посли общения с экспертом, на в основном
"If var_a>var_b*0,32 then var_c*0,68"
← →
Elen © (2007-01-16 17:08) [21]
> nick_van_rijn
Тогда точно интерпретатор поможет. (хотя такие коры по-моему лучше на прологе писать). И все-таки непонятно почему ты в проге которая генерится автоматом не можеш прописать, так сказать, скрипт создания файла отчета?
Хотя странная какая-то строка... паскаль ее не возьмет...
← →
nick_van_rijn © (2007-01-16 17:19) [22]Спасибо от начинающего,хм, за ответы.
← →
nick_van_rijn © (2007-01-19 09:47) [23]а ответ состоял в словах - ms scripting system. паскаля там конечно нету но к VBscript легко подгоню.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.043 c