-
-
求教:OLLYDB寄存器中显示后面的UNICODE是什么,从哪里来的?
-
发表于:
2005-8-24 16:01
4057
-
求教:OLLYDB寄存器中显示后面的UNICODE是什么,从哪里来的?
在学习一个VB程序的注册过程时,发现程序启动后,会根据硬盘号生成注册码,以便在注册时用此注册码进行比较。
可是在分析时遇到问题,请大家指点指点:
我是在OLEAUT32中下断
77100328 O> 8BFF mov edi,edi 此处下断,F8单步运行。
7710032A 55 push ebp
7710032B 8BEC mov ebp,esp 将ESP送入EBP,ESP是注册码的存放起始地址
7710032D 53 push ebx
7710032E 56 push esi
7710032F 8B75 08 mov esi,dword ptr ss:[ebp+8] 向ESI中送入用户输入的注册码
77100332 57 push edi
77100333 56 push esi
77100334 E8 6F49FFFF call OLEAUT32.SysStringByteLen
77100339 8B7D 0C mov edi,dword ptr ss:[ebp+C] 向EDI中送入程序生成的注册码
按F8运行到mov edi,dword ptr ss:[ebp+C]后,此时,寄存器中显示的内容为
ESI 00191CCC UNICODE "465724634575637"
EDI 00191f44 UNICODE "465724634575637"
向EDI中送入的是 Dword 值,可是为什么寄存器中显示EDI后面的UNICODE是什么,从哪里来的?
我在用内存注册机生成内存注册机时,在主程序中下断了,让他显示注册码为内存:ESP+C,可显示的只是一些十六进制数,而不是UNICODE的字符。请问如何才能显示UNICODE的注册码呢?
谢谢!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!