[완료] NASM 용 공개 Library가 있습니까?

sonumb의 이미지

Irvine 어셈블리책의 Library와 비슷한 NASM 용 Library가 있나요?

있다면 링크 좀 걸어주세요.
메모리, 레지스트리 내용을 볼려고 하니 노가다 수준이군요. -_-;;
(확 내가 만들어버릴까. -_-;)

=== Irvine 책의 라이브러리 입니다. ===
=== 대충 요런 기능만 있으면 됩니다. 특히 아래 2개는 진짜 필요.==

DumpMem ; display memory dump
DumpRegs ; display register dump

ReadInt ; read signed decimal integer from console
ReadChar ; reach single character from console
ReadDec ; read unsigned decimal integer from console
ReadHex ; read hexadecimal integer from console
ReadKey ; Reads keyboard input if available (4/6/03)
ReadString ; read string from console

WriteBin ; write integer to output in binary format
WriteBinB ; write binary integer in byte, word,or doubleword format
WriteChar ; write single character to output
WriteDec ; write unsigned decimal integer to output
WriteHex ; write hexadecimal integer to output
WriteHexB ; write hexadecimal integer in word or doubleword format
WriteInt ; write signed integer to output
WriteString ; write null-terminated string to output

Necromancer의 이미지

없으면 만들면 됩니다.
레지스터/메모리 덤프는 저도 리눅스용으로 좀 만들어 봤습니다.

NASM 강좌도 쓰고 있긴 한데 언제 끝날지 모르겠네요.

Written By the Black Knight of Destruction

댓글 첨부 파일: 
첨부파일 크기
Binary Data dump.asm_.gz2.3 KB

Written By the Black Knight of Destruction

sonumb의 이미지

없으면 만들면 됩니다.
레지스터/메모리 덤프는 저도 리눅스용으로 좀 만들어 봤습니다.
==> 지금 OS 커널을 어셈으로 짜고 있습니다.
한빛에서 나온 "OS커널구조와원리"를 따라 해보고있는데요.
여기에 맞게 고쳐서 나중에 올려보겠습니다. 허락해주실련지? ㅎ_ㅎ

NASM 강좌도 쓰고 있긴 한데 언제 끝날지 모르겠네요.
==> 대단하십니다 ㅎ_ㅎ

Necromancer의 이미지

네. 영리용으로 쓰지 않는 이상은 괜찮습니다.
(강좌도 이렇게 계획하고 있습니다)

Written By the Black Knight of Destruction

Written By the Black Knight of Destruction

sonumb의 이미지

추가된 내용:
PrintHex: eax : 출력할 내용 edi: offset
PrintDbg: 프린팅횟수가 자동적으로 카운팅(0~9).
Delay_msec: ecx(msec)만큼 딜레이

-- 수정된 내용들 :---한x미디어의 'OS 커널의 구조와 원리' 라는 책에 맞게 수정.
dump_memory: esi : offset 에서 16바이트 3줄 출력
dump_register: 레지스터 내용 출력

다시한번 네크로맨서님에게 감사하다는 말 전합니다.

스택 지정 부분
-- 수정 완료
댓글 첨부 파일: 
첨부파일 크기
Package icon lib_dump_os_kernel.zip19.69 KB
Necromancer의 이미지

벌레 있네요.
dump_memory 쪽에 보시면 sub esp,STACKVARS 앞에 있는

%if STACKVARS==0

%if STACKVARS!=0

로 바꾸시기 바랍니다.

STACKVARS가 루틴이 도는동안 사용할 스택 공간을 지정한 것인데, 제가 잘못 써놨네요.
두군데 있습니다. (sub esp,STACKVARS, add esp,STACKVARS 앞줄)

Written By the Black Knight of Destruction

Written By the Black Knight of Destruction

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.