16位汇编 Hook int 0实例

Android SO层逆向与Frida动态Hook实战:从CTF题目到移动安全核心技能 在移动安全与软件逆向工程领域,理解原生代码(Native Code)的运行机制与安全分析方法是核心技术之一。原生代码通常以动态链接库(SO文件)的形式存在,直接运行于处理器指令集层面,其逆向分析需要面对汇编指令与底层内存操作。动态代码插桩(Hook)技术则允许在程序运行时拦截、监视和修改其执行逻辑,是穿透代码混淆、对抗运行时保护的关键手段。这两项技术的结合,为安全研究人员提供了从静态结构分析到动态行为干预的完整能力,在漏洞挖掘、恶意软件分析、软件保护评估等场景中价值显著。本文以一道典型的CTF逆向题目为切入 阅读详情

div除法溢出之后, 会调用中断0, 显示Divide overflow,


 我们修改中断向量表里对应的0号中断的处理地址, 将我们的代码执行起来, 达到hook的目的

assume cs:code

code segment

start:
	;写入新的int 0地址
	mov ax,0
	mov es,ax
	mov word ptr es:[0*4],0200h
        mov word ptr es:[0*4+2],0
	
	;写入新的int 0中断过程的ShellCode
	mov ax,cs
        mov ds,ax
	mov si,offset display_start
	mov ax,0
	mov es,ax
	mov di,0200h
	mov cx,offset display_end - offset display_start
	cld 
	rep movsb        
	
	jmp display_end  ;跳转到除法溢出代码

	display_start:
	  jmp $+0ch       ;跳转到mov ax,0b800h
	  db 'hook int 0'
	  
	  mov ax,0b800h
	  mov ds,ax
	  
	  mov ax,0
	  mov es,ax
	  mov si,0202h    ;字符串的位置

	  mov bx,160*3  ;在屏幕上第三行显示
	  mov cx,0Ah    ;字符串10位        

	  s:
   	   mov al,es:[si]    
           inc si  
           mov ah, 0ch    ;红底黑字  
           mov ds:[bx],ax  
           add bx,2  
	  loop s
	 
	mov ax,4c00h      ;退出程序
	int 21h
	  
        display_end:nop	  
	
	;div除法溢出
	mov ax,1000h
	mov bh,01h
	div bh
       
	;退出程序
        mov ax,4c00h	
	int 21h

code ends

end start

end


显示hook int 0, 哈哈

鬼影3样本Mbr之后保护模式代码详细注释(最精华的地方啦) 今天和明天是最后两天宿舍有空调的日子啦,暑假宿舍没空调啊,悲催T__T     好吧,今天是最精华的部分啦对于鬼影3的分析,剩下的都是浮云啦,alg.exe不准备分析了,能用OD调试的货.分析起来只是时间问题.但是MBR和之后的保护模式的代码就不一样啦同学们,纯静态分析,伤不起啊 阅读详情

相关推荐

<寒江独钓>Windows内核安全编程__键盘过滤之内核级Hook(二)

Windows内核安全编程__键盘过滤内核级Hook(二) 如果不想让键盘过滤驱动程序或回调函数首先获得按键,则必须比端口驱动更加底层一些。 早期版本的QQ反盗号驱动的原理是这样的:用户要输入密码时(比如把输入焦点移动到了密码框里),就注册一个中断服务来接管键盘中断,比如0x

The New Old Things 3892

使用INT3进行HOOK处理

原理:设置异常捕获,然后将需要HOOK的代码直接修改成INT3即可 用的一个关键的API:SetUnhandledExceptionFilter //异常处理函数 function MyInt3(CONST P:EXCEPTION_POINTERS):Integer;cdecl; var add:Pointer; begin OutputDebugString(PChar(inttohe

IT男也疯狂 2261

从微信自动抢红包源码解析Windows系统编程:Hook注入与内存操作实战

在Windows系统编程领域,进程间通信与内存操作是核心技术概念。通过Hook(挂钩)技术,开发者可以拦截并修改应用程序的函数调用流程,实现行为监控或功能扩展,其原理涉及修改目标进程的代码段或利用异常处理机制。内存扫描与特征码定位则允许程序在运行时动态读取和解析其他进程的数据结构,这依赖于对虚拟内存布局和PE文件格式的深刻理解。这些技术的工程价值在于能够构建调试工具、性能分析器及安全软件,广泛应用于软件逆向分析、游戏辅助开发及系统优化等场景。本文以热门的“微信自动抢红包”项目为切入点,深入剖析其背后的内存读

