网站首页 > 博客文章 正文
一、脱壳
PEID查不出来,用了die,显示是UPX3.96的壳,用了脱壳机,脱不了,只能手动脱壳,拖入x64dbg,F9运行到程序领空,很明显的特征,push:
无脑使用ESP定律大法,对ESP下硬件访问断点:
F9运行,在pop处停下:
F4运行到下面第一个jmp,F8,进去又是一个jmp,继续F8,到达OEP:
使用x64dbg插件dump:
第一步先dump保存,然后第二步,第三步,第四步选择刚才dump保存的程序:
脱壳成功,但是运行一闪而过,这是动态基址搞的鬼,手法很多,有脱壳机有禁用动态基址选项,这里我们直接把程序拖入010Editor修改标志位,改为20即关闭动态基址,保存退出:
可正常运行,接下来分析算法。
【一一帮助安全学习,所有资源关注我,私信回复“资料”获取一一】
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部教程
二、算法分析
1、进入主函数(很明显是vs写的程序,根据步骤找主函数就行)
F9进入程序领空,进入第一个call:
再进入第二个call:
找特征码,进入标记的call:
进入第四个call:
走过一个跳转,进入主函数:
2.动态调试
标记的函数是输入flag后第一个call,并且传参进去,所以这里可以跟进去看一看:
随便输入一部分数,回车并跟进标记函数:
从下面可以看到这边传入我们输入flag,是关键函数,跟进去:
分析函数:
可以猜到flag的长度为20,如果不是20,直接到打印错误的地方,继续向下看,下面对字符串进行第一次处理。亦或66,继续看下去,又是一个比较长度函数,之后没什么了,这个函数结束,直到返回主函数:
下面就是打印wrong,长度为20会跳过这个打印:
我们看当前标记的函数,传入参数是我们flag亦或66之后的字符串,绝对关键函数,跟进去,F8一直运行:
我们发现又对字符串处理,先+A,再亦或50:
继续运行发现关键函数,F8走过直接失败,重新到这个位置,发现传入处理后的第一个字符,跟进去:
我们发现一个cmp,和我们字符串第一个字母比较:
查看另一个地址的值:
继续跟,会发现直接退出,所以这里是比较函数,直接写脚本:
#include
int main()
{
unsigned int dword_14001D000[20] = {
0x0000004B, 0x00000048, 0x00000079, 0x00000013, 0x00000045, 0x00000030, 0x0000005C, 0x00000049,
0x0000005A, 0x00000079, 0x00000013, 0x00000070, 0x0000006D, 0x00000078, 0x00000013, 0x0000006F,
0x00000048, 0x0000005D, 0x00000064, 0x00000064
};
char flag[21] = { 0 };
for (int i = 0; i < 20; i++)
{
flag[i] = ((dword_14001D000[i] ^ 0x50) - 10) ^ 0x66;
}
printf(flag);
return 0;
}
flag:why_m0dify_pUx_SheLL
猜你喜欢
- 2024-11-26 大牛黑客手把手教你三层内网渗透,干货,一定收藏
- 2024-11-26 每年一版!Unity 2021 LTS又?叒叕来了
- 2024-11-26 CAD四十四条问答Q&A,全面解决CAD制图“疑难杂症”
- 2024-11-26 Windows 11:已知问题和已解决问题列表(更新时间:2022年1月)
- 2024-11-26 应急响应-Yara规则木马检测
- 2024-11-26 浅谈PHP GC垃圾回收机制和常见利用方式
- 2024-11-26 Shellex:一款针对shellcode的转换与处理工具
- 2024-11-26 XShell的安装和使用及技巧大全
- 2024-11-26 一次想不到的 Bootstrap 类加载器带来的 Native 内存泄露分析
- 2024-11-26 一次野外偶遇窃密的浣熊RaccoonStealer v2样本分析报告
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)