БабаЯГА Опубликовано 2 ноября, 2020 Поделиться Опубликовано 2 ноября, 2020 Всем привет! Будьте любезны, подскажите. Есть два адреса в памяти, первый - изменяется, второй всегда +4 байта и не изменяется. Вопрос: как создать условие для поиска в CE? Ну, например, если первое значение 12, а второе всегда 999, т.е. словами, условие выглядит так: если адрес AAAAA0 == 12 и адрес AAAAA4 == 999 то это наше значение. Будьте любезны, подскажите, как реализовать такой поиск в CE? Ссылка на комментарий Поделиться на другие сайты Поделиться
KRYPTOPUNK Опубликовано 2 ноября, 2020 Поделиться Опубликовано 2 ноября, 2020 Не проще по указателям найти? Ссылка на комментарий Поделиться на другие сайты Поделиться
youneuoy Опубликовано 2 ноября, 2020 Поделиться Опубликовано 2 ноября, 2020 28 минут назад, БабаЯГА сказал: если адрес AAAAA0 == 12 и адрес AAAAA4 == 999 то это наше значение. то есть это каждый раз разные адреса, верно? Двух чисел мало для подобного поиска т.к. совпадений может быть куда больше одного. Лучше посмотреть какой код работает с этими адресами или восстановить цепочку указателей от статической переменной? Если интересует сам процесс подобного поиска, то можно в скрипте LUA при помощи поиска сигнатуры(твои числа) найти список адресов с нужными значениями и записать их в массив, после чего раз в некоторое время проверять эти значения и если что-то меняется, то удалять адрес из массива до тех пор, пока он там не останется один. Звучит как-то долго и не очень надёжно? Ссылка на комментарий Поделиться на другие сайты Поделиться
БабаЯГА Опубликовано 2 ноября, 2020 Автор Поделиться Опубликовано 2 ноября, 2020 (изменено) Адреса каждый раз разные, да. Но они всегда рядом. Первый адрес значение меняется, а второй адрес - значение постоянное, и между первым и вторым адресом всегда +4 байта. Простым поиском такая пара значений - всегда одна. Т.е. если искать сразу два адреса, то будет находить только одно значение, вот только как искать сразу два адреса - вот об этом я и спрашиваю. На словах я понимаю как искать, но не понимаю как реализовать в CE. Вот ещё для примера: допустим я знаю первое значение (которое меняется) и знаю второе (которое не меняется), но при поиске и первое и второе значение - не меняется, т.к. всё стоит на паузе. Предполагаю что алгоритм такой: Если значение адреса 1==12 и значение адреса 2==999 (он +4 байта сразу за первым адресом всегда) то это то что нужно. Т.е. программно как-то так, но как правильно в CE? value_1 = 12 value_2 = 999 adres_1 = 0x000000 adres_2 = 0x000000 + 4 if ( adres_1 == value_1 ) and ( adres_2 == value_2 ) then -- то тут заносим в таблицу например или что-то ещё endif Можно это как-то скриптом организовать или ещё как? Именно поиск сразу двух адресов? Т.е. ещё более подробно, идёт процесс поиска в CE, вот он нашёл 12 и тут же сразу проверяет адрес который идёт за адресом в котором 12 но +4 байта. По указателям пробовал - ничего не вышло, выхожу на адрес который указывает сам на себя. Дальше знаний не хватило. По сему мне кажется был бы замечательный вариант искать сразу два адреса в связка, но как - не знаю. Вот по этому и обратился за помощью. Изменено 2 ноября, 2020 пользователем БабаЯГА Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 3 ноября, 2020 Поделиться Опубликовано 3 ноября, 2020 1. Тема не в том разделе. 2. Если мне не изменяет память, в СЕ есть групповой поиск - это вроде как раз то, что тебе нужно. Ссылка на комментарий Поделиться на другие сайты Поделиться
БабаЯГА Опубликовано 3 ноября, 2020 Автор Поделиться Опубликовано 3 ноября, 2020 3 часа назад, Xipho сказал: 1. Тема не в том разделе. 2. Если мне не изменяет память, в СЕ есть групповой поиск - это вроде как раз то, что тебе нужно. 1. В каком разделе создать эту тему? 2. Есть. Как именно им пользоваться этим групповым поиском? Можно, пожалуйста, пример? Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 3 ноября, 2020 Поделиться Опубликовано 3 ноября, 2020 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 ноября, 2020 Поделиться Опубликовано 3 ноября, 2020 21 час назад, БабаЯГА сказал: if ( adres_1 == value_1 ) and ( adres_2 == value_2 ) then это условие у тебя никогда не выполнится Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения