小编Pet*_*des的帖子

如何强制执行有损 AND 例程?

我想知道是否有任何标准方法可以通过蛮力逆转 AND 例程。例如,我有以下转换:

MOV(eax, 0x5b3e0be0)  <- Here we move 0x5b3e0be0 to EDX.
MOV(edx, eax)  # Here we copy 0x5b3e0be0 to EAX as well.
SHL(edx, 0x7)  # Bitshift 0x5b3e0be0 with 0x7 which results in 0x9f05f000
AND(edx, 0x9d2c5680)  # AND 0x9f05f000 with 0x9d2c5680 which results in 0x9d045000
XOR(edx, eax)  # XOR 0x9d045000 with original value 0x5b3e0be0 which results in 0xc63a5be0
Run Code Online (Sandbox Code Playgroud)

我的问题是如何蛮力和反转这个例程(即将 0xc63a5be0 转换回 0x5b3e0be0)

我的一个想法(不起作用)是使用 PeachPy 实现:

#Input values
MOV(esi, 0xffffffff) < Initial value to AND with, which will be decreased by …
Run Code Online (Sandbox Code Playgroud)

math x86 assembly reverse-engineering

-2
推荐指数
1
解决办法
118
查看次数

我可以在不使用 EBX 的情况下编写程序集吗?

我并不真正理解 EBX 寄存器的用途。我通过搜索 EBX 的目的得到了不同的答案,但最普遍的共识是 EBX 没有像 EAX、ECX 或 EDX 那样的特殊目的。为什么我需要使用 EBX?我已经从简单的教程中删除了 EBX,该程序仍然有效。那么使用EBX的原因是什么?如果没有它我也能工作,我为什么要关心它?

x86 assembly cpu-registers

-2
推荐指数
1
解决办法
57
查看次数

函数__asm__ __volatile __("rdtsc");

我不知道这段代码究竟是什么:

int rdtsc(){
    __asm__ __volatile__("rdtsc");
Run Code Online (Sandbox Code Playgroud)

拜托,有人可以解释一下吗?为什么"rdtsc"?

c++ x86 rdtsc

-3
推荐指数
2
解决办法
3843
查看次数

英特尔64位,奇怪的RSP行为

我遇到了使用IDA在Windows中调试64位二进制文​​件的问题.通常情况下,推送 RSP值应该扣除8.但偶尔,从IDA我看到RSP仅扣除2,然后是下一次推送8.

涉及的代码是

push rax
push rbx
push rsi
push rdi
Run Code Online (Sandbox Code Playgroud)

我对x64环境很新,因此任何人都可以解释这种行为吗?

assembly callstack x86-64 ida

-3
推荐指数
1
解决办法
67
查看次数

使用 GDB 从 4 字节寄存器读取超过 4 个字节

我有一个理解的问题。例如,32 位 x86 芯片的寄存器长度为 4 字节。美好的。使用 gdb,我可以指定从目标寄存器读取 4 个字节。( x/4b $edx).

但是如果我输入x/40b这意味着“从 4 字节寄存器中给我 40 字节”。这让我很困惑。这怎么可能?

是在第四个字节“垃圾”之后,还是来自内存/寄存器中的另一个区域?

x86 assembly gdb cpu-registers

-3
推荐指数
1
解决办法
104
查看次数

内存部分定义

我正在参加装配课程并且在试图找出问题时度过了一段糟糕的时光。我们有以下几点:

在此处输入图片说明

在我的一生中,我一直试图通过谷歌来解决这个问题,但没有找到太多东西,不幸的是,我们的文字中没有任何内容可以指导我。我希望有人能够指导我解决这个问题。

1)。.text 部分加载到内存后的大小是多少?2)。.data 部分加载到内存后的 RVA 是多少?3)。磁盘上 .data 部分的物理大小是多少?

memory assembly coff sections

-3
推荐指数
1
解决办法
39
查看次数

cortex-A53 中 L1 和 L2 缓存的写入策略是什么?

Cortex-A53 处理器有 1 到 4 个内核,每个内核都有一个 L1 内存系统和一个共享的 L2 缓存。

arm cpu-architecture cpu-cache cortex-a

-4
推荐指数
1
解决办法
1002
查看次数

x86 MASM 程序集中的寻址模式和内存源与目标

我查看了许多关于这个主题的主题,但都令人困惑。我还没有看到任何可以帮助我的答案的视觉效果。

我不明白所有这些陈述之间的区别:

mov eax, ebx
mov [eax],ebx
mov eax, [ebx]
Run Code Online (Sandbox Code Playgroud)

如果有人可以创建一个带有值的表格并向我展示,那就太好了。

x86 assembly masm

-4
推荐指数
1
解决办法
55
查看次数

C如何执行括号?

假设我在C中运行此代码:

#include <stdio.h>
int main() {
    int (*ret)();
    ret = getenv("SOME_ENV_VAR");
    ret();
}
Run Code Online (Sandbox Code Playgroud)

ret();功能怎么样?

我想更普遍的是,当我在C中使用括号时,会发生什么?我们是否开始在某个位置运行内存?C在括号中运行时做了什么,我在哪里可以阅读更多关于这类事情的内容?

c linux assembly shellcode

-5
推荐指数
1
解决办法
148
查看次数

C中双精度数组的优化和

我有一个任务,我必须采取一个程序,并使其在时间上更有效.原始代码是:

#include <stdio.h>
#include <stdlib.h>

// You are only allowed to make changes to this code as specified by the comments in it.

// The code you submit must have these two values.
#define N_TIMES     600000
#define ARRAY_SIZE   10000

int main(void)
{
    double  *array = calloc(ARRAY_SIZE, sizeof(double));
    double  sum = 0;
    int     i;

    // You can add variables between this comment ...
    long int help;
    // ... and this one.

    // Please change 'your name' to your actual name.
    printf("CS201 …
Run Code Online (Sandbox Code Playgroud)

c optimization performance for-loop

-6
推荐指数
1
解决办法
4104
查看次数

函数返回局部变量的地址,但它仍然用c编译,为什么?

即使我收到一个警告,一个函数从局部变量返回一个地址,它也会编译。那不是编译器的UB吗?生成的程序集:

    .text
.LC0:
    .asciz "%i\n"
    .globl  foo
    .type   foo, @function
foo:
    pushq   %rbp    #
    movq    %rsp, %rbp  #,
    sub     $16, %rsp   #,
    mov     %rdi, -8(%rbp)   #,
    leaq    -8(%rbp), %rax   #,
# a.c:5: }
    leave 
    ret
    .size   foo, .-foo
    .globl  main
    .type   main, @function
main:
    pushq   %rbp    #
    movq    %rsp, %rbp  #,
# a.c:8:    foo();
    movl    $123, %edi  #,
    call    foo #
    movq    (%rax), %rsi   #,
    leaq    .LC0(%rip), %rdi   #,
    movl    $0, %eax   #,
    call    printf #,
    movl $0, …
Run Code Online (Sandbox Code Playgroud)

c x86 assembly compiler-errors undefined-behavior

-6
推荐指数
1
解决办法
116
查看次数