weixin_30814329的博客 399

【汇编语言】16位汇编总结

16位汇编语言总结

weixin_42659457的博客 2017

Frida动态Hook结合AI大模型逆向分析安卓so加密算法

在移动安全与逆向工程领域,动态分析与静态分析是理解软件内部逻辑的核心方法。动态分析通过在程序运行时监控其行为来获取关键数据流,而静态分析则通过反编译和反汇编来理解代码结构。Frida作为一种强大的动态插桩框架,能够无侵入地Hook应用程序的Java和Native层函数,实时捕获函数参数、返回值及内存数据,为逆向分析提供了真实的运行时上下文。这项技术的核心价值在于能够绕过复杂的代码混淆和反调试机制,直接观测加密算法的输入与输出。在实际应用场景中,尤其是在分析安卓应用so库中的api-sign等加密签名生成逻辑

weixin_33923762的博客 346

Frida动态Hook Cocos2d-x Lua手游:从原理到实战

Hook技术是移动安全领域的核心概念,它允许开发者在程序运行时拦截和修改函数调用与数据流,实现动态调试、行为分析和安全检测。其原理是通过注入代码或修改内存,劫持目标函数的执行流程,从而在调用前后插入自定义逻辑。这项技术的价值在于无需源码即可深入理解程序内部机制,广泛应用于逆向工程、漏洞挖掘、自动化测试和游戏安全研究等场景。在手游安全领域,Frida作为一款跨平台的动态插桩框架,凭借其脚本化特性和强大的内存操作能力,成为Hook Cocos2d-x引擎Lua脚本的理想工具。通过Frida,安全研究员可以精准定

weixin_30756499的博客 459

16位汇编语言学习笔记(1)——基础知识

文章目录1.配置汇编学习环境1.1 工具下载1.2 配置环境2. 汇编命令基础2.1 简单使用2.2 常用命令3. 汇编语言基础3.1 汇编语言程序与汇编程序3.2 汇编语言程序的格式和组成元素3.3 伪指令3.3.1 符号定义伪指令3.3.2 变量定义伪指令3.3.3 段定义伪指令3.3.4 过程定义伪指令3.3.5 指令集选择伪指令3.4 指令系统3.4.1 数据传送指令通用数据传送指令累加器专用传送指令地址传送指令标志传送指令3.4.2 算数运算指令二进制算数运算指令加法指令减法指令乘法指令除法指令十

zyw2002的博客 3806

Android SO逆向实战:Frida动态Hook与内存操作深度解析

在移动安全与逆向工程领域,动态分析技术是深入理解应用行为的关键。其核心原理在于通过注入和Hook技术,在应用运行时监控和修改其执行流程与数据,从而洞察其内部逻辑。这项技术的核心价值在于能够穿透应用保护层,对核心算法、通信协议和验证机制进行深度分析,尤其适用于金融支付、游戏保护等高安全需求场景。当关键逻辑被编译到C/C++编写的SO(共享对象)库中时,传统的Java层分析便显得力不从心。此时,结合Frida进行动态Hook与内存操作成为破局之道。通过精准定位SO中的函数、解析复杂内存结构体,并有效对抗反调试机

468

各种HOOK方式和检测对抗方法

hook翻译过来是拦截的意思, 我们很多时候也叫钩子,其实是很形象的.hook有什么作用呢?1.当代码执行到某行时,获取寄存器值和内存里的值,进行调试分析,例如hook明文包.2.当代码执行到某行时,插入想执行的代码.例如迅雷拦截发包函数.3.当代码执行到某行时,修改寄存器,达到某些篡改目的.

任鸟飞2217777779的博客 1万+

Frida IL2CPP Bridge实战指南:原理、环境搭建与Hook技巧

在移动安全与逆向工程领域,动态插桩技术是实现运行时分析和行为干预的核心手段。其原理是通过向目标进程注入代码,拦截并修改函数调用,从而实现对应用逻辑的深度洞察与控制。这项技术的核心价值在于能够在不修改原始二进制文件的情况下,实时监控和操纵应用行为,广泛应用于安全评估、漏洞挖掘、游戏修改和自动化测试等场景。Frida作为当前主流的动态插桩框架,凭借其跨平台特性和灵活的JavaScript API,已成为安全研究人员和开发者的首选工具。然而,随着Unity引擎广泛采用IL2CPP作为脚本后端,将C#代码编译为C+

