逆向-beginners之九个参数

这篇具有很好参考价值的文章主要介绍了逆向-beginners之九个参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#include <stdio.h>

int main()
{
    printf("a=%d, b=%d, c=%d, %d, %d, %d, %d, %d, %d\n", 
            1, 2, 3, 4, 5, 6, 7, 8, 9);
    return 0;
}


#if 0

/*
 * x64 传递9个参数
 */
    win64 使用RCX, RDX, R8, R9传递前4个参数,其余的参数使用栈来传递。

#endif

#if 0
/*
 * intel
 */
0000000000001149 <main>:
    1149:    f3 0f 1e fa              endbr64 
    114d:    55                       push   %rbp
    114e:    48 89 e5                 mov    %rsp,%rbp
    1151:    6a 09                    pushq  $0x9
    1153:    6a 08                    pushq  $0x8
    1155:    6a 07                    pushq  $0x7
    1157:    6a 06                    pushq  $0x6
    1159:    41 b9 05 00 00 00        mov    $0x5,%r9d
    115f:    41 b8 04 00 00 00        mov    $0x4,%r8d
    1165:    b9 03 00 00 00           mov    $0x3,%ecx
    116a:    ba 02 00 00 00           mov    $0x2,%edx
    116f:    be 01 00 00 00           mov    $0x1,%esi
    1174:    48 8d 3d 8d 0e 00 00     lea    0xe8d(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    117b:    b8 00 00 00 00           mov    $0x0,%eax
    1180:    e8 cb fe ff ff           callq  1050 <printf@plt>  // printf(rdi, esi, edx, ecx, r8d, r9d, rsp, rsp-0x8, rsp-0x10, rsp-0x18)
    1185:    48 83 c4 20              add    $0x20,%rsp
    1189:    b8 00 00 00 00           mov    $0x0,%eax
    118e:    c9                       leaveq 
    118f:    c3                       retq   

/*
 * arm
 */
000000000040055c <main>:
  40055c:    d10083ff     sub    sp, sp, #0x20
  400560:    a9017bfd     stp    x29, x30, [sp, #16]
  400564:    910043fd     add    x29, sp, #0x10
  400568:    90000000     adrp    x0, 400000 <_init-0x3e8>
  40056c:    9119a008     add    x8, x0, #0x668
  400570:    52800120     mov    w0, #0x9                       // #9
  400574:    b9000be0     str    w0, [sp, #8]
  400578:    52800100     mov    w0, #0x8                       // #8
  40057c:    b90003e0     str    w0, [sp]
  400580:    528000e7     mov    w7, #0x7                       // #7
  400584:    528000c6     mov    w6, #0x6                       // #6
  400588:    528000a5     mov    w5, #0x5                       // #5
  40058c:    52800084     mov    w4, #0x4                       // #4
  400590:    52800063     mov    w3, #0x3                       // #3
  400594:    52800042     mov    w2, #0x2                       // #2
  400598:    52800021     mov    w1, #0x1                       // #1
  40059c:    aa0803e0     mov    x0, x8
  4005a0:    97ffffac     bl    400450 <printf@plt>    // printf(x0, w1, w2, w3, w4, w5, w6, w7, sp, sp+8)
  4005a4:    52800000     mov    w0, #0x0                       // #0
  4005a8:    a9417bfd     ldp    x29, x30, [sp, #16]
  4005ac:    910083ff     add    sp, sp, #0x20
  4005b0:    d65f03c0     ret


#endif文章来源地址https://www.toymoban.com/news/detail-733456.html

到了这里,关于逆向-beginners之九个参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Win10 添加或删除功能时报错:0x80073701,找不到引用的汇编 (ERROR_SXS_ASSEMBLY_MISSING)

    问题描述: 当通过控制面板或DISM命令或PowerShell命令Enable-WindowsOptionalFeature修改Windows功能时,可能会遇到此报错,导致功能修改失败。 关于这个问题的来源,英文版的错误信息很明确:ERROR_SXS_ASSEMBLY_MISSING,有SXS组件找不到,中文机翻痕迹明显,压根看不懂是啥意思。 如果你

    2024年02月05日
    浏览(39)
  • 汇编语言(Assembly Language)习题:键盘输入一个字符串,试将其中的小写字母转换为大写字母,其它字符保持不变。

    前置知识:汇编语言常用系统功能调用(如果懂直接跳过看题目详解) 格式: 功能:从键盘输入字符的ASCII码送入寄存器AL中,并送显示器显示。 格式: 功能:将DL寄存器中的字符送显示器显示,如果DL中为〈CTRL〉+〈BREAK〉的ASCII码,则退出。 格式: 功能:将DL寄存器中的字

    2024年02月03日
    浏览(33)
  • 安天逆向教程——常用汇编语句

          反汇编时更多关注这些条件分支。如果看懂这些条件分支,会对程序的大体逻辑有一个整体的了解。 至于程序里面的细节,有时会省略掉。往往关键的跳转理解了甚至进行一点点的改动,就会使得程序发生翻天覆地的变化。    

    2024年02月16日
    浏览(25)
  • 反汇编逆向实战——扫雷辅助制作

    刚开始是预备知识,如果熟悉的话,可以直接跳到第二部分阅读 在 Windows API 中, SetTimer 函数用于创建一个定时器,并在指定的时间间隔后触发一个定时器消息。以下是关于 SetTimer 函数的介绍: 功能:创建一个定时器,并在指定的时间间隔后触发定时器消息。 参数: hWnd:

    2024年02月08日
    浏览(28)
  • 滴水逆向3期笔记与作业——01汇编

    防止OneNote丢失。 海哥牛逼。 函数功能: MOV EAX,DWORD PTR SS:[EBP+8] ADD EAX,DWORD PTR SS:[EBP+C] 作业1 主要功能 作业2 主要功能 5+6-5+0xA=0x10 作业3 主要功能 比较5,0C和9的最大值 计算7+6+5+4+3+2+3+2=0x20 海哥牛逼。

    2023年04月25日
    浏览(17)
  • 【软件逆向-分析工具】反汇编和反编译工具

    目录 一、IDA 1.1、简介: 1.2、使用方法: (1)IDA打开文件 (2)IDA主窗口介绍 (3)IDA的基本使用 二、调试器 2.1、简介: 2.2、Ollydbg (1)主界面 (2)断点操作 (3)代码跟踪操作 2.3、gdb (1)简介: (2)安装 (3)基本的调试操作 三、Trace类工具 3.1、简介: 3.2、Qira 反汇

    2024年02月04日
    浏览(29)
  • IDA-逆向分析-工具教程-IDA简介-反汇编工具-功能窗口

    介绍了IDA反汇编原理分为, 线性扫描反汇编和递归下降反汇编 。比较了两者的优点和缺点。线性扫描反汇编算法采用一种非常简单的方法来确定需要反汇编的指令的位置:一条指令结束、另一条指令开始的地方。因此,确定起始位置最为困难。常用的解决办法是,假设程序

    2024年02月10日
    浏览(33)
  • 二进制代码反汇编逆向工具:IDA Pro(Win&Mac)v7.7 汉化版

    IDA Pro是一款交互式的、可编程的、可扩展的、多处理器的、交叉Windows或Linux WinCE MacOS平台主机来分析程序。它被公认为最好的花钱可以买到的逆向工程利器,已经成为事实上的分析敌意代码的标准并让其自身迅速成为攻击研究领域的重要工具。 功能丰富:IDA Pro提供了诸多功

    2024年02月20日
    浏览(35)
  • 《算法还原 - CTF》逆向exe程序 + ida Pro 反汇编分析伪C代码 + python算法复现

    二进制安全,能干什么 逆向分析: 负责成品软件的技术原理. 比如分析竞品软件,吸取技术上的优点,进行技术难点公关 病毒分析: 负责分析病毒样本.研究恶意代码的技术手段等工作.主要是在安全公司,尤其是在杀毒软件公司需求较多.如360 、腾讯电脑管家等. 漏洞挖掘分析: 负责

    2024年01月22日
    浏览(37)
  • dx滑块逆向及ac参数逆向

    网址:aHR0cHM6Ly93d3cuZGluZ3hpYW5nLWluYy5jb20vYnVzaW5lc3MvY2FwdGNoYQ== 目录 声明  本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包