本帖最后由 stal1ker 于 2020-1-13 15:49 编辑
手头上有个delphi的程序,遇到几个问题
问题1:通过抓包分析,该程序向服务器发送GET请求,参数分别是“账号”“密码”等。。。 我试了一下用有效账号密码和无效账号密码请求,返回结果不一样(当然不一样了),有效账号返回的数据随页面刷新而变更(数据也是加密的)。
所以,改包是没戏了。。。不知道这方面有啥思路。。
问题2:我改了登陆的判断 jle (账号密码判断不应该是je或者jne么?) 改成jge后的流程 和 用有效账号登陆的流程 一模一样。保存一下更改后的程序,再输入有效账号,弹出了另一种MESSAGEBOX。这里是不是我的关键判断没找对。
问题3:如果该程序要注入dll,那么我该怎么下断点。
我的思路是:服务器不管返回什么数据回来,验证总是在本地,我改了本地验证啥都解决了,类似于PUSH大法一样。于是我就直接去改登陆判断,发现不行。Delphi程序无法注入到目标程序里。理论上打开目标程序应该自动注入的。
还有一种方法就是修改返回值。发现不行。。。。
希望大佬提点一二!感谢感谢
POP eax 这个eax的值就是账号的有效值 应该是服务器返回的 。我改了上面的ESP ,EAX的值会变化,输入真码后,程序就崩溃了
POP edx 右侧寄存器的值就是服务器的返回值。具体的代码我不是很明白
2020.1.13 15时48分 暂时先这样吧 。 我是修改本地的值,如果程序运行是在本地判断的那就没问题了。 通过原软件登陆,有效值依然再减少,也就是这个新版本可能是自 卫 版!!!现在只能期待有效值减到0后依然可以通过新版本登陆 |