|  | 
 
| 
这是一个c++写的dll中的一个函数,我这个是debug版
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  由于没有源代码,我用(vs2003)进这个函数里面,看看运行情况
 这是一个编码的解码函数,通过调试后,解码的算法大致了解
 问题一
 00171D87  xor         cl,0AAh
 中的0AAh,这个值是怎么来的呢,是程序里面写死的吗
 
 
 问题二
 看这一句  0171DA4  imul        cl  ,我通过调试发现是将al*cl得到的值赋给al
 为啥不是操作bl呢
 
 附加
 有时间的朋友,最好帮我这段代码,注释下,我是初学者,谢谢,感激!!!
 
 
 00171D80  push        esi
 00171D81  mov         esi,dword ptr [esp+8]
 00171D85  mov         cl,byte ptr [esi]
 00171D87  xor         cl,0AAh
 00171D8A  push        edi
 00171D8B  mov         di,word ptr [esp+10h]
 00171D90  mov         byte ptr [esi],cl
 00171D92  mov         ecx,1
 00171D97  cmp         di,cx
 00171D9A  jbe         00171DB2
 00171D9C  lea         edx,[esi+1]
 00171D9F  push        ebx
 00171DA0  mov         al,byte ptr [esi]
 00171DA2  mov         bl,byte ptr [edx]
 00171DA4  imul        cl
 00171DA6  xor         bl,al
 00171DA8  inc         ecx
 00171DA9  mov         byte ptr [edx],bl
 00171DAB  inc         edx
 00171DAC  cmp         cx,di
 00171DAF  jb          00171DA0
 00171DB1  pop         ebx
 00171DB2  pop         edi
 00171DB3  pop         esi
 00171DB4  ret
 
 | 
 |