ICode9

精准搜索请尝试: 精确搜索
  • stdshared_ptr 采坑记录2022-07-28 07:00:36

    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 -从指定位置开始,将子字符串插入字符串(或将动态数组插入动态数组)2022-07-13 12:02:04

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

  • 为什么 C# 访问 null 字段会抛异常?2022-06-21 09:05:16

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

  • C++构造、析构,四个调用约定2022-06-16 13:03:29

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

  • ecx单机部署方案2022-04-18 12:01:52

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

  • delete与delete []的区别2022-02-06 20:00:20

    一直很好奇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;

  • 函数调用约定, 以及特殊种类2022-01-04 19:02:00

    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——虚拟机检测2021-10-11 03:00:59

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

  • 11.10-10-12分页2021-09-21 16:35:05

    目录 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)2021-09-21 12:06:26

    目录 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-人物背包遍历2021-09-17 01:00:05

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

  • 生成shellcode并自动提取:2021-09-11 17:03:31

    //生成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多分支逆向分析2021-08-23 03:00:07

    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 寻找地址2021-07-31 14:31:29

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

  • pwnable_orw2021-07-22 15:34:34

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

  • 两个64位数值的相减(AT&T汇编)2021-07-21 21:03:49

      代码如下: .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-通过发包函数找功能call2021-06-18 20:04:28

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

  • 进入32位保护模式之路2021-06-14 09:31:20

    ; 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入门笔记2021-06-11 21:33:09

    指令 解释 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注册机完整源码2021-06-06 09:35:05

    ## 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_page2021-06-01 22:52:04

    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级执行2021-04-25 21:07:38

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

  • 【老刘谈算法】多次多项式的快速求值——字符串转双字函数分析(2)2021-04-14 11:57:39

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

  • 【老刘谈算法】直接从内存中找答案——字符串转双字函数分析(3)2021-04-14 11:57:23

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

  • 【老刘谈算法】这位运算玩的真溜—strlen函数的汇编实现分析2021-04-13 15:05:21

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

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有