贴了一段汇编,不太明白
这是一个c++写的dll中的一个函数,我这个是debug版由于没有源代码,我用(vs2003)进这个函数里面,看看运行情况
这是一个编码的解码函数,通过调试后,解码的算法大致了解
问题一
00171D87xor cl,0AAh
中的0AAh,这个值是怎么来的呢,是程序里面写死的吗
问题二
看这一句0171DA4imul cl,我通过调试发现是将al*cl得到的值赋给al
为啥不是操作bl呢
附加
有时间的朋友,最好帮我这段代码,注释下,我是初学者,谢谢,感激!!!
00171D80push esi
00171D81mov esi,dword ptr
00171D85mov cl,byte ptr
00171D87xor cl,0AAh
00171D8Apush edi
00171D8Bmov di,word ptr
00171D90mov byte ptr ,cl
00171D92mov ecx,1
00171D97cmp di,cx
00171D9Ajbe 00171DB2
00171D9Clea edx,
00171D9Fpush ebx
00171DA0mov al,byte ptr
00171DA2mov bl,byte ptr
00171DA4imul cl
00171DA6xor bl,al
00171DA8inc ecx
00171DA9mov byte ptr ,bl
00171DABinc edx
00171DACcmp cx,di
00171DAFjb 00171DA0
00171DB1pop ebx
00171DB2pop edi
00171DB3pop esi
00171DB4ret
第10章后面讲到第二个问题,你可以去看看
页:
[1]