그래서 나는이 함수가 무엇인지 알아 내려고 노력하고있어,하지만 난이 명령 순서에 의해 약간 의아해 해요 :이 mov -0x4(%rsp),%eax
lea 0x0(,%rax,8),%edx
그 전에 함수 내 RAX의 언급이 없습니다. rax 레지스터의 값은 무엇입니까? 스택의 맨 위에 있습니까? 이전 줄은 mov -0x4(%rsp),%eax 이었으므로 ea
IDA Python을 사용하여 이진 지침을 추출합니다. 그러나 불행히도 일부 명령은 완전히 인쇄되지 않습니다. 예를 들어 BCC, BCS, BEQ가 B로 인쇄됩니다.이 문제를 해결할 방법이 있습니까? 여기 내 코드가 있습니다! for function_ea in idautils.Functions():
for ins in idautils.FuncIte
실행 파일의 어셈블리 코드를 디버깅하는 데 WinDBG를 사용하면 컴파일러가 두 개의 순차적 명령문 사이에 다른 코드를 삽입하는 것처럼 보입니다. 문장은 매우 간단합니다. 함수 호출을 위해 복잡한 객체에서는 작동하지 않습니다. int a, b;
char c;
long l;
a = 0; // @@
b = a + 1; // %%
c = 1;
나는 프로젝트에서 일하고 있는데 어셈블리 명령어에 기계어 코드를 연결하기 위해 디스어셈블러가 필요하다. 나는 모든 오픈 소스 디스어셈블러를 사용하기로 결정했다. 나는 zydis와 capstone을 시도했다 ... 그들은 내가 15 프로 ... 내가 GitHub의에 관석 예제를하고 시도했지만 그것은 내가 바인딩 C++이 코드 ::: #pragma once
호퍼 디스어셈블러는 함수의 이름이 무엇인지 어떻게 이해합니까? 예를 들어 function()이라는 간단한 Swift 함수가 있고 그 함수로 실행 파일을 디스 어셈블 한 후 호퍼는 맹 글링 된 이름이 __T04file8functionyy라는 것을 보여줍니다. 실행 파일에서 이러한 심볼의 위치를 찾을 수는 있지만 이름이있는 함수의 주소를 매핑하는 방법을 찾
[편집] 누군가이 문제에서 M과 N의 값을 얻는 방법을 설명해 주시겠습니까? 해당 어셈블리 코드의 각 행을 살펴보십시오. 난 항상 movl array2 부분에 난처한 얻을. 어떻게 우리가 상수 M과 N의 값을 추론 않습니다 M과 N은 상수 위의 코드는 다음 어셈블리 코드를 생성하는 경우 #DEFINE #define M <some value>
#define
나는 진수의 명령 코드를 얻기 위해 Visual Studio 및 디스어셈블러 창에 디버깅을 사용하고 있지만, 메인은 (그림으로) 함수를 호출 할 때이 기능 지침은 sperate에 표시 섹션 (그림 2) 주요 기능의 일부로 나타나는 기능 지침을 보여주는 방법이 있습니까? dissasembler 창에서 메인 섹션은 dissasembler 창에서 기능 섹션 감사
저는 x86 디코더를 만들고 있습니다. 명령어의 니모닉을 계산하는 효율적인 방법을 이해하고 찾는데 어려움을 겪고 있습니다. opcode 6 MSB가 opcode 비트라는 것을 알고 있지만 니모닉 테이블에서 6 비트를 사용하는 곳을 찾을 수 없습니다. 내가 찾은 유일한 니모닉 테이블은 6 비트 MSB가 아닌 전체 opcode 바이트 자체입니다. opcode
저는 신참입니다. 최근에는 버퍼 오버 플로우로 어떻게 작동하는지 이해하려고합니다. 난 당신이 어셈블리에이를 볼 때 함수가 호출되는 것을 알고 push ebp ; Save the caller's ebp
mov ebp, esp ; Update ebp with current stack frame's esp
당신이 그것을 팝업 때 처음에는 발신자의