weixin_30859423的博客 368

用UDP协议在dos命令行里模拟一个聊天程序

/* 需求: 在dos命令行里模拟一个聊天程序 有收数据的部分,和发数据的部分,这两部分需要同时执行。 那就需要用到多线程技术。 一个线程控制收,一个线程控制发。 */ import java.io.*; import java.net.*; class C

s_x_x的记录 1955

8086(16位)汇编指令与机器码转换原理

在上一节,我们讲了X86指令基本格式。在8086架构下,是不存在SIB字节的,因此,我们重点关注ModR/M。

百里杨的博客 6597

【XR硬件介绍】PICO Space Pro(Project Swan)深度解析:字节 2026 旗舰 MR 头显延期背后

内部代号 Project Swan 的 PICO 年度旗舰 MR 头显正式定名PICO Space Pro,原本计划 2026 年 9 月对外发布,官方官宣推迟至 2026 年第四季度上市。硬件层面已经完成 FCC 认证,硬件成熟度较高,延期核心目标是打磨 PICO OS 6 空间操作系统,补齐空间计算软件能力。本文从产品背景、硬件架构、软件生态、延期逻辑、行业竞争格局几个维度拆解这款国产高端 MR 设备,分析它对国内 XR 产业的意义与待解的问题。

houdou112358的博客 1227

IDT HOOK

  A、实例演示    B、替换IDT处理函数    C、IDT HOOK 代码书写      //840dFaa1  //-----------全局变量-------------------------------- ULONG int3proc_addr; //用来存放int 3处理函数地址 ULONG jmpaddr_int3proc_9; //用来存放intproc+9处理...

crkres9527 671

机器学习模型——非线性回归

升维是一种常用的处理非线性问题的方法,它通过将原始数据从低维空间映射到高维空间来增强模型的表达能力。我们可以看出,二维数据用一维直线很难去很好的拟合。升维里的degree设置的不易过大,否则容易造成维度灾难。升维后,拟合的线与原数据比较符合。将非线性问题转换为线性问题。

qq_60688380的博客 1421

由浅入深理解Latent Diffusion/Stable Diffusion(5):利用预训练模型快速开始自己的科研任务

从零开始训练一个stable diffusion大概需要16万美元和1个月的时间,这对于一般的科研工作者来说难以承受,所以如何利用预训练模型快速开始自己的科研训练是一个非常有价值的问题。这篇博客将演示如何利用预训练模型快速开始自己的科研任务,希望对大家有所帮助!

沉迷单车的追风少年 3369

键盘过滤之内核级Hook(二)

键盘过滤之内核级Hook(二) 如果不想让键盘过滤驱动程序或回调函数首先获得按键,则必须比端口驱动更加底层一些。早期版本的QQ反盗号驱动的原理是这样的:用户要输入密码时(比如把输入焦点移动到了密码框里),就注册一个中断服务来接管键盘中断,比如0x93中断,之后按键就不关键驱动的事了。首先就来介绍一下Hook键盘中断。1.中断:IRQ和INT学过计算机体系结构的人都知道硬件往往是通过中断来...

weixin_30241919的博客 131

DSP的CLA调试技巧

本文介绍了基于TMS320F28377D的CLA(Control Law Accelerator)开发实战教程,涵盖基础配置、编程、调试与优化全流程。主要内容包括:CLA核心特性及其作为实时控制协处理器的优势;开发环境搭建与工程配置要点;CLA任务调度、数据交换及编程约束;调试技巧如断点设置和性能分析方法;进阶应用案例(批量除法运算)及优化策略;以及推荐的学习资源和硬件平台。教程强调数据一致性和任务同步问题,为快速上手CLA开发提供实用指导。

1043

C++ 在Ring3下的通用API HOOK

  说道API HOOK ,这已经是老掉牙的技术了,但是它的实用性却是不能忽视的。虽然在网上这类的文章很多,但大多数的实现方法是将一个函数的前5字节直接改为 jmp XXXX 。这种方法虽然简单可行,但是不通用,因为一些特殊函数的前5字节不是完整的,如果直接修改,就会截断指令,导致出错。以前在一个论坛上看到过一个用反汇编引擎实现的通用例子,感觉想法很好,于是自己也写了一个。其中用到了一个头文件LD...

