Вверх ↑
Этот топик читают: Гость
Ответов: 9
Рейтинг: 1
#1: 2012-03-03 13:13:31 ЛС | профиль | цитата
Я считал с помощью нестандартного компонента ProcMemory(в поиске легко найти) текст из процесса в кодировке unicode 24 байта (так пишет ArtMoney, с помощью которого и узнал смещение). Вместо текста (test) без скобок я получил число (6619252) тоже без скобок, также ради интереса пытался получить текст (1) и получил число (49). Вот вопрос, как из полученных чисел восстановить текст? Компонент ProcMemory считывал в режиме Dword.
Если я изначально пытался реализовать считывание не правильно, прошу объяснить как сделать правильно.
карма: 1

0
Ответов: 3889
Рейтинг: 362
#2: 2012-03-03 13:29:34 ЛС | профиль | цитата
Vopros писал(а):
пытался получить текст (1) и получил число (49). Вот вопрос, как из полученных чисел восстановить текст?

Читать надо парами байт, а не DWORD, для цифр, знаков и латинского алфавита один байт равен 0, второй - код символа. В HiAsm есть элементы перевода UNICODE в Ansi, и перевода чисел в символы, вот Вам пример вашего чтения единицы:


Add(MainForm,2953706,217,210)
{
Height=67
}
Add(Convertor,3066079,154,210)
{
Mode=4
link(onResult,2953706:doCaption,[])
link(Data,481382:Text,[])
}
Add(Edit,481382,154,161)
{
Left=80
Top=185
Align=2
Text="49"
DataType=1
}
Add(Button,5421996,91,210)
{
Top=20
Width=392
Align=4
link(onClick,3066079:doConvert,[])
}


карма: 1

0
Ответов: 9
Рейтинг: 1
#3: 2012-03-03 13:48:45 ЛС | профиль | цитата
Как сделать чтение парами байт даже не представляю.
Из 49 получить 1 у меня тоже получилось, а вот из 6619252 test нет.
карма: 1

0
Ответов: 3889
Рейтинг: 362
#4: 2012-03-03 14:01:59 ЛС | профиль | цитата
Vopros, это всего 2 символа Unucode, e и t , задом-наперёд потому, что читаете как DWORD, а читать надо побайтовопосимвольно - как строку
code_27056.txt
карма: 1

0
файлы: 1code_27056.txt [452B] [178]
Ответов: 273
Рейтинг: 29
#5: 2012-03-03 14:14:21 ЛС | профиль | цитата
Лучше посмотри на этот фрагмент памяти в живую, в отладчике (или в CheatEngine), чтобы понять формат строки.
Если не разберешься сам - скинь скрин (или копипаст) фрагмента памяти, народ поможет определить формат строки, и, соответственно, как с ней работать из-под HiAsm, какие преобразования делать.
------------ Дoбавленo в 14.14:
Вижу, уже разобрались.
карма: 0

0
Ответов: 9
Рейтинг: 1
#6: 2012-03-03 14:48:57 ЛС | профиль | цитата
Да, разобрался заглянув в редактор памяти ArtMoney, большое спасибо, Индиго и Томас.
карма: 1

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)