代码编织梦想

2. Afkaya.1.exe

先使用PEiD查看基础信息,可以看到是VB的程序,链接器版本4.20,没有加壳

先看一下程序运行的基本情况,发现也是输入账号密码,点击后会出现弹窗告诉你输入错误。

这次尝试直接使用中文搜索引擎来快速定位到关键位置

在这里可以发现一条关键跳转,当zf = 1时,会跳到弹出错误的对话框处

最简单的方式是将这条语句直接NOP掉,让他直接走正确的流程,但在这里,再接着分析一下它的密码是怎么生成的。往上看,是ESI决定了跳转是否成立,所以继续往上,找到ESI是怎么变化的。

再往上有一个vbaStrCat函数,应该是连接两个字符串,上面的是密码开头前缀,后面的是密码后半部分,说明这时候密码已经生成完毕了,再继续往上,根据OD识别出来的函数名字,发现有几个函数值得关注。

可以看到有求字符串长度的函数先得到了用户名长度,然后将长度 * 0x17CFB + 用户名第一个字符ASCII码,最后传入这个值后调用了__vbaSStrI4函数,猜测这可能也是将传入的参数十进制形式得到对应的字符串,用计算器验证发现正确,多试几次验证密码算法是否正确。

将用户名改为dajiahao,长度为8,'d'ASCII码为0x64,8 * 0x17CFB + 0x64 = 0xBE83C = 780348,密码应该为AKA-780348,测试发现正确。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_47679628/article/details/127990796