02 2021 档案

摘要:64位的elf文件 canary保护和NX保护 主程序简单的栈溢出: .text:0000000000400814 push rbp .text:0000000000400815 mov rbp, rsp .text:0000000000400818 sub rsp, 250h .text:0000 阅读全文
posted @ 2021-02-19 18:26 Mz1 阅读(338) 评论(0) 推荐(0) 编辑
摘要:无聊的时候在bugku随便找的一道题。 没想到居然是虚拟机。 气死。 题目提示: babyLogin 新品发布会。『babyLogin Plus』哪一面,都是亮(汇)点(编)。 就是读汇编呗。 大概看了一下,32位的pe文件。 这里注释是之前静态分析的时候写的,不是很准确,不过不难看出来是一个虚拟机 阅读全文
posted @ 2021-02-19 16:18 Mz1 阅读(339) 评论(0) 推荐(0) 编辑
摘要:关于能连上然后执行命令500(passive模式的原因): https://www.linuxidc.com/linux/2013-05/83742.htm 常用命令的简单概述:https://www.cnblogs.com/answerThe/p/11463117.html 一些细节操作符:htt 阅读全文
posted @ 2021-02-15 14:44 Mz1 阅读(64) 评论(0) 推荐(0) 编辑
摘要:常用环境配置 要清理磁盘空间可以看这个文章:https://www.linuxprobe.com/disk-release.html 最简单的安装,结束以后先换源 apt install build-essential gcc make perl dkms # 之后安装vbox增强功能 # 基本工具 阅读全文
posted @ 2021-02-15 13:32 Mz1 阅读(147) 评论(0) 推荐(0) 编辑
摘要:随便写的 import sys, time import threading import os import msvcrt class Cmd: def __init__(self): self.buff = b'' # buff string print('''Ready to Start | 阅读全文
posted @ 2021-02-09 15:15 Mz1 阅读(396) 评论(0) 推荐(0) 编辑
摘要:导入表 确定依赖模块 导入表说明了Pe文件需要依赖哪些模块以及依赖这些模块中的哪些函数。 导入表不是一个,是一堆,导入几个模块就有几张导入表。 导入表的结构 _IMAGE_IMPORT_DESCRIPTOR typedef struct _IMAGE_IMPORT_DESCRIPTOR { unio 阅读全文
posted @ 2021-02-09 13:52 Mz1 阅读(67) 评论(0) 推荐(0) 编辑
摘要:导出表 如何定位导出表(这段写的不是很清楚) 在扩展pe头的最后一个成员(16个结构体*8bytes)中查找 导出表的属性在第一个结构体中: 第一个DWORD是导出表的RVA,要先转化成FOA 然后就可以找到导出表结构体 关键结构体:_IMAGE_EXPORT_DIRECTORY typedef s 阅读全文
posted @ 2021-02-09 13:33 Mz1 阅读(195) 评论(0) 推荐(0) 编辑
摘要:之前一直没学mfc,今天有点无聊,就看了一点。 MFC 本质就是对win32的封装。 通常的配置是静态编译mfc,会方便一些。 mfc的层次结构图 在msdn里搜Hierarchy Chart。 CWinApp类 基于CWinApp的应用程序对象,程序本体,有且只能有一个。 必须要覆盖CWinApp 阅读全文
posted @ 2021-02-09 13:00 Mz1 阅读(402) 评论(0) 推荐(0) 编辑
摘要:Self-modifying code 自修改代码 参考: https://iter01.com/546351.html 阅读全文
posted @ 2021-02-08 14:04 Mz1 阅读(223) 评论(0) 推荐(0) 编辑
摘要:这个故事要从快一年前说起,那个时候刚刚会一点web,试图爬b站的直播弹幕。 但是呢,那个时候直播的弹幕已经是websocket了,我也只会http,这彻底懵逼啊。 然后学了学,没搞懂,毕竟网上的那些东西,比较乱比较杂,看不懂也是没办法。 啊,然后就放弃了。 直到最近,我才想起来还有这么一回事儿,这下 阅读全文
posted @ 2021-02-06 17:06 Mz1 阅读(92) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.cnblogs.com/harmonica11/p/12957472.html 动调 阅读全文
posted @ 2021-02-04 22:45 Mz1 阅读(70) 评论(0) 推荐(0) 编辑
摘要:pyinstaller编译的exe文件 直接上pyinstxtractor,提出index文件加上文件头: 420D0D0A000000000DA91B60A8090000 就可以进行反编译 上pyuncompyle6,提出以下源代码: # uncompyle6 version 3.7.1 # Py 阅读全文
posted @ 2021-02-04 22:13 Mz1 阅读(554) 评论(1) 推荐(0) 编辑
摘要:开局一个txt 4 0 LOAD_CONST 0 (3) 3 LOAD_CONST 1 (37) 6 LOAD_CONST 2 (72) 9 LOAD_CONST 3 (9) 12 LOAD_CONST 4 (6) 15 LOAD_CONST 5 (132) 18 BUILD_LIST 6 21 S 阅读全文
posted @ 2021-02-03 18:32 Mz1 阅读(207) 评论(0) 推荐(0) 编辑
摘要:无聊的base64换表 直接丢exp了 import base64 table = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0987654321/+' table2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcde 阅读全文
posted @ 2021-02-03 18:26 Mz1 阅读(338) 评论(0) 推荐(0) 编辑
摘要:嘛 这题直接给了源码 逻辑属于比较清晰的,还可以看到一种之前没见过的花指令,很有意思。 _asm { call sub1 _emit 0xE8 jmp label1 sub1: add dword ptr[esp],1 retn label1: } 嘛,偷个懒直接看源码了 花指令全部去掉的话剩的就是 阅读全文
posted @ 2021-02-03 18:18 Mz1 阅读(324) 评论(1) 推荐(0) 编辑
摘要:win32console devc编译 debugmode 肥肠简单 逻辑清晰 白给的位运算前16位: 然后下面有个栈溢出: 嘛白给的溢出 找到下一个函数地址跳过去就行了,然后是白给的base64: exp都没怎么写 直接拼了一下: import base64 flag = '' y1 = [35, 阅读全文
posted @ 2021-02-02 23:26 Mz1 阅读(457) 评论(0) 推荐(0) 编辑
摘要:winx64的pe文件 估计是devc编译的,debugmode 主要逻辑非常简单 base以后两个位变换 直接丢exp了: from base64 import b64encode, b64decode aim = "EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=c 阅读全文
posted @ 2021-02-01 23:42 Mz1 阅读(390) 评论(0) 推荐(0) 编辑