ICode9

精准搜索请尝试: 精确搜索
  • 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,

  • 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

  • ximo脱壳教程5:手脱PECompact2.X的壳2022-02-25 20:31:29

    PECompact 2.x -> Jeremy Collake 1。单步 2。ESP定律 3。BP VirtualFree SHIFT+F9,取消断点 ALT+F9 查找 push 8000(特征码) 运行到这 单步跟 4。BP VirtualFree 两次SHIFT+F9 中断后取消断点,Alt+F9返回单步走。 5.0040A86D > B8 74DE4500 mov eax,qqspirit.0045DE74 bp 0045

  • 函数调用约定, 以及特殊种类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, 实际程序有些特殊约定方式(其他编译器,

  • 有符号费非负2的幂的第一种除法优化2021-12-26 15:04:56

    感觉这一种比较简单,就是\(\frac{x}{c} = x * \frac{2^n}{c}*\frac{1}{2^n}\)的除法优化而已,只不过魔术M是负数而已 但是gcc编译的优化方式略有不同 请看下图 当c<0时,\(\frac{x}{c} = -\frac{x}{-c} = - (x*\frac{2^n}{-c}*\frac{1}{2^n})\) 所以上面的0x66666667是 \(\frac{2^n}

  • 除法优化有符号-2的幂逆向还原2021-12-21 23:35:10

    现在我们来逐步分析每一条代码的作用 push ecx 这条代码实际上是为了将esp-4,腾出一个局部变量的栈空间 lea eax,dword ptr ss:[esp] 将刚刚增加的栈空间的地址放入eax中 mov dword ptr ss:[esp],0 初始化这个变量 push eax 将变量地址作为第二个参数入栈 push 0xE47160 将字符

  • 2.4 OpenEuler中C语言中的函数调用测试2021-12-05 22:34:32

    2.4 OpenEuler中C语言中的函数调用测试 任务详情 在X86_64架构下实践2.4中的内容 通过GDB查看寄存器的内容,把教材中的图填入具体的值 把2.4的C代码在OpenEuler中重新实践一遍,绘制出ARM64的逻辑框图 任务一X86_64架构下实践2.4 操作环境: Ubuntu Kylin 2.4.1 code #include <stdi

  • 考试二级C++辅导(四)2021-12-05 14:31:30

    再来看看相应的汇编码:   5: int a = 20;   00401028 mov dword ptr [ebp-4],14h   6: int & b = a;   0040102F lea eax,[ebp-4]   00401032 mov dword ptr [ebp-8],eax   7: b ++;   00401035 mov ecx,dword ptr [ebp-8]   00401038 mov edx,dword ptr [ecx]

  • C++内嵌C内嵌汇编 套娃2021-11-02 11:34:35

    #include <iostream> extern "C" { #include "stdio.h" void print() { const char* s = "Hello asm\n"; int len = 10; printf("Hello C\n"); asm volatile( "movl $4, %%eax\n" 

  • Gos —— 获取物理内存容量2021-10-25 16:02:18

    文章目录 linux 中获取内存信息的方法0xe820:遍历主机上全部内存0xe801:分别检测低15MB和16MB~4GB的内存**ah = 0x88**:检测64MB内存最终实现 参考文献 写在前面:自制操作系统Gos 第二章第六篇:主要内容是如何获取内存信息 linux 中获取内存信息的方法 大家可能在想,我们获取

  • 反调试——8——虚拟机检测2021-10-11 03:00:59

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

  • 萌新玩的第二个CM学习笔记2021-10-01 22:03:39

    CrackMe的地址 第一个反调试 ,在403150 ret (通过异常找到了反调试地址) CRC校验 (通过给407C00 按钮事件下硬件访问断点) 改成这样 , 或直接在404600ret 407C00 按钮事件 ( 往下跟 , 在407C2B看到了花指令 ,和反调试的标志位 发现了获取编辑框内容( 密码长度需要12位,且不能为空 ,

  • 生成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

  • Java CAS 原理分析,聊一聊MySQL数据库中的那些锁2021-09-06 10:01:37

    `public class AtomicInteger extends Number implements java.io.Serializable { // setup to use Unsafe.compareAndSwapInt for updates private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final long valueOffset; sta

  • PECompact(3.02.2)脱壳记录2021-08-11 21:31:07

    1.查壳 2.find OEP 3.dump 4.fix   die查壳:        x32dbg调试脱壳,找OEP: 入口点: mov eax,idaprohelper.44B51C push eax push dword ptr fs:[0] mov dword ptr fs:[0],esp xor eax,eax mov dword ptr ds:[eax],ecx seh异常处理函数     设置忽略异常     异常处

  • 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

  • 【汇编语言与计算机系统结构笔记08】如何实现循环(Loops),gcc历史上经历了多种转换模式(微体系结构角度解释),Switch语句,跳转表2021-06-22 16:06:15

    本次笔记内容: 09.控制流-2 文章目录 练习题:条件转移指令局限性 如何实现循环(Loops) “Do-While”循环实例 “While”循环版本 “While”循环版本1 “While”循环版本2 “For” -> “While” -> “Do-While” 为什么gcc历史上经历了多种转换模式? 以“While”转换成“jump-to-mi

  • 【汇编语言与计算机系统结构笔记06】地址计算指令,lea / leal,x86-32与x86-64下的swap对比,汇编的格式对比(Intel/Microsoft Differs from GAS)2021-06-22 16:05:50

    本次笔记内容: 07.寻址模式与数据传输指令等-2 文章目录 变址寻址 寻址模式实例 总结mov指令 地址计算指令 lea 整数计算指令 将leal指令用于计算 实例1 实例2 x86-32与x86-64的数据类型宽度 x86-64的通用寄存器 x86-32与x86-64下的swap对比 小结:x86指令的特点 扩展:x86汇编的格

  • 网络游戏逆向分析-3-通过发包函数找功能call2021-06-18 20:04:28

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

  • 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"     "

  • 【老刘谈算法】多次多项式的快速求值——字符串转双字函数分析(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

  • 汇编------双向循环链表2021-03-30 12:32:08

    .section .rodata .LC0:.string "%d " //struct node //{ // int value; // struct node *pre; // struct node *next; //} // // //struct list //{ // struct node nod; // int count; //} .section .text //void init(struct list *ls); init: pushl %ebp

  • 关键词restrict,const,volatile2021-03-27 11:04:33

    本文转载自:https://blog.csdn.net/SMF0504/article/details/51290499?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161681326616780274171912%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161681326616780274171912

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

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

ICode9版权所有