|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 3, 2003 13:53:43 Пример от Asterix Тут как бы уже совместное творчество :-))) Сейчас проверю под XP... |
|
|
Дата: Окт 3, 2003 14:27:13 |
|
|
Дата: Окт 3, 2003 14:32:17 Заодно может быть подскажешь, как подсчитать в строке количество символов? Если не трудно. И еще: может быть вы знаете, какие-нибудь токловые статьи про работу со строками и использование стандарных функций API. И ещё дурной вопрос: а CRC32 строки подсчитать можно? И как, если да? ("Путь жизни усян обломками... строк" переделано из: "Путь жизни усеян облоками звёзд" - Дзён.) |
|
|
Дата: Окт 3, 2003 14:32:48 Спасибо за ответ. |
|
|
Дата: Окт 3, 2003 14:34:53 Вообще я считаю если уж чётность проверять, то в случае нечётной строки выходить ничего не делая (допустим показав пользователю MessageBox), т.к. некорректно в строке с нечётным колличеством символов что-либо тасовать ПАРАМИ! |
|
|
Дата: Окт 3, 2003 14:36:16 1990 Заодно может быть подскажешь, как подсчитать в строке количество символов? А invoke lstrlen,esi что по твоему возвращает? |
|
|
Дата: Окт 3, 2003 14:37:21invoke lstrlen,esi
mov ecx,eax ;<- здесь в eax количество символов,
;которое возвращает функция lstrlen |
|
|
Дата: Окт 3, 2003 14:47:06 · Поправил: Dr.Golova С каких пор C считается недзенским языком? Его же можно скомпилять, сунуть в IDA и получится полный дзен :) Ну ладно, вот вам на дзенском, хотя лично я больше люблю NASM:
.386p
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
.data
i_str db "1234567", 0
m_tit db "simple test", 0
.code
align ;; char* __cdecl swap_str2(char* i_str);
swap_str2:
push edi
mov edx, [esp+08h] ;; i_str
mov edi, edx
or ecx, -1
xor eax, eax
repne scasb
not ecx
dec ecx
mov edi, edx
shr ecx, 1
jz short @@swp2_done
@@swp2_loop:
mov ax, word ptr [edx]
xchg ah, al
mov word ptr [edx], ax
add edx, 2
dec ecx
jnz short @@swp2_loop
@@swp2_done:
mov eax, edi
pop edi
retn
align
start:
push offset i_str
call swap_str2
push MB_OK
push offset m_tit
push eax
push 0
call MessageBox
push eax
call ExitProcess
end start
|
|
|
Дата: Окт 3, 2003 14:51:31 Asterix! не сочти за грубость, но я обнаружил в твоём атаче batch вирус. Что мне делать??? |
|
|
Дата: Окт 3, 2003 14:56:24 1990 > Что мне делать??? Поставить нормальный антивирус, а то барахло чем пользуешся и которое детектит несуществующие вирусы снести под корень :) |
|
|
Дата: Окт 3, 2003 14:56:27 Что мне делать??? 1990 Отключи свой антивырь и посмотри внутрь файла Если это вирус, то я...(убрано цензурой) |
|
|
Дата: Окт 3, 2003 14:58:01 Dr.Golova > Поставить нормальный антивирус У меня Dr.Web 4.30а тоже руганулся... :)) |
|
|
Дата: Окт 3, 2003 15:00:47 > У меня Dr.Web 4.30а тоже руганулся А он у меня и не относится к разряду нормальных - мы тут где-то уже обсуждали его кривую эвристику ругающуюся на все попало :) |
|
|
Дата: Окт 3, 2003 15:02:38 Dr.Golova И что же по твоему нормальный, уж не AVP ли?... |
|
|
Дата: Окт 3, 2003 15:15:46 Уx, напугался! ;) Я про CRC32, извиняюсь, хочу узнать??? Скажите чё нить. Спасибо Asterix! |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.084 |