Ultra 字符串参考
地址 反汇编 文本字符串
00402AE3 push 0_38.0041F370 系统提示 //双击来到这里,往上找段首下
断!
00402AE8 push 0_38.0041F35C 注册码不能为空!!!
00402B11 push 0_38.0041F350 已注册
00402880 . 6A FF push -1 //直接下断
运行,输入假注册码即可看到算法!
0040291A > /8B4C24 >mov ecx,dword ptr ss:[esp+18] ; 机器码入ecx
0040291E . |DB4424 >fild dword ptr ss:[esp+1C] ; 把ESI转化成浮点数
00402922 . |8A5C31 >mov bl,byte ptr ds:[ecx+esi-1>; 取机器码每一位
00402926 . |0FBED3 movsx edx,bl ; 取出来放到edx
00402929 . |DD5C24 >fstp qword ptr ss:[esp+24] ; 转化成ASII存入到edx
0040292D . |895424 >mov dword ptr ss:[esp+1C],edx ; edx里面的ASII转移
00402931 . |DB4424 >fild dword ptr ss:[esp+1C] ; 转化成10进制
00402935 . |0FBEC3 movsx eax,bl ; ASII存入eax
00402938 . |D9FA fsqrt ; 对应ASII的十进制开方
0040293A . |0FAFC6 imul eax,esi ; eax*esi=eax
0040293D . |DC4C24 >fmul qword ptr ss:[esp+24] ; st*?/?是esi的浮点数值
00402941 . |DC05 60>fadd qword ptr ds:[41A760] ; st+1=st(1)
地址 反汇编 文本字符串
00402AE3 push 0_38.0041F370 系统提示 //双击来到这里,往上找段首下
断!
00402AE8 push 0_38.0041F35C 注册码不能为空!!!
00402B11 push 0_38.0041F350 已注册
00402880 . 6A FF push -1 //直接下断
运行,输入假注册码即可看到算法!
0040291A > /8B4C24 >mov ecx,dword ptr ss:[esp+18] ; 机器码入ecx
0040291E . |DB4424 >fild dword ptr ss:[esp+1C] ; 把ESI转化成浮点数
00402922 . |8A5C31 >mov bl,byte ptr ds:[ecx+esi-1>; 取机器码每一位
00402926 . |0FBED3 movsx edx,bl ; 取出来放到edx
00402929 . |DD5C24 >fstp qword ptr ss:[esp+24] ; 转化成ASII存入到edx
0040292D . |895424 >mov dword ptr ss:[esp+1C],edx ; edx里面的ASII转移
00402931 . |DB4424 >fild dword ptr ss:[esp+1C] ; 转化成10进制
00402935 . |0FBEC3 movsx eax,bl ; ASII存入eax
00402938 . |D9FA fsqrt ; 对应ASII的十进制开方
0040293A . |0FAFC6 imul eax,esi ; eax*esi=eax
0040293D . |DC4C24 >fmul qword ptr ss:[esp+24] ; st*?/?是esi的浮点数值
00402941 . |DC05 60>fadd qword ptr ds:[41A760] ; st+1=st(1)