Перейти к содержанию

[CE] LUA - FirstScan (grouped)


pachela

Рекомендуемые сообщения

Да бы не засорять эту тему я решил создать новую.Хочу разобраться как сделать в Lua скрипте групповое сканирование. На сейчас есть такая вот наработка:

Скрытый текст



MS=createMemScan()
FL = createFoundList(MS)
MS.FirstScan(soExactValue, vtGrouped, rtRounded, value3,"", 0, 0xffffffffffffffff,"", fsmNotAligned,"1", false, false, false, false)
results = {}
MS.waitTillDone(); FL.initialize()
if FL.Count~=0 then
    for i=0,FL.Count-1 do
      local addr = ( "0x"..FL.Address[i] )
      showMessage(addr)
    end
  end

return results

end


 

Не нравится мне в этом то, что value3 у меня не получается довести до ума! А почему именно?

Есть 2 EditBox из которых и должно извлекаться значение value3. Но полей ввода 2,  а переменная одна! И тут всплывает резонный вопрос, как привести 2 значения к одной переменной?

Вот они Поля ввода:

Скрытый текст

function CEEdit1Change(sender)
value = string.format(UDF1.CEEdit1.Text)
end
function CEEdit2Change(sender)
value2 = string.format(UDF1.CEEdit2.Text)
end

 

Соль не в только в том, что бы value3 = value и value2. Так еще и в сканировании переменная должна содержать значение такого вида: "4:9000 4:9100". Ну и в довершение ко всему этому, в поле ввода будет вводиться значение не 9000, а 90, т.е. нужно еще и умножить наше значение на 100.

Короче целая хулеверть  задача получилась. Сам я пока не в силах решить эту задачу, так что надеюсь на вас.

P.s. Походу я еще и переменные из Edit считываю не правильно?

Ссылка на комментарий
Поделиться на другие сайты

19 минуту назад, pachela сказал:

так что надеюсь на вас.

Мне кажется, ты опять усложняешь задачу. Но для уточнения лучше бы записал видео или по Скайпу кому-нибудь показал, чтобы стало понятно, что именно ты хочешь.

Вот что ты пишешь в предыдущей твоей теме:

5 часов назад, pachela сказал:

Наверно мне нужно объяснить заранее для чего это мне нужно:

У меня есть 3 значения, которые идут одно за другим. И взяв 3 таких (4байтовых) значения можно получить уникальную сигнатуру.

Моя задумка, сделать 3 таких вот окна ввода. По нажатию на кнопку, берется 3 значения переведенных в хекс и образуется массив байт. Этот массив мы используем в AOBscan и находим адреса по которым записаны нужные нам значения.

Если значения идут один за другим, то какой смысл городить не пойми чего.

Возьми все эти 12 байт для сигнатуры и делай сразу аобскан.

Ссылка на комментарий
Поделиться на другие сайты

11 час назад, Garik66 сказал:

Мне кажется, ты опять усложняешь задачу. Но для уточнения лучше бы записал видео или по Скайпу кому-нибудь показал, чтобы стало понятно, что именно ты хочешь.

Вот что ты пишешь в предыдущей твоей теме:

Если значения идут один за другим, то какой смысл городить не пойми чего.

Возьми все эти 12 байт для сигнатуры и делай сразу аобскан.

Ха. В это то и заключается проблема! Сейчас эти 12 байт такие, через минуту другие. Посему либо брать 3 значения написанные на экране Множить их на 100, переводить это дело в хекс и разворачивать задом на перед, так как в СЕ именно так. Либо делать груповое сканирование.

Ссылка на комментарий
Поделиться на другие сайты

28 минуты назад, pachela сказал:

В это то и заключается проблема! Сейчас эти 12 байт такие, через минуту другие.

Существует маска сигнатуры для этого.

Ссылка на комментарий
Поделиться на другие сайты

13 минуты назад, partoftheworlD сказал:

Существует маска сигнатуры для этого.

Тоже не катит. Значения то меняются. К примеру сейчас это "90 95 120", а через минуту это "120 110 60". Т.е. Пляшут они как хотят, не просто так конечно пляшут, но пляшут. А больше всего бесит, что значение видимое "90.0", а в памяти оно представлено как "900000", т.е. еще 3 лишних нуля и без запятой.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.