NT symbols are incorrect, please fix symbols

流沙 | 网络安全 | 2018-08-28
问题 kd> !process 0 0  * NT ACTIVE PROCESS DUMP *  NT symbols are incorrect, please fix symbols 解决方法 .symfix d:\WinDbgSymbols  .reload /o  再执行!process 0 0就正常了

阅读全文>>

ė269次浏览 60条评论 0

保护模式整理文档

流沙 | 网络安全 | 2018-08-28
直接下载即可使用chm文件 保护模式.zip

阅读全文>>

ė267次浏览 60条评论 0

ARM寻址方式

流沙 | 网络安全 | 2018-08-27
所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。 ARM处理器的寻址方式 目前ARM处理器支持9种寻址方式,分别是立即数寻址、寄存器寻址、寄存器偏移寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、相对寻址、堆栈寻址和块拷贝寻址。 1. 立即数寻址 也叫立即寻址,是一种特殊的寻址方式,操作数本身包含在指令中,只要取出指令也就取到了操作数。这个操作数叫做立即数,对应的寻址方式叫做立即寻址。例如: MOV R0,#64     ;R0  ← 64 ADD R0, R0, #1  ; ...

阅读全文>>

ė124次浏览 60条评论 0

error: A1859E: Flag preserving form of this instruction not available

流沙 | 网络安全 | 2018-08-26
练习ARM的时候,遇到的问题, 这是 uVersion编译器环境配置的问题 更改设备之后即可解决 详细解决的视频:

阅读全文>>

ė252次浏览 60条评论 0

repne scasb指令

流沙 | 网络安全 | 2018-07-13
repne scasb指令,用于扫描字符串,计算字符串的长度,如下两条指令: cld repne scasb 对应的等价指令是: scans:inc edi     dec ecx     je loopdone     cmp byte [edi-1],al     jne scans loopdone:

阅读全文>>

ė128次浏览 60条评论 0

经典dll注入

流沙 | 网络安全 | 2018-07-04
注入Dll: 1,OpenProcess获得要注入进程的句柄 2,VirtualAllocEx在远程进程中开辟出一段内存,长度为strlen(dllname)+1; 3,WriteProcessMemory将Dll的名字写入第二步开辟出的内存中。 4,CreateRemoteThread将LoadLibraryA作为线程函数,参数为Dll的名称,创建新线程 5,CloseHandle关闭线程句柄 卸载Dll: 1,CreateRemoteThread将GetModuleHandle注入到远程进程中,参数为被注入的Dll名 2,GetExitCodeThread将线程退出的退出码...

阅读全文>>

ė171次浏览 60条评论 0

IDA脚本测试

流沙 | 网络安全 | 2018-05-06
IDA脚本测试 0x001 枚举函数 #include <idc.idc> static main() { auto addr, end, args, locals, frame, firstArg, name, ret; addr = 0; for (addr = NextFunction(addr); addr != BADADDR; addr = NextFunction(addr)) { name = Name(addr); end = GetFunctionAttr(addr, FUNCA...

阅读全文>>

ė273次浏览 60条评论 0

80X86汇编语法笔记

流沙 | 网络安全 | 2018-04-17
主要看了一下汇编的语法知识,指令算比较熟悉了 一点笔记贴上来 80X86汇编学习笔记 代码 ==================================================== ; Example: Hello World ; Author GYARMY ; Date: 2018-4-10 .386 .MODEL FLAT ExitProcess PROTO stdcall, dwExitCode:DWORD .STACK 4096 .DATA msg BYTE "Hello Wor...

阅读全文>>

ė242次浏览 60条评论 0

硬编码总结

流沙 | 网络安全 | 2018-02-11
理解定长 理解可变长 MOdR/M SIB 全文下载 直接分享给大家,DT的课件 硬编码.xls Intel白皮书.zip

阅读全文>>

ė264次浏览 60条评论 0

PE学习小结

流沙 | 网络安全 | 2017-12-17
主要学习了,PE的简单知识,代码进行了实现 // PEOperate.cpp: implementation of the PEOperate class. // ////////////////////////////////////////////////////////////////////// #include "PEOperate.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////...

阅读全文>>

ė213次浏览 60条评论 0

绑定导入表的使用

