Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
4-1097753897
Sergey SP
2004-10-14 15:38
2004.11.28
Вставить текст в поле ввода


8-1093608764
bug008
2004-08-27 16:12
2004.11.28
Как изменить палитру TBitmap


3-1099026231
dolmat
2004-10-29 09:03
2004.11.28
работа с Bollean через IBQuery


1-1100336552
ceval
2004-11-13 12:02
2004.11.28
архивация файлов


10-1066399363
val_5
2003-10-17 18:02
2004.11.28
Развертывание 3-х звенн приложения




   Наверх