информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsСетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[masm32] !!!-WNetEnumCachedPasswords-!!! 23.05.01 10:04  Число просмотров: 791
Автор: Pank Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > lea edi,buf1
> > add edi,dword ptr [Pce.cbResource]
> ...
> > lea edi,dword ptr [Pce.abResource]
> > add edi,dword ptr [Pce.cbResource]
>
> > lea edi,buf1
> > add edi,dword ptr [Pce.cbPassword]
>
>
> cbResource и cbPassword - это WORD
> Надо так:
>
> movzx edi, word ptr [Pce.cbResource]
> add edi, offset buf1

Попробуем...

> И еще я не понял - ты перенес имя ресурса в buf2,
> преобразовав его в OEM,
> а потом buf2 сразу же обнулил... наверное, перед обнулением
> был какой-то
> код, который ты сюда не кинул ?

Ну да, это чтоб поменьше было-), а так я пока через SoftIce дебагрю

> Обнулять такие большие буферы побайтно - не жалко тебе
> процессор гонять ? :)
> Через rep stosd легче и быстрее, да и вообще их обнулять не
> нужно :)

Это верно. Просто мне так привычней - пора отвыкать от вредных привычек-). Хотя все эти rep с цепочечными операциями работают медленнее, хотя код меньше

Спасибо
<programming>
[masm32] !!!-WNetEnumCachedPasswords-!!! 22.05.01 12:15  
Автор: Pank Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Кто знает, подскажите, pls, где тут у меня ошибка (только не в ДНК! -))
Привожу кусок кода (немного урезанный). Ошибка, скорее всего, в функции обратного вызова.

структура:
PASSWORD_CACHE_ENTRY STRUCT
cbEntry WORD ? ; размер структуры
cbResource WORD ? ; размер имени
cbPassword WORD ? ; размер пароля
iEntry BYTE ? ; вход
nType BYTE ? ; тип входа -?
abResource BYTE ? ; начало имени
PASSWORD_CACHE_ENTRY ENDS

WndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
PceCallBack PROTO :PASSWORD_CACHE_ENTRY,:DWORD

Lib db "mpr.dll",0
Proced db "WNetEnumCachedPasswords",0

Собственно вызов функции:
invoke LoadLibrary,ADDR Lib
invoke GetProcAddress,eax,ADDR Proced
.if eax!=0
push 0
push PceCallBack
push 0FFh
push 0
push 0
call eax
.endif

И сама функция:

PceCallBack Proc Pce:PASSWORD_CACHE_ENTRY,Param:DWORD
LOCAL buf1[255]:BYTE
LOCAL buf2[255]:BYTE

invoke MemCopy,ADDR buf1,Pce.abResource,Pce.cbResource
lea edi,buf1
add edi,dword ptr [Pce.cbResource]
mov byte ptr [edi],0
invoke CharToOem,ADDR buf1,ADDR buf2 ; в buf2 должно быть название

;-- обнуление ---
lea edi,buf1
lea esi,buf2
mov ecx,255
@@:
mov byte ptr [edi],0
mov byte ptr [esi],0
inc edi
inc esi
loop @B
;----------------

lea edi,dword ptr [Pce.abResource]
add edi,dword ptr [Pce.cbResource]
invoke MemCopy,ADDR buf1,edi,Pce.cbPassword
lea edi,buf1
add edi,dword ptr [Pce.cbPassword]
mov byte ptr [edi],0
invoke CharToOem,ADDR buf1,ADDR buf2 ; в buf2 должен быть пароль

mov eax,TRUE
ret
PceCallBack endp
[masm32] !!!-WNetEnumCachedPasswords-!!! 22.05.01 13:59  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> lea edi,buf1
> add edi,dword ptr [Pce.cbResource]
...
> lea edi,dword ptr [Pce.abResource]
> add edi,dword ptr [Pce.cbResource]

> lea edi,buf1
> add edi,dword ptr [Pce.cbPassword]


cbResource и cbPassword - это WORD
Надо так:

movzx edi, word ptr [Pce.cbResource]
add edi, offset buf1

И еще я не понял - ты перенес имя ресурса в buf2, преобразовав его в OEM,
а потом buf2 сразу же обнулил... наверное, перед обнулением был какой-то
код, который ты сюда не кинул ?

Обнулять такие большие буферы побайтно - не жалко тебе процессор гонять ? :)
Через rep stosd легче и быстрее, да и вообще их обнулять не нужно :)

[masm32] !!!-WNetEnumCachedPasswords-!!! 23.05.01 10:04  
Автор: Pank Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > lea edi,buf1
> > add edi,dword ptr [Pce.cbResource]
> ...
> > lea edi,dword ptr [Pce.abResource]
> > add edi,dword ptr [Pce.cbResource]
>
> > lea edi,buf1
> > add edi,dword ptr [Pce.cbPassword]
>
>
> cbResource и cbPassword - это WORD
> Надо так:
>
> movzx edi, word ptr [Pce.cbResource]
> add edi, offset buf1

Попробуем...

> И еще я не понял - ты перенес имя ресурса в buf2,
> преобразовав его в OEM,
> а потом buf2 сразу же обнулил... наверное, перед обнулением
> был какой-то
> код, который ты сюда не кинул ?

Ну да, это чтоб поменьше было-), а так я пока через SoftIce дебагрю

> Обнулять такие большие буферы побайтно - не жалко тебе
> процессор гонять ? :)
> Через rep stosd легче и быстрее, да и вообще их обнулять не
> нужно :)

Это верно. Просто мне так привычней - пора отвыкать от вредных привычек-). Хотя все эти rep с цепочечными операциями работают медленнее, хотя код меньше

Спасибо
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach