晕,在QQ中发现一段代码,用来对密码进行加密的,动态生成一组key
.text:00408B77 call sub_40E4ED ***看这里有意思
.text:00408B7C cdq
.text:00408B7D mov ecx, 5Fh
.text:00408B82 idiv ecx
.text:00408B84 cmp byte ptr [edx+esi], 0
.text:00408B88 jnz short loc_408B77
.text:00408B8A mov [edx+esi], bl
.text:00408B8D inc ebx
.text:00408B8E cmp ebx, 7Fh
.text:00408B91 jl short loc_408B77
//============ sub_40E4ED ===============
.text:0040E4ED call sub_412761
.text:0040E4F2 mov ecx, [eax+14h]
.text:0040E4F5 imul ecx, 343FDh
.text:0040E4FB add ecx, 269EC3h ****
.text:0040E501 mov [eax+14h], ecx
.text:0040E504 mov eax, ecx
.text:0040E506 shr eax, 10h
.text:0040E509 and eax, 7FFFh
.text:0040E50E retn
.text:0040E50E sub_40E4ED endp
//============ sub_40E4ED ===============
然后看雪中的这篇文章《一个简单的KEYGENME的VC源码》
里边也有上边一样的代码
00401384 /$ A1 8C704000 MOV EAX, DWORD PTR [40708C]
00401389 |. 69C0 FD430300 IMUL EAX, EAX, 343FD
0040138F |. 05 C39E2600 ADD EAX, 269EC3
00401394 |. A3 8C704000 MOV DWORD PTR [40708C], EAX
00401399 |. C1F8 10 SAR EAX, 10
0040139C |. 25 FF7F0000 AND EAX, 7FFF
一模一样的运算
去google中搜索,也能搜索到几篇这样反汇编的代码,我觉得好惊奇
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!