自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 安卓逆向入门(2)------Xpose初级

代码中“com.example.xpose”是目标程序的包名,“com.example.xpose.MainActivity” 是想要Hook的类, "toastMessage"是想要Hook的方法。然后右键点击 assets文件夹, new–> file,文件名为xposed_init(文件类型选text),并在其中写上入口类的完整路径(就是自己编写的那一个Hook类),这样, Xposed框架就能够从这个 xposed_init 读取信息来找到模块的入口,然后进行Hook操作了。

2024-07-18 17:55:01 21

原创 安卓逆向入门(1)------环境配置

夜神模拟器:7.0.6.0Android版本:7.1.2root状态:开启。

2024-07-18 11:01:50 70

原创 进程伪装实现将进程伪装成任意程序

进程伪装修改指定进程环境块中的进程路径以及命令行信息,从而达到进程 伪装的效果。获取进程的句柄内联汇编获取peb修改命令行和imagepath#include<windows.h>#include<winternl.h>BOOL DisguiseProcess(wchar_t *lpwszPath, wchar_t *lpwszCmd);int main(){ wchar_t *lpwszPath = L"c:\\windows\\system32\\c

2020-09-24 12:15:24 6279 1

原创 突破SESSION 0隔离的远线程注入

突破SESSION 0隔离的远线程注入与传统的CreateRemoteThread函数实现的远线程注入DLL的唯一区别在于,突破SESSION 0远线程注 入技术是使用比CreateRemoteThread函数更为底层的ZwCreateThreadEx函数来创建远线程,而具体的远线 程注入原理是相同的。#include<stdio.h>#include<windows.h>#include<Tlhelp32.h>#define NAME "wininit.exe

2020-09-24 12:14:01 631

原创 使用WMI provider创建进程

使用WMI provider创建进程#define _WIN32_DCOM#include <iostream>using namespace std;#include <comdef.h>#include <wbemidl.h>#pragma comment(lib, "wbemuuid.lib")void CreateClass(IWbemServices* pSvc);int main(){ HRESULT hr; hr = CoInitial

2020-09-24 12:12:54 612

原创 服务注册器创建服务+突破SESSION 0隔离创建用户进程

