首页 > TAG信息列表 > ECX

stdshared_ptr 采坑记录

std::shared_ptr 采坑记录 class MyClass { public: MyClass(); ~MyClass(); int GetNumber(); private: }; MyClass::MyClass() { printf(__FUNCTION__); } MyClass::~MyClass() { printf(__FUNCTION__); } int MyClass::GetNumber() { printf(__FUNCTION__); return

Delphi System.Insert -从指定位置开始,将子字符串插入字符串(或将动态数组插入动态数组)

Delphi System.Insert -从指定位置开始,将子字符串插入字符串(或将动态数组插入动态数组) 原型: procedure _Insert{ source : ShortString; var s : openstring; index : Integer }; asm { ->EAX Pointer to source string } { EDX Pointer to destinatio

为什么 C# 访问 null 字段会抛异常?

一:背景 1. 一个有趣的话题 最近在看 硬件异常 相关知识,发现一个有意思的空引用异常问题,拿出来和大家分享一下,为了方便讲述,先上一段有问题的代码。 namespace ConsoleApp2 { internal class Program { static Person person = null; static void Main(st

C++构造、析构,四个调用约定

   1).识别构造       1.构造函数优先调用       2.ecx传参,且函数内部会将ecx给this赋值(this可能是一块内存空间,也可能是寄存器变量)且返回this指针       3.可以点击this指针,可能会有多次调用       注: 构造析构都是thiscall,不能修改     

ecx单机部署方案

单机部署方案       约定   操作系统:Centos 7.0 x64   域名: 文档内域名规划参见 系统部署/准备/域名​   操作权限: root 服务清单   supervisorctl > 3.0   neo4j 3.5.x   mysql 5.7

delete与delete []的区别

一直很好奇delete 和 delete []有什么不同?今天我从汇编的角度看一看 测试源代码 #include <iostream> int main() { char* data1 = new char[10]; char* data2 = new char[10]; std::cout << data1 << data2 << std::endl; delete[] data1; delete data2;

函数调用约定, 以及特殊种类

C/C++函数调用约定 调用方式 参数 栈恢复 __fastcall ecx,edx,esp n __stdcall esp 0 __cdecl esp n __stdcall(class) ecx,esp n __cdecl(class) ecx,esp 0 __fastcall(class) ecx,edx,esp n 以上为VS2010, 实际程序有些特殊约定方式(其他编译器,

反调试——8——虚拟机检测

反调试——8——虚拟机检测 其实虚拟机检测也无外乎就是检测一些虚拟机特有的特征,然后来判断是否是在虚拟机里面,比如说这里(查看系统中运行的服务):     但是不能直接盲目的通过VMware这六个关键字母就判断是在虚拟机里面了,因为你的电脑如果开了虚拟机,也会有一些VMware开头的虚拟

11.10-10-12分页

目录 0.Win7设置10-10-12分页 1.10-10-12分页规则 2.10-10-12分页PDE PTE属性探测 <1>.P位 <2>.R/W位 <3>.U/S位 <4>.PS位 <5>.A位 <6>.D位 3.PDT PTT 基址 4.MmIsAddressValid(Win x86 10-10-12) 5.代码实例 <1>.通过代码给0线性地址挂物理页并读写 <2>.0线性地址实现SHELLCODE

10.任务门(Task Gate)

目录 0.任务门描述符 1.任务门执行流程 2.任务门权限检查 3.任务门示例 <1>.任务门 <2>.任务门详细版本 <3>.任务门进R1 <4>.任务门进R1详细版本  0.任务门描述符 高4字节 15-12(BIT) P == 1(有效段描述符) DPL == 11/00(段描述符权限 0/3 Windows未使用1 2环) S == 0(系统

网络游戏逆向分析-7-人物背包遍历

网络游戏逆向分析-7-人物背包遍历   前面我们找到了使用人物背包的函数调用,但是并不完美,因为我们需要处理一些参数,比如说用背包第二个物品,就需要push 1像数组一样从0 1 2 4 5 6这样来数,这对于程序员来说没问题,但是对于使用者肯定是不好的,所以我们需要得到背包的内容,来遍历背包,再

生成shellcode并自动提取:

//生成shellcode并自动提取: #include <stdio.h> #include <Windows.h> int main(int argc, char * argv[]) { DWORD Start, End, Len; goto GetShellCode; __asm { ShellCodeStart: mov ebx, dword ptr fs : [0x30] mov ecx

IF多分支逆向分析

IF多分支逆向分析 案例 CPP代码 #include "stdafx.h" int cnt; void Function(int x, int y) { if (x == 1) { cnt = 1; } else if (y == 1) { cnt = 1; } else { cnt = 0; } } int main(int argc, char* argv[]) { Function(2,3); return 0; } 反汇编代码 00401068

【reverse】逆向3 寻找地址

【reverse】逆向3 寻找地址 寻址公式一:[立即数] 读取内存的值: mov eax,dword prt ds:[0x13FFC4] 将内存编号为0x13FFC4、0x13FFC5、0x13FFC6、0x13FFC7的数据写入eax中 向内存中写入数据 mov dword prt ds:[0x13FFC4],eax 将eax的数据写入内存编号为0x13FFC4、0x13FFC5、0x13FFC

pwnable_orw

pwnable_orw 1.ida分析        首先程序的第一个函数实现了一个沙盒的功能,禁止提权和只能调用一部分的函数。 所以大概思路就是写入shellcode打开flag然后读出来。 2.查看可用函数    刚好open,read,write函数都可以使用。 3.解决 exp from pwn import * from LibcSearch

两个64位数值的相减(AT&T汇编)

  代码如下: .section .data data1: .quad 7252051615 data2: .quad 5732348928 output: .asciz "The result is %qd\n" .section .text .globl main main: nop movl data1, %ebx movl data1+4, %eax movl data2, %edx movl data2+4

网络游戏逆向分析-3-通过发包函数找功能call

网络游戏逆向分析-3-通过发包函数找功能call 网络游戏和单机游戏的分析有相似点,但是区别还是很大的。 网络游戏和单机游戏的区别: 网络游戏是需要和服务器进行交互的,网游中的所有功能几乎都会先发送封包数据到服务器,然后有服务器做出判断后反馈给客户端,客户端才会产生对应的相关

进入32位保护模式之路

; haribote-os boot asm ; TAB=4 BOTPAK EQU 0x00280000 DSKCAC EQU 0x00100000 DSKCAC0 EQU 0x00008000 ; BOOT_INFO CYLS EQU 0x0ff0 ; 设定启动区 LEDS EQU 0x0ff1 VMODE EQU 0x0ff2 ; 关于颜色数目的信息 颜色的位数 SCRNX EQU 0x0ff4 ; 分辨率

OD入门笔记

指令 解释 OD汇编指令 NOP 无操作 PUSH 将数据压如堆栈中 POP 出栈(与PUSH相反) PUSHAD 所有通用寄存器的内容按一定顺序压入到堆栈中,相当于 ’PUSH EAX,PUSH ECX,PUSH EDX,PUSH EBX,PUSH ESP,PUSH EBP,PUSH ESI, PUSH EDI’ POPAD 该指令与PUSHAD正好相反,它从

大神论坛 逆向分析 Internet Download Manager 序列号算法 附IDM注册机完整源码

## 1\. 前言 ### **idm version : 6.38 Build 23** ## 2.算法逆向 ### IDM的序列号验证函数定位在: ### 下面是在IDA下的代码分析: ```.text:00510010 push ebp.text:00510011 lea ebp, [esp-1FCh].text:00510018 sub

linux_0.11-memory.c-get_free_page

unsigned long get_free_page (void) {   register unsigned long __res asm ("ax");  __asm__ ("std ; repne ; scasb\n\t"     "jne 1f\n\t"     "movb $1,1(%%edi)\n\t"     "sall $12,%%ecx\n\t"     "

让程序进入ring0级执行

   让程序进入ring0级执行      在保护模式下,ring0有至高无上的权限,他一直是很多***程序员追求的目标,在NT平台上,MS对系统表格作了保护,不能在象win9x那样,去直接修改系统表格,但是还是有不少办法能够进入ring0的,例如,在国内,最早sinister利用编写驱动程序的方法进入ring0,这也

【老刘谈算法】多次多项式的快速求值——字符串转双字函数分析(2)

在Masm32Lib中给出了3个十进制的字符串转双字函数,其1和其2如下, a2dw.Asm; #########################################################################     ; --------------------------------------     ; This procedure was written by Iczelion     ;

【老刘谈算法】直接从内存中找答案——字符串转双字函数分析(3)

a2dw.asm; #########################################################################     ; --------------------------------------     ; This procedure was written by Iczelion     ; --------------------------------------       .386

【老刘谈算法】这位运算玩的真溜—strlen函数的汇编实现分析

首先挂下代码,;原函数作者为Agner Fog,出处为MASM32开发包,在此表示感谢。 ;中文注释修改&添加 By 老刘。     .486     .model flat, stdcall     option casemap :none     .code OPTION PROLOGUE:NONE  OPTION EPILOGUE:NONE  align 4 StrLen