ICode9

精准搜索请尝试: 精确搜索
  • 变量的定义声明以及变量在函数中的使用2022-09-07 08:01:23

    一、变量的定义和初始化 1 TITLE AddandSubtract,Version2 (AddSub2r.asm) 2 ; This program adds and subtracts 32-bit integers 3 ; and stores the sum in a variable. (From page 94.) 4 ; Lastupdate:

  • Linux0.11 move_to_user_mode分析2022-09-01 14:30:08

    /* * IRET * 当使用IRET指令返回到相同保护级别的任务时,也就是当前的CS中的DPL和堆栈中的DPL相同时 * IRET会从堆栈弹出代码段选择子及指令指针分别到CS与IP寄存器, * 并弹出标志寄存器内容到EFLAGS寄存器。 * * 当使用IRET指令返回到一个不同的保护级别时,也就是当前的CS中

  • 关于应用程序头部信息2022-08-27 14:34:34

    在launcher.asm的应用程序中,可以看到头部信息如下:   use32     org 0x0     db 'MENUET01' ; 8 byte id     dd 0x01 ; header version     dd START ; start of code     dd I_END

  • 编写X86的ShellCode2022-08-24 13:05:07

    ShellCode 定义 ShellCode是不依赖环境,放到任何地方都能够执行的机器码 编写ShellCode的方式有两种,分别是用编程语言编写或者用ShellCode生成器自动生成 ShellCode生成器生成的shellcode功能比较单一,常见的ShellCode生成器有shell storm、Msfvenom等 而用编程语言写的shellcode会

  • X86汇编层面的方法调用。2022-08-20 23:31:49

    本文主要描述了X64下的汇编层面的方法调用。具体来说就是一个C语言的方法被另外一个方法调用,是如果在汇编语言X64的规范中实现的。 1.假设有如下C语言文件 "test.c" 点击查看代码 int sumNine(int one, int two, int three, int four, int five, int six, int seven,

  • linux-0.11分析:boot文件 head.s 第三篇随笔2022-08-01 21:35:19

    head.s 参考 [github这个博主的][ https://github.com/sunym1993/flash-linux0.11-talk ] 改变栈顶位置 _pg_dir: startup_32: movl $0x10,%eax mov %ax,%ds mov %ax,%es mov %ax,%fs mov %ax,%gs lss _stack_start,%esp 先是分别ds,es,fs,gs的值都置成了0x10 然后这段·lss

  • LyScript 插件命令返回封装2022-07-21 21:35:24

    LyScript 自动化插件增加命令行回传参数的封装,由于x64dbg开发文档中提供的命令执行功能无法实现参数回传,导致LyScript插件无法得到内置命令执行后的返回参数,故本人想了一段时间,找到了这个解决方案。 LyScript插件文档:https://github.com/lyshark/LyScript 其实我们完全可以通过一

  • 【逆向学习】逆向学习笔记(一)2022-07-01 21:01:40

    脏字 污染逆向软件分析结果的字节。 常见的脏字 0x8e(call) 0xbe 重要的寄存器 寄存器名 用途 eax 返回值 重要的工具 Z3 IDA

  • 《CTF权威指南(pwn)》学习笔记2022-06-11 17:04:12

    第一章 知名安全会议 RSA、Black Hat、DEFCON、ISC(中国互联网安全大会) 学术顶会 CCS(A): ACM Conference on Computer and Communications Security NDSS(B): Network and Distributed System Security Symposium Oakland S&P(A): IEEE Symposium on Security & Pri

  • 内联汇编的使用,函数返回值的外部调用2022-05-24 12:00:27

    #include "windows.h" #include "stdio.h" _declspec(naked) void Fun() { _asm { push ebp; mov ebp ,esp; sub esp ,0x40; push esi; push edi; push ecx; mov eax,0xcccccccc;

  • 反汇编代码中的优化方式2022-05-14 09:01:32

    反汇编代码中的优化方式 一优化方式 优化方式分类 汇编中的加法、减法、乘法、除法 、 取模等等 都是优化方式。 优化方式的分类 常量折叠 常量传播 变量去除 归并优化 Cpu流水线优化 数学变换 不可达分支优化 代码外提优化 优化前提是在Release下且开启o2选项化速度的前提Debug

  • 汇编学习笔记2022-05-11 09:34:01

      dispmsg eax=要输出字符串地址 dispc al=要输出字符 dispcrlf 换行 disphd 以16进制输出8位 dispuid 输出无符号十进制数 dispsid 输出有符号十进制数 readmsg 入口:eax=字符串地址 出口:eax=字符数量 readc al=读入的字符 readhd eax=读入的8位十六进制数

  • C# 植物大战僵尸逆向之---Hook技术实现僵尸快速进攻的效果 (五)2022-05-08 21:01:01

    C# 植物大战僵尸逆向之---Hook技术实现僵尸快速进攻的效果 (五)   本章说明:   当然要实现僵尸快速进攻的效果有很几种实现方式,我们本章用Hook来实现该功能。   利用Hook技术,可以不用找到僵尸进攻倒计时的基址,直接修改到僵尸出现倒计时的数据,从而达到僵尸快速进攻的效果。  

  • C#语法糖系列 —— 第一篇:聊聊 params 参数底层玩法2022-05-08 12:01:23

    首先说说为什么要写这个系列,大概有两点原因。 这种文章阅读量确实高... 对 IL 和 汇编代码 的学习巩固 所以就决定写一下这个系列,如果大家能从中有所收获,那就更好啦! 一:params 应用层玩法 首先上一段 测试代码。 class Program { static void Main(string[] ar

  • 放弃所谓“右移优化除法”行为2022-04-24 17:00:53

    The Difference between Division and Arithmetic Right Shifting in C 你是否有听说过有符号数不能使用右移操作(>>)来代替除法? 这篇短文会向你证明它,并尝试向你解释为什么。当然,如果你没有听说过,那么从现在开始,记住它! Foundation: Logical Shift .vs. Arithmetic Shift 若你现在

  • 一次int转换成unsigned long数值溢出问题2022-04-17 19:03:41

    在项目中遇到一个奇怪的宕机问题,后来查询定位发现是erlang底层数据溢出问题,用c模拟情况类似,当一个int类型的x值大于等于1<<25的时候,再左移6位会造成nt溢出,然后再强转成64位无符号整数。 test_int.c #include <stdio.h> int main(){ int a = 1; int x = (a<<25); int

  • WindowsPE权威指南学习过程中的代码片段2022-04-02 23:32:50

    第一个基础的HelloWorld .386 .model flat,stdcall option casemap:none include windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib .data szText db 'HelloWorld',0 .code start: invoke MessageBox,NULL,o

  • 微信机器人之PC微信hook2022-03-18 18:10:16

    想实现微信机器人软件的主要构成分为一个主进程exe和一个注入的dll,主进程exe:把dll注入到微信,发送指令给dll,接受dll的信息,注入的dll:被注入到微信内部,拦截微信的数据,调用微信的功能接收主进程的指令,执行指令对应的操作、发信息给主进程,通过这样的操作,就能实现获取信息和发送信息的最

  • 你管这叫操作系统源码(三)2022-02-28 21:03:25

    文章目录 重新设置idt和gdtIntel内存管理:分段与分页进入main前的最后一跃资料 重新设置idt和gdt 正式进入 c 语言写的 main.c 之前的 head.s 究竟写了点啥?head.s 文件很短: _pg_dir: _startup_32: mov eax,0x10 mov ds,ax mov es,ax mov fs,ax mov gs

  • 计算机系统-汇编基础2022-02-27 22:58:56

    一.寄存器&数据传送mov指令 1.80386通用寄存器         16位:AX,BX,CX,DX;SI,DI;SP,BP;         8位:AH,AL;BH,BL;CH,CL;DH,DL         32位:EAX,EBX,ECX,EDX;ESI,EDI;ESP,EBP         段寄存器:DS,ES,SS等 2.AT&T汇编代码         格式:指令 源

  • 数组和指针的区别2022-02-20 01:04:09

    // test.c void test() { char array[4] = {0}; *(array + 0) = 0x00; array[1] = 0x11; *(array + 2) = 0x22; array[3] = 0x33; char *pointer = array; pointer[0] = 0x00; pointer[1] = 0x11; pointer[2] = 0x22; pointer[3] = 0

  • 反汇编分析C语言2022-02-08 16:36:29

    环境 VC6.0环境 空函数反汇编 #include "stdafx.h" void function(){ } int main(int argc, char* argv[]) { function(); printf("Hello World!\n"); return 0; } 我们通过反汇编来分析这段空函数 ###函数外部 10: function(); 00401068 call @ILT+5(functi

  • APC 篇—— APC 执行2022-02-06 17:01:17

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信

  • 句柄表篇——总结与提升2022-02-05 21:32:05

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信

  • day01.2-初识汇编2022-02-02 13:02:51

    一、逻辑运算 逻辑运算:与(and)、或(or)、亦或(xor)、非(not) 计算机除了数据,还要做运算,二进制之间会进行逻辑运算,计算机不会加减乘除,这些运算计算机都是通过移位或者通过逻辑运算实现的。因为计算机只认识二进制数,所以所有的加减等运算都是通过CPU对二进制数据做逻辑运算实现的 比

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

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

ICode9版权所有