Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

Перенести функцию на 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1100155682
karat
2004-11-11 09:48
2004.11.28
Ваше мнение на мой подход.


14-1100107401
lipskiy
2004-11-10 20:23
2004.11.28
Посоветуйте формат хранения данных


1-1100610211
Chery
2004-11-16 16:03
2004.11.28
Как Borland Socket Server сделать службой ?


14-1099945909
Cerberus
2004-11-08 23:31
2004.11.28
Хостинг


14-1100016657
Andy BitOff
2004-11-09 19:10
2004.11.28
Вакансия





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский