A.注册成功与失败的关键位置。
B.注册判断的关键CALL。
2.注册判断的关键变量是谁?
3.注册判断的程序流程。具体又分为两部分:
A.注册正确的程序流程。
B.注册正确的程序流程所要求的一些条件。
下面开始采用脱壳后的执行文件进行分析。
第一个问题很简单,我的上篇<我的常用断点系统>都能搞定(似乎XP万能断点无效)。
我用OD来个针对这个软件的下断法,利用了对用户名的限制提示:
什么都不输入,点register,出现错误提示:
pleaseinputyourfullname!
F12暂停和Ctrl+F9的组合断下:
004C90DA.33C0xoreax,eax
跟踪来到:
00427F40|.FF4Ddecdwordptr[ebp-3C]
00427F29|.BADE3B5200movedx,00523BDE;ASCII"PleaseinputyourFullName!"
00427F2E|.8D45F8leaeax,dwordptr[ebp-8]
00427F31|.E8CE150E00call00509504
00427F36|.FF45incdwordptr[ebp-3C]
00427F39|.8B00moveax,dwordptr[eax]
00427F3B|.E8D0A80A00call004D2810
00427F40|.FF4Ddecdwordptr[ebp-3C]
向上到段首:
00427EB0/.55pushebp
00427EB1|.8BECmovebp,esp
粗粗浏览这部分整个段,向下看到了关键信息:
004281B5|.BA1>movedx,00523C19;ASCII"Registersuccessfully!",LF,"Thankyou."
004281BA|.8D45>leaeax,dwordptr[ebp-30]
004281BD|.E84>call00509504
004281C2|.FF45>incdwordptr[ebp-3C]
004281C5|.8B00moveax,dwordptr[eax]
004281C7|.E84>call004D2810
004281CC|.FF4D>decdwordptr[ebp-3C]
004281CF|.8D45>leaeax,dwordptr[ebp-30]
004281D2|.BA0>movedx,2
004281D7|.E88>call00509664
004281DC|.8B45>moveax,dwordptr[ebp-5C]
004281DF|.E8C>call004C8CAC
004281E4|.EB3>jmpshort0042821D
004281E6|>66:C>movwordptr[ebp-48],80
004281EC|.BA3>movedx,00523C3B
;ASCII"Yourregistrationcodeisinvalid.",
LF,"Ifyouhavepurchasedthissoftwareandget
thewrongcode,maybeyouhavenotdownloaded
andinstalledthelatestversion.Orpleasesend
emailto:support@exeicon.com",LF
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32335-8.html
选个“总统”还要去老美那汇报
海军建设还需加油啊
外抗美国