NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 3
  • 매뉴얼

    NGM 3의 매뉴얼입니다.

    NGM 3

    NGM 3의 매뉴얼입니다.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 NGM 3.0 메모리 액션. (메모리 쓰기)

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 이전 글에 이어서 새롭게 추가된 메모리 관련 액션에 대해서 알아보겠습니다. 이전 글에서도 설명했듯이~ NGM만으로는 처리할 수 없습니다. 제어하려는 프로그램의 메모리 주소는 사용자가 알아내야 합니다. 또한, 메모리 주소를 고정시키기 위한 방법도 말이죠. 이 부분에 대해서는 별도로 함수를 추가하거나 툴에 대해 설명하도록 하겠습니다.

    img.png

     

     

    OllyDbg 단축키 정보는 [ 여기 ]에서 확인할 수 있습니다. 그리고, 리버스 엔지니어링을 연습할 수 있는 예제와 크랙을 만드는 방법은 [ https://tuts4you.com ]에서 확인할 수 있습니다. 문제 풀이는 블로그 찾아보면 많습니다. 하나씩 풀다보면 어느샌가... 크랙을 만들고 있을지도 모릅니다-_-;

    이전 글: 메모리 읽기 ]

    img.jpg


     

     

    이전 글에서 메모리 주소를 알아냈으니 값을 변경하는 방법에 대해 알아보겠습니다. 간단하게 테스트하기 위한 스크립트를 하나 추가하세요. 메모장의 데이터는 동적이기 때문에 메모리 주소가 고정되지는 않습니다. 당연한 이야기지만, Text(String)이 생성될 때마다 새로운 메모리 주소에 할당되기 때문이죠~

    메뉴: File > New > Script

    img.png



    아래 그림을 참고하여 액션을 추가하고 메모리 쓰기 속성을 채워줍니다.

    1. 메모리 카테고리의 메모리 쓰기 액션을 선택하세요.

    2. 드래그 앤 드롭하여 추가합니다.

    3. 메모리에 데이타를 쓸 응용 프로그램을 선택하세요.

    4. 메모리에 쓸 데이타를 입력하세요.

    5. 이전 글에서 찾은 메모리 주소를 입력하세요. (숫자 값으로 자동 변환됩니다.)

    img.png



    실행하면 메모장의 텍스트가 변경된 것을 확인할 수 있습니다. "Welcome to NGM!"에서 "Testome to NGM!"으로 변경되었습니다. 아마도 C를 해본 분이면 문자열의 끝을 나타내는 "\0"을 추가하고 싶을 수도 있습니다. 하지만, 컴파일할 때 자동으로 추가되는 NUL(\0)을 직접 입력하는 건 바람직하진 않습니다. (메모리 공간이 부족해서 컴파일 에러가 발생하므로...)

    img.png



    만약, "\0"을 넣으면 어떤 차이점이 있는지 확인해보죠. 지금은 전체 문자열 길이보다 작기 때문에 메모리에 쓰더라도 문제가 되지는 않습니다. Write Data에 "Test\0"으로 변경하고 실행하세요.

    img.png



    메모리 - 메모리 읽기 속성

    1. Get Variables: 변수의 값을 가져옵니다.
    2. Set Variables: 메모리 읽기의 속성을 변수에 저장합니다.
    3. After Delay: 이 액션이 실행된 후 지연 시간입니다.
    4. Before Delay: 이 액션이 실행되기 전 지연 시간입니다.
    5. Children: 비활성 컨트롤의 구조를 표시합니다. 이 값은 Find Control을 통해 자동으로 입력됩니다.
    6. Description: 이 액션의 설명을 입력할 수 있습니다.
    7. Memory Address: 데이타를 읽어올 메모리의 주소입니다.
    8. Write Data: 메모리에 쓸 데이타를 입력합니다.
    9. Find Control: 이미지에서 글자를 판독할 응용 프로그램 또는 컨트롤을 선택합니다.
    10. ID: 이 액션을 식별할 수 있는 유니크한 아이디입니다.
    11. Is Used: 이 값을 False로 변경하면 스크립트가 실행될 때 이 액션은 제외됩니다.
    img.png



    실제 데이타 사이즈보다 큰 데이터를 넣으면 어떻게 될까요? 문자열이라 문제가 발생되지는 않지만, 입력한 데이터를 전부 표시하지 못하게 됩니다. 직접 테스트해보세요^^

    img.gif



    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해 줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.