그래서 최근에 멀웨어를 뒤집어서 특정 jz 명령에 제로 플래그가 설정 될 때마다 중단되는 조건부 중단 점을 사용할 수 있다고 생각했습니다. 올리가 제공하는 웹과 도움말 파일에서 설명서를 읽었지만 어떻게 할 것인지 예를 찾을 수 없습니다. 온라인 문서에서는 EFL 또는 Flags 레지스터를 watch/conditional breakpoint 표현식에서 사용할 수 있지만 참조하는 방법에 대해서는 언급하지 않았다. 나는 ZF == 1과 ZF = 1과 같은 간단한 표현을 시도했다. (잘못했을 때를 대비해) 작동하지 않았다. 나는 화가처럼 아무것도 검색하지 못했습니다. 그래서 누군가가 플래그 레지스터를 참조 할 수있는 방법을 찾았 으면합니다. 왜 플래그를 사용하지 않고 표현식을 사용하지 않는지 궁금한 분들은 정말 필요한 이벤트에서 플래그 레지스터를 참조하는 방법에 대해 더 궁금합니다.플래그 레지스터에 대한 Ollydbg 감시/조건부 중단 점 표현식?
미리 감사드립니다.
따라서는 EFL의 참조 나 플래그 등록기를 허용하지 않는 1.10 ~ 2.0 버전처럼 보인다 아르 자형. 2.01 버전에만 추가 된 것 같습니다. 몇 가지 테스트를 한 후 EFL 및 FLAGS 레지스터를 사용하는 시계가 실제로 원하는 값을 표시하고 있음을 확인했습니다. 조건부 중단 점을 만들려고하자마자 EFL 등록기가 내가 설정 한 조건과 똑같은 얼굴에도 불구하고 공격을받지 못했습니다. – John
이 조건부 중단 점을 트리거하려면 조건부 트리거 이전에 일반적인 int3 중단 점을 추가해야한다는 것을 알게되었습니다. 조건부 전에 중단 점을 추가해야하는 이유를 알고 싶습니까? 나는 그것의 언급을 어디에도 보지 못했고 조건부 중단 점을 작동시키는 것이 이상하다는 것을 알았다. v1.10 및 v2.0 만 사용했기 때문에 2.01에서 작동한다는 사실을 공유해 주셔서 감사합니다. – John
@ 존 나는 다시 한번 (여전히 v2.01에서) 테스트를했고 문제를 재현 할 수 없었다 : 나의 조건부 BP는 ** 내 테스트 프로그램에서 ** 어떤 "일반적인"BP가없이 ** 맞았다. (Windows 10 * calc.exe *; 일부 JZ 및 JNZ jcc에 여러 개의 cond. BP를 입력하고 엔트리 포인트에서 프로그램을 바로 실행하십시오. – Neitsa