어셈블리에서 주소 관련 문의 좀...

soungsoo의 이미지

안녕하세요?

아래의 코드로 메모리 번지 0x15F304에 있는 데이터의 주소를
가져올 수 있어습니다.

MOV EAX, 0x15F304
MOV EAX, DWORD PTR DS:[EAX]
MOV DWORD PTR DS:[lpMem], EAX

그런데 반대로 데이터의 주소를 알고 있을 경우, 즉
데이터의 주소를 가지고있는 주소를 가져오려면 어떠게 하면
되는지 도움을 구함니다.

Necromancer의 이미지

질문이 분명치 않네요.
C의 이중포인터(**)를 원하시는건가요?

이중포인터면

mov eax,[addressofpointer]
mov edx,[eax]

데이터가 있는 곳의 주소를 가져오고 싶다면 lea명령 써도 되고요,
아님 mov명령과 변수명 쓰면 변수명 자체가 주소가 됩니다.

var   dd 3
 
...
 
      mov eax,var    ; NASM은 var 주소를 eax에 넣음

NASM에서는 위 방법대로 하면 var 변수가 위치하는 주소가 들어가는데
MASM의 경우는 앞에 어떤 연산자를 붙입니다. 안건드린지 오래돼서 까먹었네요.
위코드대로 하면 MASM에서는 var 변수에 있는 값 3이 EAX로 들어가거든요.

Written By the Black Knight of Destruction

Written By the Black Knight of Destruction

soungsoo의 이미지

말씀하신 방법으로 해 보니 다른 값이 나오네요...ㅠㅠ

제가 원하는 것은

1. 변수 주소 A로 실제 데이터가 있는 포인트 주소 B를 구했습니다.
2. 그런데 반대로 데이터 주소 B를 알고 있을 경우에 변수 주소 A를 구하는
방법입니다.

질문을 제대로 했는지...완전 어렵네요...

grassman의 이미지

질문하신 내용은 다대일 함수에서 역함수를 구하는 문제의 답을 묻는 것과 같습니다.
즉, 정상적이면서도 단순한 방법으로는 원하시는 답을 구할 수 없는 겁니다.
저런 경우 코드/데이터 메모리 영역을 전부 탐색하여 해당 주소값을 저장한 메모리
영역의 주소를 찾고 그 주소를 갖고 있는 코드를 검색하여 역탐해야 합니다. (이렇게
하더라도 정확히 찾는다고는 보장할 수 없습니다. 중간에 같은 값을 갖는 코드나
더미 데이터가 존재할 수 있기 때문입니다.)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.