목록Programming (132)
외로운 Nova의 작업실
안녕하세요. 오늘은 어제에 이어서 demo4와 demo5의 코드를 리뷰해보도록 하겠습니다. 오늘도 어제와 이어서 demo4 파일을 열어보겠습니다. locals.asm라는 어셈블리파일이 있군요. MASM32 Editor로 열어줍시다. 코드를 한번 긁어와 보겠습니다. ; カカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカ? ; Build this with the "Project" menu using ; "Console Assemble & Link" comment * カカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカ? There is another method of allocating space for uninitialised data in MASM that can only be don..
안녕하세요. 오늘은 저번시간에 이어서 tutorial-demo2와3에대해서 코드 리뷰와 직접 실행까지 해보도록 하겠습니다. 어제와 마찬가지로 masm32\tutorial\console 파일에 들어가 줍시다. 어제 demo1을 공부했으니 오늘은 demo2에 들어가보겠습니다. proc.asm 파일을 MASM32 Editor로 열어줍시다. 해당 코드를 긁어와보겠습니다. ; カカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカ? ; Build this with the "Project" menu using ; "Console Assemble and Link" ; カカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカカ? ; Procedures are a fundamental building ..
안녕하세요. 오늘은 저번시간에이어 masm32파일에 담겨 있는 tutorial 파일에대해서 알아보겠습니다. 원래는 책에대해서 공부를 해야하는데... 책에 helloworld를 찍는 프로그램 예제가 없었습니다. 그래서 구글링도하고 이것저것 알아보던중에 masm32파일에 tutorial 파일이 있는걸 알게되었습니다. 이 해당 파일에는 window가 아니라 콘솔에 출력할 수 있는 코드도 가지고있고, 간단한 프로그램도 예제로 있어서 소개해볼까합니다. demo7까지 끝낸다음 어셈블리어 책을 정리하면서 예제도 만들어보면서 재밌게 공부해볼까합니다. 사실 프로그래밍은 예제만들기가 짜릿하죠..! 그럼 시작해보도록 하겠습니다. 먼저 저희가 받은 masm32 파일 폴더에 직접 들어가게되면 아래와 같이 뜹니다. 저기 맨밑에 ..
여러분들 ㅎㅇ~~ 오늘은 저번시간에 이어서 hello world 프로그램 설명을 이어서해보겠습니다. 먼저 저번에 봤던 코드를 보겠습니다. .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\user32.inc includelib \masm32\lib\user32.lib .data MsgBoxCaption db "Hello world program", 0 MsgBoxText db "Hello world!", 0 .code start: invo..
여러분들 ㅎㅇ~~ 오늘은 저번 시간에 이어서 어셈블리 MASM의 기본 뼈대와 기본 Hello World를 출력하는 프로그램을 만들어보겠습니다. .386 .MODEL Flat, STDCALL .DATA ...... .DATA? ...... .CONST ...... .CODE label: ..... end label 위코드는 MASM코드의 기본 뼈대의 구조입니다. 맨위의 코드부터 설명해보도록 하겠습니다. .386은 intel의 80386 CPU의 명령어 체계를 사용하겠다는 뜻입니다. cpu마다 명령어 체계가 다르기때문에 알려주는 것과 같습니다. 80386 CPU 말고도 80186, 80286 80486 CPU등이 있습니다. 80386, 80486 CPU는 IA-32(Intel Architcture) 명령어 ..
여러분들 ㅎㅇ!! 드디오 MASM을 설치 했습니다..! 32비트 MASM은 64비트에 설치안된다고 어느 글에 써있어서 2시간 걸쳐서 가상머신까지 깔았는데!! 32비 MASM이 64비트 에 깔리더라고요?? 사실 어제 깔때 아래와 같은 화면이 계속 떠서 안되는 것같다고 생각했습니다... 근데 위화면에서 가만히 기다리면 설치가 되더군요;;; 이를 아무도 안알려줫다는,,,,ㅠㅜ 역시 혼자하면 이런점이 힘듭니다... 어제부터 6시간 삽질끝에 MASM을 설치했습니다! 위는 MASM32 Editor입니다!! 그렇다면 기본적인 어셈블러를 작성해보고 실행시켜보겠습니다. 먼저 MASM 예제 코드를 복사해서 새로운 asm파일을 만들어보겠습니다. MASM예제코드는 masm32>tutorial>console>demo2>proc..
여러분들 ㅎㅇ~ 오늘도 돌아온 어셈블리 공부입니다... 오늘은 어셈블리언어를 작성하고 빌드하고 링크하고 응용프로그램을 간단하게 하나 만들어보는것까지 하려고했는데, 제 컴퓨터가 64bit이고 책에서 공부하는게 MSAM 어셈블러인데, 기존의 MSAM 32비트는 따로 쓸 수 있었습니다. 하지만 64비트용은 visual studio에서만 쓸 수 있게되었고, 32비트 명령어를 지원을 몇몇 안해준다고하네요... 64비트용을 쓰면 책을 봐도 쓰지를 못할겁니다.ㅠㅜㅠㅜ 그래도 할 수 있는 방법이 있지않을까 했지만..! 결국엔 32비트 MASM SDK를 다운받기위해서!! 다음시간에 VM(Virtual Mushine)을 다운받고 32비트를 깔아볼까합니다. 될려나 모르겠네.. 컴맹은 힘든 어셈블리의 길... 암튼 저같이 6..
여러분들 ㅎㅇ~ 이제 저는 시스템 해킹에대해서 공부해보려고합니다..! 시스템 해킹이란 무엇인지는 Haking카테고리에서 답을 찾을 수 있습니다. 뭐 아무튼 시스템 해킹에대해 알기위해선 어셈블리어를 필수로 알아야합니다. 그래서 어셈블리어 공부를 해보려고합니다.ㅇㅇ 제가 어셈블리어 공부하려고 산 책을 소개합니다. x86 프로세서를 위한 어셈블리언어입니다..! 인터파크 도서에서 32,000원 주고 주문했습니다. 이 책을 열심히 읽으면서 공부해도록 하겠습니다..!! 그런데 어셈블리언어가 뭘까요? ㅇㅅㅇ 어셈블리언어는 cpu명령어에 1대1로 대응되는 언어입니다. 그러면 왜! 어셈블리언어를 만들었냐!! 아래의 예시를 보시죠 ACU에 두개의 숫자를 넣고 더하는 명령어는 1011입니다. 하지만 인간은 1011을 기억하..
안녕하세요. 저번시간에 이어서 오늘은 c#의 에트리뷰트에대해서 배워보도록 하겠습니다. 혹시 코딩하면서 잘못된 메소드나 코드를 짯을때 뜨는 error메시지를 본적이 있으신가요? 아래와 같은 메시지 말이죠! 이러한 메시지를 저장하는 곳이 에트리뷰트 클래스입니다! 백문일 불여일견! 바로 어떻게 하는지 코드부터 보시죠. using System; namespace StudyCSharp { class MainApp { static void Main(string[] args) { Method OldMethod = new Method(); OldMethod.OldMethod(); } [Obsolete("OldMethod는 없어졌습니다. NewMethod를 사용하세요")] //애트리뷰트사용 class Method { p..
안녕하세요. 오늘은 c# 언어의 LINQ기능에 이어서 리플렉션에대해서 배워보도록 하겠습니다. 리플렉션은 객체의 형식 정보를 들여다보는 기능입니다. 객체의 형식정보에는 프로퍼티 목록, 메소드 목록, 필드, 이벤트 목록까지 객체의 모든게 있습니다. 이러한 리플렉션 기능을 위해서 c# 개발자는 객체의 모든 조상 Object에 GetType()메소드를 만들어 놨습니다. GetType()메소드는 Type형식의 객체를 반환합니다. Type객체는 그객체의 모든 정보가 들어가게됩니다. 코드를 먼저 보시죠. using System; using System.Reflection; namespace StudyCSharp { class MainApp { static void Main(string[] args) { int b =..