Сейчас на форуме: Rio, CDK123, zds, tyns777, tihiy_grom, morgot, rmn (+5 невидимых)

 eXeL@B —› Программирование —› метки в delphi
Посл.ответ Сообщение

Ранг: 46.9 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 30 октября 2008 07:07
· Личное сообщение · #1

как можно в делфи сделать так:

Code:
  1. nop
  2. nop
  3. @a:
  4. nop
  5. nop
  6. nop
  7. @b:
  8. nop
  9. nop
  10. nop
  11. lea eax,[ebp+offset @b-offset @a] //или lea eax,[ebp+@b-@a]

так не компилиться ругаеться на параметры,хотелось бы обойтись без:
Code:
  1. mov eax,@b
  2. sub eax,@a
  3. add eax,ebp

мне вобще нужно то посчитать растояние от одной метки до второй и записать в db или параметр push xxxx




Ранг: 106.9 (ветеран), 27thx
Активность: 0.080
Статус: Участник

Создано: 30 октября 2008 09:45
· Личное сообщение · #2

Хм, ну напиши это в Hiew'e.
Если полученые данные нужны дальше в проге, оставь в дельфи под них переменные.




Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 30 октября 2008 12:08
· Личное сообщение · #3

Zloy пишет:
так не компилиться ругаеться на параметры,хотелось бы обойтись без:

Походу асм в дельфах не умеет сразу использовать 2 адреса в одном операнде (offset(@a)-offset(@b)) - поэтому без SUB/ADD похоже не обойтись.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 30 октября 2008 15:20
· Личное сообщение · #4

Zloy
Напиши в ольке или в Hiew, посмотри опкод команды и в исходник впихни как данные:
asm
db $0xx, $0xx
end;

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 30 октября 2008 16:09
· Личное сообщение · #5

ARCHANGEL
offset на то и offset что на этапе компиляции высчитывается.
Здесь люди и говорят что делфя не могёт смещения эти вычислить. А ты предлагаешь константы вставлять в код.




Ранг: 61.7 (постоянный)
Активность: 0.050
Статус: Участник
я

Создано: 30 октября 2008 16:23
· Личное сообщение · #6

я бы в таком случае писал на fasm обычные бинарники в базонезависимом коде и потом инклудил их к проекту



Ранг: 46.9 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 30 октября 2008 17:39
· Личное сообщение · #7

BaGiE,я уже видел как у тебя в протах это не красиво мне так не нравиться не хочеться делать,в фасме тоже не вариант
dermatolog да походу так и есть,мож в delphi 2009 изменилось,что то




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 30 октября 2008 19:06
· Личное сообщение · #8

OSA пишет:
offset на то и offset что на этапе компиляции высчитывается.
Это да - тут не поспоришь, но делфи делал не я, подсказал, что смог, уж извините
Zloy пишет:
BaGiE,я уже видел как у тебя в протах
Можно с этого места поподробнее?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 46.9 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 30 октября 2008 20:45 · Поправил: Zloy
· Личное сообщение · #9

procedure Test;assembler;
asm
nop
nop
@a:
nop
nop
nop
@b:
dd $11111111
nop
nop
nop
dd $22222222 //sign end
end;


function SignPos(Func: Pointer; Sign: DWORD): DWORD; stdcall;
asm
mov eax,Func
mov edx,Sign
mov ecx,$2000
@floop:
cmp [eax],edx
je @quit
inc eax
loop @floop
xor eax,eax
@quit:
end;

..
Size:=SignPos(@test,$22222222)-Cardinal(@test);
PCardinal(SignPos(@test,$11111111),Size))^;




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 30 октября 2008 21:00
· Личное сообщение · #10

Да нет, это я понял, я про другое - чё за проты? Где взять?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 46.9 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 30 октября 2008 22:18
· Личное сообщение · #11

ExeFog - полиморф от морфина и код от bagie




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 31 октября 2008 02:11
· Личное сообщение · #12

Ещё бы и ссылку - так вообще прекрасно б всё стало

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 271.6 (наставник), 2thx
Активность: 0.30
Статус: Участник

Создано: 31 октября 2008 05:18
· Личное сообщение · #13

ARCHANGEL
www.google.ru/search?q=ExeFog&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a
Самая первая ссылка. Что, лень 6 букв набрать?

-----
iNTERNATiONAL CoDE CReW





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 31 октября 2008 15:09
· Личное сообщение · #14

Spirit пишет:
Что, лень 6 букв набрать?
Мда, виноват...
Zloy
А что на самом деле ты хочешь расположить между двумя метками? Я к тому, может это как записи обьявить а потом через SizeOf попытаться? Сам я не пробовал, но ты, если хочешь, дерзай, может, выйдет что-то

-----
Stuck to the plan, always think that we would stand up, never ran.



 eXeL@B —› Программирование —› метки в delphi
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати