기본 UI가있는 블랙 박스를 운영하는 .exe 파일이 있습니다. 실행 파일은 게임 해킹입니다. f1 키를 누르면 고속으로 변하고, f2를 누르면 높은 점프가 켜집니다. 그래서 저는 Ui의 제목을 바꾸고 싶습니다. 어떻게하는지 알고 싶습니다. 나는 소스 코드가 없다. .NET 리플렉터를 시도했는데 .net 어셈블리 나 그와 같은 것이 아니라고했습니다. 그럼
저는 최근 WMI가 Windows 시스템에서 내부적으로 얼마나 정확하게 작동하는지 궁금합니다. 예를 들어 구체적으로 설명하고 깊이있게 단계별로 이해하는 것이 좋습니다. tasklist.exe을 실행하는 비교적 간단한 시나리오를 사용하도록하겠습니다. tasklist가 WMI를 사용하여 로컬 컴퓨터에서 실행되는 작업을 쿼리한다는 것을 알고 있으므로 기본적으로
그래서 C 코드에서 Java 프로세스의 메모리를 읽으려고합니다. JVM 구조 (힙, 퍼머 겐, 메소드 영역 등)에 관한 문서를 찾았지만이 기사 중 실제로이 영역이 메모리에있는 위치를 찾는 방법을 보여주지는 않습니다. 클래스는 메소드 영역에 저장되고 처음 32 비트의 힙에있는 모든 인스턴스에는이 클래스에 대한 포인터 (x86 JVM에 대한 설명)가 있습니다.
내가 나 strlen처럼 작동하는 기능을 분해 나에게 나 strlen의 분해를 설명 할 수 있습니까? 나는 그것이 문자열의 길이를 얻는 데 사용된다는 것을 알고 있습니다. 제가 알고 싶은 것은 그것이 어떻게 수행되는지입니다. 또한 어셈블리에 대해 항상 혼란스러워했던 한 가지는 변수에 스택에 저장되는 방법입니다. 그들은 선언의 순서 (var _8, var _
NtDll이 x86 프로세스에서 작동하는 방식을 찾고 있었는데 IDA PRO를 사용하여 NtCreateFile 함수를 디버깅했습니다. 그것을위한 코드는 다음입니다 : mov eax, 55h ; NtCreateFile
mov edx, offset [email protected] ;
call edx ; Wow64SystemServiceCall() ;
제목에서 말했듯이, 어떻게 수행 될까요? opcode의 시작 부분에 1 바이트를 추가하면 메모리의 주소가 1 바이트로 푸시됩니다. 원래 : 0x1 mov ecx, 10
0x2 mov eax, 1
0x3 inc eac
0x4 cmp eax
0x5 jl 0x3
추가 바이트 : 당신은 질문을 이해 해달라고하면 수동으로 모든 JMP를 설정 0x1 NOP
어셈블리 코드를 C 코드로 다시 변환하려하지만 sarq라는 한 작업을 발견했습니다. 나는 주소가 어떤 크기인지를 q라고 생각하지만 sarq가 그 주소를 어떻게 처리하는지 모른다. 나는 코드가 믿는 것에 댓글을 달았다. .LC0 .string "ans %d\n"
main:
.LFB0: val = -8(%rbp), result = -12(%rbp)