一个Delphi软件的重启验证分析!!
本帖最后由 qiweizi 于 2020-8-6 13:04 编辑一款售电系统,我用来练手,想去除注册窗口,我导入od后,把序列号前面的je改为jmp,假码注册失败前面的je改成了jmp,保存。
再次打开软件提示序列号录入注册成功,需要重启。
重启后还是要重复输入注册码,我再次输入,又提示注册成功,需要重启,循环反复。
经检测是注册表重启验证,我死活找不到那个关键重启验证的断点,单步下断点改了其他的jmp会导致软件报错,无法打开,求分析原因,谢谢
我没有求破,求大神分析思路,
软件在网盘:https://qiweizi.lanzouj.com/i3mocfcg1ze 并不是注册表验证的,他把注册码写入数据库里,密码是yony2012
修改这些地方应该就可以进去了,具体为什么修改自己分析
Patches
地址 大小 状态 旧 新 注释
006DEB92 2. 激活 je short YYlocal_.006DEBB3 jmp short YYlocal_.006DEBB3
006DFEE3 6. 激活 je YYlocal_.006DFFAD jmp YYlocal_.006DFFAD
006E018E 5. 激活 call <YYlocal_.sysutils.EncodeDanop
006E01BA 6. 激活 jg YYlocal_.006E0290 jmp YYlocal_.006E0290
你都说了是注册表的重启验证,那就下个注册表的断点,另外,它弹出注册窗口肯定是经过一个判断的 苏紫方璇 发表于 2020-8-6 13:40
并不是注册表验证的,他把注册码写入数据库里,密码是yony2012
修改这些地方应该就可以进去了,具体为什么 ...
大神厉害,通过你的指点,软件一下就进去了,我搞了一个星期都没思路,太感谢了!! 自己练习了下,发现有时候会走进死胡同,不过看到版主大大的回复,瞬间清晰了!主要问题在改了jmp后会弹出停止运行错误。原来需要把call那句给nop掉就OK了。
追加一点心得:
0066A1E3 jnz YYlocal_.0066A421 这一行改为nop后,任意输入密码都可以进入程序了!
确实学习到了不少东西!! qcz00622 发表于 2020-8-6 15:52
自己练习了下,发现有时候会走进死胡同,不过看到版主大大的回复,瞬间清晰了!主要问题在改了jmp后会弹出 ...
你也是大神,我学到了,呵呵
006E0478=YYlocal_.006E0478 (ASCII "Jet OLEDB:Database Password=yony2012;Jet OLEDB:Engine Type=5;")
edx=00000000
YYDB.mdb的密码yony2012 wangwh27 发表于 2020-8-7 12:04
006E0478=YYlocal_.006E0478 (ASCII "Jet OLEDB:Database Password=yony2012;Jet OLEDB:Engine Type=5;") ...
好的,懂了{:1_918:}
页:
[1]