repne scasb指令

2018-7-13 流沙 网络安全

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

阅读全文>>

评论(0) 浏览(27)


经典dll注入

2018-7-4 流沙 网络安全

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

阅读全文>>

评论(0) 浏览(66)


IDA脚本测试

2018-5-6 流沙 网络安全

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...

阅读全文>>

评论(0) 浏览(206)


80X86汇编语法笔记

2018-4-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...

阅读全文>>

评论(0) 浏览(187)


硬编码总结

2018-2-11 流沙 网络安全

理解定长 理解可变长 MOdR/M SIB 全文下载 直接分享给大家,DT的课件 硬编码.xls Intel白皮书.zip

阅读全文>>

评论(0) 浏览(215)


PE学习小结

2017-12-17 流沙 网络安全

主要学习了,PE的简单知识,代码进行了实现 // PEOperate.cpp: implementation of the PEOperate class. // ////////////////////////////////////////////////////////////////////// #include "PEOperate.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////...

阅读全文>>

评论(0) 浏览(170)


绑定导入表的使用

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 ...

阅读全文>>

评论(0) 浏览(220)


打印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...

阅读全文>>

评论(0) 浏览(177)


重定位表修复测试

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...

阅读全文>>

评论(0) 浏览(185)


重定位表的移动

2017-11-17 流沙 网络安全

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

阅读全文>>

评论(0) 浏览(170)


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 "...

阅读全文>>

评论(0) 浏览(150)


导出表的移动步骤

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...

阅读全文>>

评论(0) 浏览(154)


输出重定位表的信息

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...

阅读全文>>

评论(0) 浏览(171)


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

2017-11-14 流沙 网络安全

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

阅读全文>>

评论(0) 浏览(141)


GetFunctionAddrByName与GetFunctionAddrByOrdinals的实现

2017-11-13 流沙 网络安全

两个函数的具体实现 直接上代码了, 懒得讲了 // PEOperate.cpp: implementation of the PEOperate class. // ////////////////////////////////////////////////////////////////////// #include "PEOperate.h" ////////////////////////////////////////////////////////////////////// // Constructi...

阅读全文>>

评论(0) 浏览(180)


Powered by 流沙团