- 2025-01-05Win32汇编学习笔记05
定位关键点3种方法:过程函数api字符串但是不确定用要哪一种方法,可以3种方法都用一下,因为在不同的程序,实用的方法是不一样的窗口程序看控件信息1.通过OD去看还可以用spy++查看还可以用vs2019,打开软件,找到对应控件直接看属性一般拿句柄没用,因为按钮是响应WM_
- 2025-01-03Win32汇编学习笔记03.RadAsm和补丁
https://bpsend.net/thread-163-1-1.html补丁扫雷游戏啊下补丁在扫雷游戏中,点关闭弹出一个确认框,确认之后再关闭,取消就不关闭首先第一步就是确认关闭按钮响应的位置,一般都是WM_CLOSE的消息,消息响应一般都在过程函数,所以就是要定位到过程函数,我们知道MC项目中,
- 2024-12-30汇编指令4
"imul"有符号数相乘有三个操作数,第一个操作数默认和eax相乘,当有两个操作数的时候,默认最后结果赋给左值,当有三个操作数的时候,第三个操作数一定是一个立即数(不能是寄存器和内存地址),第二个操作数可以是寄存器也可以是内存地址,第二个操作数和第三个操作数相乘并赋给左值.1.1可自
- 2024-12-10如何通过PMP认证?5个准备步骤让你轻松通过考试!
一、了解PMP考试基本信息考试概述PMP考试作为全球范围内具有权威性的项目管理专业认证考试,由美国项目管理协会(PMI)发起,在中国则由中国国际人才交流基金会负责举办。该考试每年会有多次机会,为广大项目管理从业者提供了较为灵活的考试时间选择。考试形式为笔试,采用中英文对
- 2024-09-04神奇的C语言输出12天圣诞节歌词代码
12天圣诞节程序怎样运行?1988年,一个令人印象深刻且令人敬畏的C代码,代号为xmas.c,在国际混淆C代码竞赛中获胜。该程序甚至比其输出的“压缩”类型还要小,代表了文本压缩标准的全新方式。评委们认为,这个程序像是随意敲击键盘所得到的。但该程序神奇地打印出12天圣诞节的歌词,仅仅
- 2024-08-23初学 Delphi 嵌入汇编[3] - 第一个 Delphi 与汇编的例子
前面知道了一个汇编的赋值指令(MOV),再了解一个加法指令(ADD),就可以做个例子了.譬如:ADDAX,BX;这相当于Delphi中的AX:=AX+BX;另外提前来个列表-Delphi可以用汇编管理以下寄存器:32位寄存器:EAXEBXECXEDXESPEBPESIEDI16位寄存器:AXBXCXDXSPBPSID
- 2024-05-31汇编:调用C函数
在32位汇编程序中可以调用C函数;这种做法在很多情况下是有用的,尤其是在汇编程序需要与C代码进行交互或利用C语言的库函数时。下面是一些情况下使用汇编调用C函数的常见情景:①优化性能:某些特定的任务可能用汇编语言编写更有效率,但与此同时,一些其他功能可以使用C语言的库函数来
- 2024-05-31记一次 .NET某工业设计软件 崩溃分析
一:背景1.讲故事前些天有位朋友找到我,说他的软件在客户那边不知道什么原因崩掉了,从windows事件日志看崩溃在clr里,让我能否帮忙定位下,dump也抓到了,既然dump有了,接下来就上windbg分析吧。二:WinDbg分析1.为什么崩溃在clr一般来说崩溃在clr里都不是什么好事情,这预示着cl
- 2024-05-27第一周
汇编语言vscode反汇编-execdisassemble/m-execdisassemble/mmain-execinforegisters//寄存器信息字节长度1byte=8bits1word=2bytes=16bits1dword=4bytes=32bits逻辑运算运算andorxor00000010111001111110计算机加法
- 2023-11-09CMU-15213 笔记
Recitation4讲了一些GDB常用操作,虽然不少已经在CS61C里面学过了,但是保险起见还是在这里再记录一下几个不熟悉的clearmain//removethebreakpointatfunctionmain(gdb)print(char*)[0x...]//printsastring(gdb)printargv[1](gdb)disassemblemain//show
- 2023-10-18Windows下VC++编译器32位memcpy、memmove函数汇编代码详解
整理者:赤勇玄心行天道QQ号:280604597微信号:qq280604597QQ群:511046632博客:www.cnblogs.com/gaoyaguo blog.csdn.net/cyz7758520?type=blog大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的!你可以随意转载,无需注明出处!写文档实属不易,我希望大家能支
- 2023-09-278.9 RDTSC时钟检测反调试
RDTSC时钟检测同样可实现反调试检测,使用时钟检测方法是利用rdtsc汇编指令,它返回至系统重新启动以来的时钟数,并且将其作为一个64位的值存入EDX:EAX寄存器中,通过运行两次rdstc指令,然后计算出他们之间的差值,即可判定对方是否在调试我们的程序。可以利用时钟检测技术来检测程序是否被
- 2023-08-245.12 汇编语言:仿写While循环语句
循环语句(While)一种基本控制结构,它允许程序在条件为真的情况下重复执行一段代码块,直到条件为假为止。循环语句在处理需要重复执行的任务时非常有用,它可以让程序更加高效地处理大量数据或者重复性操作。一般来说,While循环由一个条件表达式、一个代码块组成。在每次循环迭代开始时,程
- 2023-08-20常见反调试技术
反调试技术一.使用WindowsAPI函数1.IsDebuggerPresent函数2.CheckRemoteDebuggerPresent函数3.OutputDebuggerPresent函数二.手动检测数据结构1.检测BeingDebugged属性BeingDebugged属性位于PEB结构的第二个字节位置处moveax,dwordptrfs:[30h];//fs:[30h]指向的
- 2023-07-15++b 和 a++ 的区别 看汇编代码
汇编代码解释如下intx=a++;00F088338B45F8moveax,dwordptr[a]00F088368945E0movdwordptr[x],eax00F088398B4DF8movecx,dwordptr[a]00F0883C83C101a
- 2023-06-13.Net7基础类型的优化和循环克隆优化
前言.Net7里面对于基础类型的优化,是必不可少的。因为这些基础类型基本上都会经常用到,本篇除了基础类型的优化介绍之外,还有一个循环克隆的优化特性,也一并看下。概括1.基础类型优化基础类型的优化不会有些不会涉及ASM,主要是记忆。一:double.Parse和float.Parse,把某数值转换成d
- 2023-05-30shellcode的一个demo例子
handy-shellcodeBinaryExploitation,50pointsDescription:Thisprogramexecutesanyshellcodethatyougiveit.Canyouspawnashellandusethattoreadtheflag.txt?#include<stdio.h>#include<stdlib.h>#include<string.h>#include&l
- 2023-05-11中/后缀表达式
目录0x01什么是后缀表达式0x02后缀表达式的具体应用0x031JAVA的后缀表达式源码反编译BYTECODEJAVAC的实现二元表达式树节点对象运行时二元表达式树执行过程0x032C的后缀表达式源码反汇编0x03简单实现中缀转后缀表达式后缀转中缀表达式0x04总结纸上得来终觉浅,绝知此事要躬行
- 2023-04-22C++恶意软件开发(五)Linux shellcoding
什么是shellcode?Shellcode通常指的是一段用于攻击的机器码(二进制代码),可以被注入到目标计算机中并在其中执行。Shellcode的目的是利用目标系统的漏洞或弱点,以获取系统控制权或执行恶意操作。它的名称来自于它经常被注入到攻击者编写的恶意软件的shell环境中,以便让攻击者可以更
- 2023-04-20记一次 腾讯会议 的意外崩溃分析
一:背景1.讲故事前段时间在用腾讯会议直播的时候,居然意外崩溃了,还好不是在训练营上课,不然又得重录了,崩完之后发现腾讯会议的bugreport组件会自动生成一个minidump,截图如下:作为一个.NET高级调试的技术博主,非.NET的程序也得要研究研究哈
- 2023-04-17this指针 (保存调用成员函数对象的地址)
1.在调用成员函数前,先将对象地址存入ecx寄存器,进入函数后将ecx压栈保存对象地址,当需要用到this指针时,再弹栈取出赋值给函数内部自带的一个this指针2.数据成员是由this指针+偏移取到的。类的对齐规则和结构体一致3.静态成员函数没有this指针4.若函数形参和成员
- 2023-04-03汇编中数组的加法运算-包含进位
;***************************************************************TITLE数组求和;***************************************************************;***************************************************************;*程序的运行环境,最低环境是386,数据段和代
- 2023-04-03shellcode获取MessageBoxA的地址
_asm{pushebpmoveax,fs:[30h];获得PEB地址moveax,[eax+0ch];获得LDR地址moveax,[eax+14h];获得PEB_LDR_DATA中InMemoryOrderModuleList的Flinkmovecx,eax;因为eax中的Flink也就是等于LDR_DATA_TABLE_ENTRY