Сейчас на форуме: asfa, _MBK_, Rio (+7 невидимых)

 eXeL@B —› Вопросы новичков —› XOR На Delphi
Посл.ответ Сообщение

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

Создано: 06 января 2009 11:37
· Личное сообщение · #1

Подскажите плз, иль мож у кого есть функция XOR (asm) на Delphi
что то вроде:

Function (Dec1, Dec2 : Integer) :Integer;
Begin
//конвертируем Dec1 в Bin
//конвертируем Dec2 в Bin
//побайтное сравнение (ХОР)
//конвертируем результат в интегер
End;

Можно и данную функцию на дельфи со вставкой асма

Заранее спасибо



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

Создано: 06 января 2009 11:58
· Личное сообщение · #2

function TForm1.Int2XOR(I1, I2: Integer): Integer;
begin
asm
Mov ECX, I1
Mov EAX, I2
XOR EAX,ECX
mov Result,eax
end;
end;

Это верное решение?



Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 января 2009 12:46
· Личное сообщение · #3

Khim пишет:
Подскажите плз, иль мож у кого есть функция XOR (asm) на Delphi

Оператор xor поддерживается почти во всех языках программирования.
Function a(Dec1, Dec2 : Integer) :Integer;
Begin
a:=Dec1 xor Dec2;
End;




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 06 января 2009 13:06
· Личное сообщение · #4

XOR можно и самому написать:
Code:
  1. C
  2. int MyXOR (int x,y)
  3. {
  4.     return (|| y) && !(&& y);
  5. }
  6. Delphi
  7. function MyXOR(x,y: Integer):Integer;
  8. begin
  9.    Result := (or y) and not (and y);
  10. end;
  11. MASM
  12. MyXor Proc
  13.   MOV     ECX, EDX
  14.   OR      ECX, EAX
  15.   AND     EAX, EDX
  16.   NOT     EAX
  17.   AND     ECX, EAX
  18.   MOV     EAX, ECX 
  19.   RET
  20. MyXor Endp
  21. ;EDX=y
  22. ;EAX=x
  23. MOV     EDX, 2 ;y
  24. MOV     EAX, 1 ;x
  25. CALL    MyXor


-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




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

Создано: 06 января 2009 14:51
· Личное сообщение · #5

Khim, вообщето в делфи и так есть xor. Пример - a := b xor c;




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 06 января 2009 16:08
· Личное сообщение · #6

SVIN95 пишет:
вообщето в делфи и так есть xor

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

-----
Лучше быть одиноким, но свободным © $me




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

Создано: 06 января 2009 17:42
· Личное сообщение · #7

дык, забыл про XOR на дельфе, прост была строка
XOR ESI...DWord [EAX + EDX]

ESI 3 3 раза в цикле и превращался в номер, EAX низначально = 0, в EDX вносится имя h - виде

вот и в ступор меня эта строка,

это из категории программы для новичков -> Ссылки на программы с простой защитой v2.2. ->http://files.tenmax.com/Teleport_Pro_Installer.exe

Прост хотел смастерить кейген, вот и "рожал" провильную процедуру выведения правильного номера




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 06 января 2009 18:34
· Личное сообщение · #8

EAX низначально = 0
XOR ESI...DWord [EAX + EDX]

EAX может быть индексом, а EDX указателем на переменную

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes



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


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