Afkayas.1
缺少MSVBVM50.DLL
该程序是编号2程序。
如果最开始遇到了说缺少MSVBVM50.DLL 的话可以看通过:https://cn.dll-files.com/msvbvm50.dll.html
这个地址下载,并且放在你的:
1 | C:\Windows\SysWOW64\ |
这2个位置。
分析程序,首先是运行:可以查看字符串,以便于我们快速定位
然后是
调查程序信息
知道是一个VB 没有壳的程序32位的程序
VB程序可以使用:VB Decompiler
它来进行反编译
使用X32dbg来动态调试
通过字符串来进行定位:网上找到函数的入口点然后下断点。
也就是找到push ebp的位置
然后F9 运行,当这个程序运行起来后,输入用户名Dgor
和密码12345678
点击OK , 就会发现程序断在了push ebp
这个位置。
然后我们F8单步调试一直往下:
找到程序读取我们输入的用户名和密码的位置:
然后一步一步的分析:可以看我写的注释
然后中间有一部一份代码不知道是干什么的。就接着往下走,找到出现密码12345678的位置。
可以看到的是:这里有一个比较的函数,将通过用户名计算出来的字符串和密码传入了
跟进:
然后在跟进这个call:
这个call 里面首先是判断了输入的东西是否为空然后又调用了一个call
再次跟进:
通过repe cmpsw 可以得知,将输入的密码和通过用户名计算出来的值进行一位一位的比较,最后就跳出了
最后就是有一个关键的call 但是中间的代码不知道有什么用。
最后我们尝试一下:
便成功了。
python实现算法
这里我们将算法用python实现一遍:
1 | UserName = input("请输入你的用户名:") |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Safety-Blog!