04 2019 档案
摘要:DLL注入技术,可以实现钩取API,改进程序,修复Bug。 DLL注入指的是向运行中的其他进程强制插入特定的DLL文件。 DLL注入命令进程自行调用LoadLibrary()API,加载用户指定的DLL文件。 DLL(Dynamic Linked Library,动态链接库) DLL被加载到进程后自
阅读全文
摘要:钩子 Hook,就是钩子。偷看或截取信息时所用的手段或工具。 消息钩子 常规Windows流: 1.发生键盘输入事件时,WM_KEYDOWN消息被添加到【OS message queue】。 2.OS判断哪个应用程序中发生了事件,然后从【OS message queue】取出消息,添加到相应应用程序
阅读全文
摘要:查壳,nSpack壳,直接用软件脱壳,IDA载入程序。 很明显,就是将402130的数据和输入的数据进行异或,判断是否等于402150处的数据。dwrd占4字节。 这道题主要记录一下刚学到的,直接在IDA使用python脚本。 将代码粘贴到此处,回车运行即可。IDA好强大,自己好菜,只会F5。 今天
阅读全文
摘要:查看第一节区头。 Size Of Raw Data 为400, Virtual Size为280,尺寸为400,只用了280,所以680-800区域都是NULL。我们将会在此区域设置补丁代码。 节区的Virtual Size为280,这不是实际大小,要以SectionAlignment 的倍数扩展。
阅读全文
摘要:题目提示是走迷宫。 IDA载入程序分析。 输入字符长度必须是24,开头必须是nctf{,结尾必须是}。在125处按R就可以变成字符。 sub_400650和sub_400660是关键函数,分析sub_400650。 v10的下一字节减1. sub_400660v10的下一字节加1. 分析这两个函数。
阅读全文
摘要:重叠文件头 MZ文件头与PE文件头重叠。 offest 0 e_magic:magic number = 4D5A('MZ') offest 3C e_lfanew:File address of new exe header IMAGE_FILE_HEADER.SizeOfOptionalHead
阅读全文
摘要:从DOS头到节区头是PE头部分,其下的节区合称PE体。文件中使用偏移(offset),内存中使用VA(Virtual Address,虚拟地址)来表示位置。文件加载到内存时,情况就会发生变化(节区的大小、位置等)。文件的内容一般可分为代码(.text)、数据(.data)、资源(,rsrc)节,分别
阅读全文
摘要:运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近。 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数。将00B61094的指令修改为JE SHORT 00B6109b。然后跟进函数,单步执行。 拿到了flag。 原程序是在00B610B9处弹窗,我们将00B610A3
阅读全文
摘要:iDA载入程序,shift+F12查看关键字符串,找到双击来到所在地址,进入函数 然后进入主函数, 经过分析,可以得出:输入的字符要等于 经过处理的v7和v8的异或。v8很明显,但是v7是怎么回事呢,新手没有遇到过,所以上网查看资料,LL是长长整型,v7要转换为16进制然后在转换为字符串,而且字符是
阅读全文
摘要:IA-32由四类寄存器组成:通用寄存器,段寄存器,程序状态与控制寄存器,指令指针寄存器。 通用寄存器:用于传送和暂存数据,也可参与算数逻辑运算,并保存运算结果。 EAX(0-31) 32位 AX (0-15) EAX的低16位 AH (8-15) AX的高8位 AL(0-7) AX的低8位 EAX:
阅读全文
摘要:看题目就知道查找不到关键字符串,为防止踩坑,strings命令查看,没有找到有用的字符串。IDA载入程序查找入口函数, main函数中有4个函数,经过分析判断authenticate()为关键函数,跟进其中, 很明显,decrypt是关键处,接下来我们使用gdb调试,当然直接分析decrypt也很容
阅读全文
摘要:一、re1 随便输一串数字测试,返回关键字符串。 打开OD载入程序,智能搜索,看到flag,直接提交。 二、game 程序是一个小游戏,如果有游戏天赋的话,玩过关就拿到flag了。 用IDA打开程序,搜索字符串(shift+f12), 进入这个字符串所在的函数, 看到关键算法,写一个python脚本
阅读全文

浙公网安备 33010602011771号