Страница: 1 | 2 |
Вопрос: Возможно ли?
Добавлено: 06.05.07 12:04
Автор вопроса: Visual Basic .NET 2005 Пиратская версия | Web-сайт:
Есть аппликуха которая юзает регистр ЕАХ. Она кладет туда значение, например 1. Вторая программа должна это значение прочитать. Возможно ли такое?
Ответы
Всего ответов: 23
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 06.05.07 12:27
Сам понял, что сказал?
Номер ответа: 2
Автор ответа:
Visual Basic .NET 2005 Пиратская версия
Вопросов: 38
Ответов: 190
Web-сайт:
Профиль | | #2
Добавлено: 06.05.07 13:45
Понял.
App1:
mov eax,1
App2:
mov esi,eax
Номер ответа: 3
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #3
Добавлено: 06.05.07 14:41
Это возможно но так помойму когдато делали DOS-овские програми для контроля своих резидентних копий.
Номер ответа: 4
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #4
Добавлено: 06.05.07 15:10
App1:
mov eax,1
App2:
mov esi,eax
Бред.
Если бы ты знал суть и назначение регистра eax, ты бы сам понял, что бред.
Аналогичный бред.
Номер ответа: 5
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #5
Добавлено: 06.05.07 16:25
Когда "бред" то почему ?
А за свои слова я не уверен но где-то читал, что чтобы недать запустить две одинаковых резидентных программы. Первая программа пишит чтото в к какой то регистр или адрес памяти, а другая смотрит туда, когда там чтото есть - она не запускается, а когда нет ничего она загружается в память. Может я ошибаюсь.
Номер ответа: 6
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #6
Добавлено: 06.05.07 16:42
"Какой-то регистр" и "регистр eax" - разные вещи.
"Какой-то адрес памяти" и "регистр eax" - разные вещи.
Регистр eax хранит целочисленное значение, возвращаемое каждой функцией, и не сохраняется между вызовами разных функций. По причине чего его нельзя использовать для межпроцессных коммуникаций.
А автор вопроса не понимает, чего хочет.
Номер ответа: 7
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #7
Добавлено: 06.05.07 19:05
А за свои слова я не уверен но где-то читал, что чтобы недать запустить две одинаковых резидентных программы. Первая программа пишит чтото в к какой то регистр или адрес памяти, а другая смотрит туда, когда там чтото есть - она не запускается, а когда нет ничего она загружается в память. Может я ошибаюсь.
Номер ответа: 8
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #8
Добавлено: 06.05.07 19:06
Ну в винде такое возможно.
В защищенном режиме каждая "аппликуха" работает со своей областью памяти.
Передать инфу через память можно, но явно не через EAX.
Проще написать прогу + dll, и dll'ке передавать адрес и размер переменной.
Ну или только значение, если речь идет о DWORD
Номер ответа: 9
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #9
Добавлено: 06.05.07 19:10
Да, это худший и наименее надёжный способ такого определения.
Смысл делать это со своей dll?
Номер ответа: 10
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #10
Добавлено: 06.05.07 19:22
Поправлю себя: в винде такое НЕ возможно
Номер ответа: 11
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #11
Добавлено: 06.05.07 20:50
GSerg ты неможеш чтобы не покритиковать, конечно ты напишиш свой вариант котогый "решит" все наши проблемы, а нам будеш втирать что наш вариант это бред
Номер ответа: 12
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #12
Добавлено: 06.05.07 20:52
Зависит исключительно от сути предлагаемого к критике.
Даже не буду пытаться.
В тех случаях, когда он им действительно является, ничего другого не остаётся.
Номер ответа: 13
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #13
Добавлено: 06.05.07 21:04
И в винде есть вариант, чтобы другое приложение определило, что EAX установлен в 1. Один из вариантов - рабочий поток одной программы создает поток, останавливает его, меняет в его контексте EAX на 1 и через IPC посылает сообщение другой программе "Можешь читать". Другая программа аттачится отладчиком к тому потоку, получает его контекст и проверяет, равен ли в нем EAX 1. При большом желании почесать левое ухо аппендиксом всегда можно.
Номер ответа: 14
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #14
Добавлено: 06.05.07 23:11
Зачем? Или спортивный инетрес? Надо синхронизровать два потока/приложения? Так и назвовите тему, а ещё лучше сразу сформулируйте вопрос поисковику...
Номер ответа: 15
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #15
Добавлено: 07.05.07 04:20
Нуу, как только кто-то говорит "Это невозможно!" сразу хочется из спортивного интереса сказать "Это Спарта!" и показать, как такое можно сделать