服务注册器创建服务+突破SESSION 0隔离创建用户进程病毒木马通常会把自己注入系统服务进程或是伪装成系统服务进程,并运行在SESSION 0中。处于 SESSION 0中的程序能正常执行普通程序的绝大部分操作,但是个别操作除外。例如,处于SESSION 0中 的系统服务进程,无法与普通用户进程通信,不能通过Windows消息机制进行通信,更不能创建普通的用户进程。从Windows VISTA开始,只有服务可以托管到SESSION 0中。注册自身为服务,在session 0 中创建用户进程(全局互

2020-09-24 12:12:03 534

原创 二进制漏洞——栈溢出复现

二进制漏洞——栈溢出复现栈布局如下:可以看出,要构造栈溢出需要将函数内部成员长度突破EBP并覆盖到返回地址处即可得到执行。构造代码如下:#include <stdio.h>#include <windows.h>__declspec(safebuffers) void OverFlow(char *);__declspec(dllexport) BOOL MyWinExec(char *,UINT);int main(int argc,char *argv[]

2020-09-24 12:10:41 413

原创 InlineHook任务管理器_ZwQuerySystemInformation_隐藏进程

InlineHook任务管理器_ZwQuerySystemInformation_隐藏进程hook步骤:查找目标函数地址修改目标函数第一条指令跳转到我们构造的函数卸载掉钩子,执行正常的目标函数过滤掉特定信息后返回hook代码如下#include<windows.h>#include<Winternl.h>BOOL hook_code();BOOL unHook_code();NTSTATUS WINAPI NewZwQuerySystem

2020-09-24 12:09:43 574

原创 ByPass UAC

ByPass UAC白名单程序 Bypass UAC有些系统程序是直接获取管理员权限,而不触发UAC弹框的,这类程序称为白名单程序.例如, slui.exe、wusa.exe、taskmgr.exe、msra.exe、eudcedit.exe、eventvwr.exe、CompMgmtLauncher.exe等.这些 白名单程序可以通过DLL劫持、注入或是修改注册表执行命令的方式启动目标程序,实现Bypass UAC提权操作利用CompMgmtLauncher.exe、该程序在启动时会查询注册

2020-09-24 12:08:39 1124 1

原创 编程实现APC注入dll到进程

APC注入线程被唤醒时APC中的注册函数会被执行,因此使用QueueUserAPC向APC队列插入函数即可完成注入#include <stdio.h>#include <windows.h>#include <Tlhelp32.h>BOOL ApcInject(char *,char *);DWORD GetProcessIdByProcessName(char *);BOOL GetAllThreadIdByProcessId(DWORD,PDWORD,P

2020-09-23 23:35:54 326

原创 c语言实现TCP socket通信

socket通信_TCPTCP面向字节流传输数据,提供可靠的数据传输服务。通过TCP传送的数据无差错、不丢失、不重复,而且按序到达。由于TCP是基于连接的,所以每一条TCP连接只能是点到点的交互通信。服务器端初始化Winsock环境后,便调用Socket函数创建流式套接字;然后对sockaddr_in结构体进行设置,设置服务器绑定的IP地址和端口等信息并调用 bind函数来绑定;绑定成功后,就可以调用listen函数设置连接数量,并进行监听。直到有来自客户端的连接请求,服务器便调用accept函数

2020-09-20 19:38:08 1902 1

原创 Windbg配置环境变量、符号下载、加载符号

一、环境变量中添加Windbg的安装目录:我的电脑–>右键属性–>高级系统设置–>高级–>环境变量–>系统变量–>Path;在path里添加上Windbg.exe所在路径,如D:\WinDDK\7600.16385.1\Debuggers二、环境变量添加符号下载地址:我的电脑–>右键属性–>高级系统设置–>高级–>环境变量–>系统变量–>新建;新建一个系统变量命名为_NT_SYMBOL_PATH。值为srvd:\symbols

2020-06-12 10:31:15 1847

原创 双机调试 WinDbg调试VMware虚拟机Windows7及更高版本(详细流程)

一、关闭win7(或更高版本)虚拟机,更改配置。注意这里要将虚拟机关闭,挂起时无法更改配置。按照图示添加一个串行端口接下来按照图示设置所创建的串行端口配置二、打开虚拟机,修改配置以管理员身份运行CMD,执行以下命令:bcdedit /dbgsettings serial baudrate:115200 debugport:2这里debugport:2这个数值取决于第一步时所创建的串行端口号,如本次例子中创建的“串行端口 2”。bcdedit /copy {current} /d yean

2020-06-11 19:10:46 1108 1

原创 禁用数字签名(运行没有数字签名的驱动程序)

以管理员身份打开CMD程序执行以下两条命令:bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKSbcdedit.exe -set TESTSIGNING ON运行之后重启计算机。接下来就可以测试加载没有数字签名的驱动程序了。

2020-06-11 15:50:15 2295

原创 汇编语言编写shellcode实现弹窗计算器

使用汇编语言编写shellcode,调用WinExec实现弹出计算器,汇编代码如下:.386.model flat,stdcall; 代码区域.codemain: push ebp mov ebp,esp sub esp,20h; 开辟栈空间; 获取Kernel32基址 assume fs:nothing mov eax,[fs:30h]; peb结构所在地址 mov ...

2020-04-04 04:20:41 1839 6

原创 汇编语言条件跳转指令详解

指令解释jz如果ZF=1,跳转至指定位置jnz如果ZF=0,跳转至制定位置je与jz类似,但通常在一条cmp指令后使用。如果源操作数与目的操作数相等,则跳转jne与jnz类似,但通常在一条cmp指令后使用。如果源操作数与目的操作数不相等,则跳转jgcmp指令做有符号比较之后,如果目的操作数大于原操作数,跳转jgecmp指令做有符号比较之...

2020-03-13 20:14:14 6812

原创 双机调试 WinDbg调试VMware虚拟机winXP(详细流程)

一、打开xp C盘显示隐藏文件,编辑boot.ini二、在最后一行添加上配置信息三、关闭虚拟机、修改虚拟机设置、如果硬件中存在打印机,移除该打印机四、添加串行端口五、编辑串口配置信息六、在WinDbg快捷方式上右键–>属性 在目标栏追加参数 -b -k com:pipe,port=\.\pipe\com,resets=0七、启动虚拟机,选调试模式八、打开WinDb...

2020-01-08 16:05:55 992

原创 拍进程快照,代码实现遍历windows进程

步骤:1.CreateToolhelp32Snapshot拍摄快照2.Process32First,Process32Next枚举进程信息代码:#include <stdio.h>#include <windows.h>#include <Tlhelp32.h>BOOL EnumProcess();void main(){ EnumPr...

2020-01-07 15:01:59 379

原创 代码实现exe程序释放资源内容到文件

代码实现,将资源内容独立释放出来,恶意程序常用(隐藏恶意代码)步骤:1.添加资源,导入资源内容2.查找资源,加载资源,锁定资源3.保存到文件在项目解决方案中看到名为资源文件的空文件夹,右键添加–>资源单击自定义,然后在弹出的资源类型框中随便自己想要命名的类型(例如MYRES)然后双击所创建的类型名或点击导入导入自定义资源内容编写代码释放资源到文件这里需要注意,如果...

2020-01-06 17:03:10 1266

原创 代码实现全局消息钩子SetWindowsHookExA监视按键记录

简单的使用Windows提供的Hook API SetWindowsHookExA,实现弹窗提示每次按下的按键步骤:1.编写一个Dll调用SetWindowsHookExA,实现弹窗2.编写一个exe调用LoadLibrary加载生成的Dlldll代码如下#include<stdio.h>#include<windows.h>HHOOK shook;LRE...

2019-12-31 10:44:21 3032

原创 代码实现增加PE文件节区+修改IID结构(静态干预输入表),成功加载用户DLL

运加粗样式行结果图,在一个hello world运行之前程序代码实现让其加载我们的一个DLL文件。修改前后文件结构对比修改PE文件干预输入表的代码如下:一个简单的弹窗dll的实现代码如下:总结:在实际运行中,一部分程序无法修改或修改后无法正常运行,加载dll不稳定因素太多,如果有哪位大牛了解原因或BUG,还请告知一二。...

2019-12-26 15:28:49 641

原创 VBA宏密码破解

常用的excel文档、word文档具有宏功能,使用Alt+F11可以打开查看宏代码。而部分VBA宏使用了密码保护,如下图:在不知道密码的情况下则无法查看到宏代码,此时使用文件查看工具(例如WinHex、010Editor等)打开该office文档,搜索文字CMG,找到CMG后就将其后面的"=“修改为”."(注意:选择后直接替换,不要删除后再插入)。然后再分别搜索DPB与GC,同样把"=“修改为...

2019-12-17 10:17:52 6465 1

原创 实用的注册表技巧

注册表被禁用隐藏文件无法显示禁用显示隐藏文件任务管理器被禁用U盘被禁用windows时间线被禁用应用程序镜像劫持开机自启动目录鼠标右键被禁用隐藏磁盘禁用“运行”禁用 “关机”HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies

2019-11-15 11:53:18 248 1

原创 远线程注入代码实现dll注入到进程

在其他进程中创建线程将DLL注入从而执行dllmain。原理:OpenProcess获得进程句柄。VirtualAllocEx申请内存。WriteProcessMemory将dll写入。CreateRemoteThread执行LoadLibrary加载dll效果图注入代码:#include<stdio.h>#include<windows.h>#defi...

2019-10-28 15:59:33 306

原创 进程注入之创建傀儡进程

傀儡进程:创建一个进程,然后将其虚拟地址里的内容掏空,注入想要注入的进程,以达到掩人耳目的效果步骤:1.以挂起的方式创建一个进程2.卸载该进程的内存映射,即掏空该进程虚拟内存空间中的内容3.获取该进程的CONTEXT上下文结构4.将要注入的程序读入到内存中5.在傀儡进程中申请足够的内存空间6.手动将要注入的程序写入傀儡进程中所申请的内存空间6.设置CONTEXT上下文的Eax为程序...

2019-10-19 19:48:55 1727 3

原创 TEB,PEB,LDR结构

首先查看TEB所在地址接着查看teb结构图中,TEB结构中第一个成员为TIB结构,从偏移量可以看出从0x00到0x1C之间的内容均为TIB结构的成员,那么我们来查看TIB结构...

2019-10-15 11:45:42 1997

原创 汇编语言中的标志位:CF、PF、AF、ZF、SF、TF、IF、DF、OF

**CF:**进位标志位。在无符号运算时,记录了运算结果的最高有效位向更高位的进位值或从更高位借位,产生进位或借位时CF=1,否则CF=0;**PF:**奇偶标志位。相关指令执行后结果所有bit中1的个数为偶数,那么PF=1,1的个数为奇数则PF=0;**AF:**辅助进位标志位。运算过程中看最后四位,不论长度为多少。最后四位向前有进位或者借位,AF=1,否则AF=0;**ZF:**零标志位...

2019-08-20 17:51:16 75325 10

原创 汇编中的jmp转移指令:jmp short、jmp near ptr、jmp far ptr

汇编中的jmp转移指令:jmp short、jmp near prt、jmp far ptr从8086CPU的定义上来讲,只要是可以修改IP(指令指针寄存器),或同时修改CS(代码段寄存器)和IPIP(指令指针寄存器)的指令统称为转移指令。也就是说,转移指令是用来控制CPU指令内存中某处代码的指令。那么通过转移区间的不同进行分类则有以下情况:段内转移:只修改IP的值。也就是说,CS的值不变化...

2019-08-14 13:20:13 28417 17

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除