목록분류 전체보기 (420)
외로운 Nova의 작업실
여러분들 ㅎㅇ~~ 오늘은 저번 시간에 이어서 어셈블리 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을 기억하..
해킹이란 뭐냐고 물으면 뭐라고 답해야할까? 멋진거? 흥미로운거? 아니다. 사실 책에 써잇는건 아래와 같다. "프로그램 자체를 제작자의 의도와 다르게 바꾸고 나쁘게 바꾸는 모든 것" 뭔말이야 저게;;;; 쉽게 말하면 프로그램이 바뀌면 다 해킹이란 말이다..!! 게임으로 말하면 1레벨씩 레벨업하도록 설정해놧는데 3레벨씩 레벨업하면?? -> 해킹 쇼핑몰로 말하면 처음화면이 옷 리스트가 뜨도록 설정해놨는데 이상한 사진이뜨면 -> 해킹 "그냥 정상적이지 않으면 다 해킹이란 거야" 근데 해킹에도 종류가 있다. 종류에대해서 살짝만 봐봅시다. 시스템 해킹 : 하드웨어 - 운영체제 - 응용프로그램, 이 세가지를 해킹의 대상으로 보는 해킹 웹 해킹 : 웹해킹에서의 프론트엔드와 백엔드를 해킹의 대상으로 보는 해킹 시스템....
안녕하세요. 저번시간에 이어서 오늘은 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 =..
안녕하세요. 오늘은 저번시간에 이어서 c#의 LINQ에대해서 배워보도록 하겠습니다. LINQ는 Language INtegrated Query의 약자입니다. 한국어로 직역하면 언어 통합 질의입니다. 의역하면 데이터 질의 기능이라고 할수 있습니다. 데이터를 한곳에 모아놓고 원하는 데이터를 질의하듯이 골라 낼 수 있는 기능을 가집니다. 백문일 불여일견이라고 코드를 한번 봅시다. using System; using System.Linq; namespace StudyCSharp { class MainApp { static void Main(string[] args) { Profile[] profile_list = { new Profile() { name = "정우성", age = 13 }, new Profile(..
-안녕하세요. 오늘은 저번시간에이어 c# 언어에서 대리자와 이벤트에대해서 알아보겠습니다. 대리자는 쉽게말해서 비서같은역할을 합니다. 대리자에게 메소드들을 등록해놓으면 그 대리자는 메소드들을 실행시킵니다. 중요한점은 메소드'들' 이라는 점입니다. 대리자는 delegate 키워드로 선언이 됩니다. 먼저 코드부터 보시죠. using System; namespace StudyCSharp { delegate void ThereIsFire(string location); //대리자 선언 class MainApp { static void Main(string[] args) { void Call119(string location) { Console.WriteLine("소방서죠?" + location + "에 불이 났어..
안녕하세요. 오늘은 저번시간에 이어서 c# 예외처리에대해서 배워보도록 하겠습니다. 예외의 예시를 하나 들어보도록 하겠습니다. 먼저 코드부터 보시죠. using System; namespace StudyCSharp { class MainApp { static void Main(string[] args) { int[] array = new int[3]; array[3] = 4; Console.WriteLine("종료"); } } } 위와 같은 코드를 실행하게되면, 컴퓨터는 에러를 일으킵니다. 왜냐면 array배열의 크기는3인데, 즉 index가 2까지 밖에없는데 3에 접근하고있기 때문입니다. 또한 프로그램은 에러를 일으키고 다운되어버려 그 다음줄인 콘솔에 종료 출력을 안하게됩니다. 이렇게 프로그램이 에러를 ..