Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Перенести функцию на Delphi   Найти похожие ветки 

 
Шишкин Илья ©   (2004-11-06 11:24) [0]

Долго искал в интернете нужную мне функцию. Нашёл только под Си на ASM. Так как первый я только начал изучать, а второй для меня темный лес, то прошу помощи у вас. Помогите переделать код под Delphi. Буду очень благодарен.


void depass(char *arg1,long & num,char * buf){
long p1,p2;
asm{
mov edi, [p1]
mov esi, [num]

mov eax,[arg1]
mov [esi+4], eax

mov edx, [buf]
mov ecx, [esi]
and [p1], 0
add edx, 6
shr ecx, 2
mov edi, 14151875h
jz short loc_0_7A0B9BAA
test ecx, ecx
jbe short loc_0_7A0B9BAA
mov [p2], eax

настраиваем переменные и регистры

loc_0_7A0B9B88:
mov eax, [p1]
shl eax, 2
mov ebx, [edx+eax]
xor ebx, edi
mov edi, [p2]
inc [p1]
cmp [p1], ecx
mov [eax+edi], ebx
mov edi, [esi+4]
mov [p2], edi
mov edi, [eax+edi]
jb short loc_0_7A0B9B88

loc_0_7A0B9BAA:

Цикл обработки по 4 байта, то есть берут 4 байта xor"ят их с базовым 14151875h, результат сохраняют, потом xor с результатом и т.д. До тех пор пока длинна не станет меньше 4.

mov ecx, [esi]
and ecx, 3
shl ecx, 3
mov [p2], ecx
jz short loc_0_7A0B9BED
mov eax, [p1]
mov ebx, [esi+4]
shl eax, 2
add ebx, eax
push 20h
mov [p1], ebx
or ebx, 0FFFFFFFFh
shl ebx, cl
mov ecx, [p1]
and [ecx], ebx
mov esi, [esi+4]
pop ecx
or ebx, 0FFFFFFFFh
sub ecx, [p2]
add esi, eax
mov eax, [edx+eax]
shr ebx, cl
shr edi, cl
mov [p1], ecx
and eax, ebx
xor eax, edi
or [esi], eax

loc_0_7A0B9BED:
xor eax, eax
}
}


 
Шишкин Илья ©   (2004-11-06 12:25) [1]

Люди, помогите!


 
KSergey ©   (2004-11-06 12:29) [2]

А че делает-то? Мож есть что готовое?


 
GanibalLector ©   (2004-11-06 12:35) [3]

2 Шишкин Илья
Сями тут и не пахнет...только начало и все.А на Delphi так-же:

asm
...
end;


 
Шишкин Илья ©   (2004-11-06 13:37) [4]

Удалено модератором


 
Шишкин Илья ©   (2004-11-06 13:58) [5]

Удалено модератором


 
Verg ©   (2004-11-06 14:04) [6]

void depass(char *arg1,long & num,char * buf){

>>>

procedure depass( arg1: pchar; var num : longint; buf : pchar);


 
Шишкин Илья ©   (2004-11-09 17:34) [7]

Удалено модератором


 
DiamondShark ©   (2004-11-09 18:19) [8]

А можно словами описать, что функция делать-то должна?


 
Jeer ©   (2004-11-09 18:26) [9]

Это гадание на кофейной гуще.
Такие мои сотрудники пару лет лазали бы по основам.


 
}|{yk ©   (2004-11-09 18:31) [10]

А ты эта, у Дмитрий Олегыча попроси Автошему под ассемблер сделать :)
А что это за
mov esi, [num]
num откуда?


 
Тестировщица ©   (2004-11-09 18:35) [11]

Удалено модератором


 
panov ©   (2004-11-09 18:38) [12]

>Шишкин Илья ©   (06.11.04 11:24)
С пакостями на другой сайт.


 
panov ©   (2004-11-09 18:45) [13]

http://e-docs.net.ru/documentation/hacking_118.php
(с) Тестировщица ©   (09.11.04 18:35) [11]



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
14-1100199962
злобный Луарвик
2004-11-11 22:06
2004.11.28
Как всунуть прогу?


1-1100165052
Dima
2004-11-11 12:24
2004.11.28
Как менять цвет модальной формы ?


1-1100276038
Petia
2004-11-12 19:13
2004.11.28
Форма


4-1093466109
Powerland
2004-08-26 00:35
2004.11.28
перехват


3-1099402889
denis24
2004-11-02 16:41
2004.11.28
dbmemo и поле MEMO