weixin_30655219的博客 183

COMSOL有限元仿真深度指南:连接薄结构与实体结构(I)

COMSOL有限元仿真深度指南:如何在结构力学仿真中连接薄结构与实体结构?

忘了面孔的Batou 1万+

【OpenClaw企业级智能体实战】第10篇:医疗行业OpenClaw实战:病历自动书写、医保智能审核与患者随访管理(附HIPAA合规配置+完整代码)

医疗行业正面临“效率提升需求”与“合规监管红线”的双重矛盾:病历书写占据医生30%-50%工作时间,医保审核效率低下,患者随访工作量巨大,但医疗数据“不出域”“责任不转移”的要求又限制了AI落地。本文基于华为云、腾讯云安全规范及中关村科金、复旦大学附属中山医院等真实实践,拆解OpenClaw在医疗场景的五大核心应用(病历自动书写、医保智能审核、患者随访管理、科研文献综述、医学影像预处理),提供私有化部署架构、HIPAA合规配置模板、完整实操流程及可直接运行的代码。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 441

DOS系统重启与关机:INT 19h中断与底层硬件控制原理详解

计算机系统的重启与关机是操作系统与硬件交互的基础功能,其核心在于通过软件指令安全地控制系统状态。从原理上看,这通常涉及对BIOS中断服务的调用,例如通过特定的中断向量请求系统复位或电源管理操作。在早期的单任务操作系统中,这种机制尤为重要,因为它直接关系到数据完整性与硬件保护。例如,在MS-DOS环境下,热重启主要通过INT 19h中断实现,该中断会重新执行引导程序,而关机则需确保硬盘磁头归位,以避免物理损伤。这些底层操作不仅体现了精确的硬件控制哲学,也在嵌入式开发、系统修复和复古计算等场景中具有持续的技术价

weixin_30565327的博客 393

工业级C#+YOLOv8缺陷检测系统:准确率98.5%、延迟<50ms的完整实现

本文分享了基于C#和YOLOv8的工业级表面缺陷检测系统实现方案。针对汽车零部件冲压件检测需求(60件/分钟,准确率>98%,延迟<100ms),作者对比了多种技术方案后选择了C#+YOLOv8+ONNX Runtime的组合,最终实现98.5%准确率和42ms延迟。 系统采用分层模块化架构,包含硬件层、采集层、推理层、业务层和控制层。核心优势包括:1)C#在工业环境下的稳定性和集成便利性;2)YOLOv8对复杂缺陷的泛化能力;3)ONNX Runtime GPU加速提升性能。文章详细介绍了硬件

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1141

Frida Hook技术实战:动态绕过Android应用签名校验

在移动应用安全领域,签名校验是保障应用完整性和防止篡改的基础安全机制,其核心原理是通过比对应用签名信息来验证来源的真实性。从技术实现上看,签名校验通常分为Java层和Native层两种方式,Java层通过PackageManager API获取签名,而Native层则通过JNI调用或直接解析APK文件实现更复杂的校验逻辑。Frida作为动态代码插桩工具,其技术价值在于能够在不修改原始应用文件的前提下,通过运行时注入JavaScript代码来拦截和修改函数行为,实现非侵入式的安全分析。在应用场景上,这种动态对

weixin_34274029的博客 272

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

从零手写C++调试器:深入Windows调试API与反汇编原理

调试器是软件开发与安全分析的核心工具,其本质是通过操作系统提供的调试接口监控和控制目标进程的执行流程。在Windows平台,这主要依赖于CreateProcess、WaitForDebugEvent和ContinueDebugEvent等核心API构建的事件驱动模型。理解这一原理对于掌握软件调试、漏洞分析和逆向工程至关重要。通过实现断点系统,特别是软件断点(INT 3)和硬件断点的安装与处理机制,开发者可以深入理解CPU异常处理与程序控制流的底层交互。这些技术广泛应用于软件动态分析、恶意代码检测和游戏安全等

weixin_33868027的博客 419

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 16位汇编 call调用函数 通过栈来传递参数
下一篇: 16位汇编 int 10h和int 21h 显示字符串实例
sysprogram
博客等级 码龄17年 298粉丝 442原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值