流沙 | 网络安全 | 2017-11-19
测试代码的效果, 只适用于 win自带的 程序   void TestPrintBindImportDirectory(LPSTR lpszFile) { LPVOID pFileBuffer = NULL; pFileBuffer= ReadPEFile(lpszFile); if(!pFileBuffer) { printf("文件读取失败\n"); return; } PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader ...

阅读全文>>

ė274次浏览 60条评论 0

打印PE导入表信息

流沙 | 网络安全 | 2017-11-18
导入表有些复杂,文件与内存中的格式不太一样 理解导入表的结构是关键 void TestPrintImportDirectory(LPSTR lpszFile) { LPVOID pFileBuffer = NULL; pFileBuffer= ReadPEFile(lpszFile); if(!pFileBuffer) { printf("文件读取失败\n"); return; } PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader = NULL; PIMAGE_FIL...

阅读全文>>

ė223次浏览 60条评论 0

重定位表修复测试

流沙 | 网络安全 | 2017-11-17
直接更改文件的ImageBase,进行的测试   void testUseReloc(LPSTR lpszFile) { LPVOID pFileBuffer = NULL; pFileBuffer= ReadPEFile(lpszFile); if(!pFileBuffer) { printf("文件读取失败\n"); return; } PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader = NULL; PIMAGE_FILE_HE...

阅读全文>>

ė233次浏览 60条评论 0

重定位表的移动

流沙 | 网络安全 | 2017-11-17
很笨的方法 (写过才能知道,哪些地方,需要注意,开始想的很简单,就三部,写了 一个多小时!!) void TestMoveRelocDirectory(LPSTR lpszFile) { /* 1 新增一个节 2 把重定位的表 移动到那个节中 3 更改标志位 */ LPVOID pFileBuffer = NULL; pFileBuffer= ReadPEFile(lpszFile); if(!pFileBuffer) { printf("文件读取失败\n"); return; } PIMAGE_DOS_HE...

阅读全文>>

ė226次浏览 60条评论 0

Def 导出表测试使用

流沙 | 网络安全 | 2017-11-15
具体创建如何创建def类型的导出表可以直接自己测试 这里只贴 使用的代码 // 20171111_01.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <Windows.h> #pragma comment(lib,"TestDef.lib") /* extern "C" __declspec(dllimport) __stdcall Plus(int x,int y); extern "...

阅读全文>>

ė182次浏览 60条评论 0

导出表的移动步骤

流沙 | 网络安全 | 2017-11-15
1 在DLL中新增一个节, 并返回新增的FOA 2 复制AddressOfFunctions  长度:4*NumberOfFunctions 3 复制AddressOfNameOrdinals  长度:NumberOfNames*2 4 复制AddressOfNames  长度:NumberOfNames*4 5 复制所有的函数名 长度不确定,复制时直接修复AddressOfNames 6 复制IMAGE_EXPORT_DIRECTORY结构 7 修复IMAGE_EXPORT_DIRECTORY结构中的 AddressOfFunctions Ad...

阅读全文>>

ė206次浏览 60条评论 0

输出重定位表的信息

流沙 | 网络安全 | 2017-11-14
了解表结构,输出信息,一个函数的实现 void printDirectoryRelocTable(LPSTR lpszFile) { LPVOID pFileBuffer = NULL; pFileBuffer= ReadPEFile(lpszFile); if(!pFileBuffer) { printf("文件读取失败\n"); return; } PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader = NULL; PIMAGE_FILE_HEADER pP...

阅读全文>>

ė220次浏览 60条评论 0

PE结构详解(64位和32位的差别)

流沙 | 网络安全 | 2017-11-14
网址:http://blog.csdn.net/reversalc/article/details/8022977 1 基本概念 下表描述了贯穿于本文中的一些概念: 名称 描述 地址 是“虚拟地址”而不是“物理地址”。为什么不是“物理地址”呢?因为数据在内存的位置经常在变,这样可以节省内存开支、避开错误的内存位置等的优势。同时用户并不需要知道具体的“真实地址”,因...

阅读全文>>

ė171次浏览 60条评论 0

GetFunctionAddrByName与GetFunctionAddrByOrdinals的实现

流沙 | 网络安全 | 2017-11-13
两个函数的具体实现 直接上代码了, 懒得讲了 // PEOperate.cpp: implementation of the PEOperate class. // ////////////////////////////////////////////////////////////////////// #include "PEOperate.h" ////////////////////////////////////////////////////////////////////// // Constructi...

阅读全文>>

ė224次浏览 60条评论 0

打印PE输出表的信息

流沙 | 网络安全 | 2017-11-12
测试打印PE输出表信息 主要是RVA 和 FOA 之间的转换要注意, 单独写了一个函数进行转换 转换函数 DWORD RVAToFileOffset(LPVOID pFileBuffer,DWORD dwRva) { PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader = NULL; PIMAGE_FILE_HEADER pPEHeader = NULL; PIMAGE_OPTIONAL_HEADER32 pOptionHead...

阅读全文>>

ė201次浏览 60条评论 0

Ɣ回顶部