지금부터 게시할 글들은 리버스 엔지니어링 바이블 책을 나름 공부하여 요약하는 내용이다.출처 : http://wikibook.co.kr/reverse-engineering-bible/ * 어셈블러에서 연산은 레지스터를 이용함 * 레지스터 ( IA-32)- CPU가 사용하는 변수 * 종류- EAX (Accumulator) : 산술 계산(+,-,*,/ 등)을 하며, 리턴값을 전달.- EDX (Data): EAX와 역할은 같으나(+,-,*), 리턴 값의 용도로는 사용되지 않음.- ECX (Count): 반복문을 수행할 때 카운팅 하는 역할, 일반적 반복문 i++이 아닌 i-- 로 반복문이 수행됨.- EBX: EAX, EDX, ECX 가 부족할 때 등 적당한 용도에 사용되는 여분 레지스터- ESI ( Source..
자바스크립트에서 비동기식 프로그래밍을 하다보면 피치못하게 콜백헬에 부딪히는 경우가 발생한다.아래는 async1이 수행 후, async2, async3, async4가 차례로 수행되도록 (절차적으로 작동) 하는 비동기식 코드다.let async1 = (callback) => { callback();}let async2 = (callback) => { callback();}let async3 = (callback) => { callback();}let async4 = (callback) => { callback();} async1(() => { async2(() => { async3(() => { async4(() => { }) }) })})함수의 내용을 생략했기 때문에 뭐 이런거 가지고 문제가 되는가 하는..
MEAN이 뭘 의미하는지는 안다는 가정하에 설치 및 세팅에 대한 설명을 생략하고 바로 코드로 들어가겠다. TODO File Structure-- public------ core.js------ index.html -- controllers------ todos.controller.js -- models------ todos.js -- server.js-- routers.js 1. package.json을 작성해준 다음, npm install을 해주자{ "name": "Todo", "version": "0.0.0", "description": "MEAN STACK MVC MODEL TODO SINGLE PAGE APP", "author": "leibniz55", "dependencies": { "body-..
Executable .jar를 만들고 리눅스에서 배포를 하고자 하니 ubuntu는 오른쪽 클릭하고 설정해주면 더블클릭 실행이 되는데,fedora에서는 이게 안먹히더라,사실 그냥 터미널에서 java -jar /path/.jar 하면 뭐 실행이야 되겠지만, 사람이라는게 귀찮은걸 싫어하다보니이렇게 실행하는 것도 컴플레인이 될 수 있더라. 구글링을 통해 .desktop 파일을 만들고 해당 파일을 더블 클릭하면 .jar파일을 실행 할 수 있는 방법을 찾았다. 텍스트 편집기를 열어@.desktop 형식으로 저장한다.그런 다음 아래와 같이 작성을 한다.[Desktop Entry] Encoding=UTF-8 Type=Application Exec=java -jar %f Icon=java Name=run-jar Comm..
나는 콜백함수의 정의를 포괄적인 의미에서 보면 아래와 같다고 생각한다."함수의 정의는 내가 했지만, 호출은 내가 하지 않는 함수, 누군가로 부터 호출당하는 함수가 콜백 함수다."뭐 찾아보면, 옵저버패턴으로 부터 나와 상태변화(이벤트) 발생 시 상태를 알리는 뭐 이런 정의도 있지만, 나는 위와 같은 정의가 이해하기가 더 쉽더라. 콜백함수의 이해를 돕기위해 예를 들어보자.//배열을 만들어 보자var arr = [3,1,2];console.log(arr.sort());// display // [1,2,3]간단히 sort()라는 함수를 통해 정렬을 했다. 그런데 역순(오름차순)으로 정렬을 하고 싶은데 어떤 식으로 해야 하는가?w3schools에 가서 찾아보니 여기 보니 campareFunction 이라는 함수를..
오늘은 다양한 스크립트 엔진 중에서 자바로 만들어진 Rhino애서 TypedArray 사용하는 방법을 말하고자한다. ArrayBuffer는 ECMAScript6에서 TypedArray라는 이름으로 처음 등장했다.이는 바이너리 데이터를 처리하는 배열이라고 생각하면 편할 것이다. 근데 이게 Rhino에서는 ECMAScript6가 반영이 안된건지 뭔지는 모르게 TypedArray를 사용할 수 가 없다.TypedArray를 사용하면 undefine가 뜬다. 그럼 어떻게 사용해야 할까? rhino-1.7.7.1.1 버전 기준으로는 NativeTypedArray이라는 Package를 사용하여 ECMAScript6와 같이 TypedArray를 사용 가능하다.TypedArray를 사용할 js에 아래와 같이 추가하면 E..
ECMAScript6 부터 TypedArray 가 생겨 자바스크립트에서도 바이너리데이터를 손쉽게 다룰수 있게 됬다.아마 내생각엔 ECMAScript 5 (2011년) 까지만해도 바이너리 데이터를 자바스크립트에서 다룬다는 것은 아주 극히 드문일이였을 터인데V8엔진의 등장을 시작으로 node.js의 활성화, 서버사이드를 자바스크립트로 핸들링 가능하게 되면서 바이너리 데이터를 다루는 일이 빈번해지고 바이너리 데이터를 다룰 때 포퍼먼스를 향상시키기 위해 ECMAScript6때 등장한 듯 하다.사실 기존에도, 지금도 바이너리 데이터를 String으로 다루긴 해도 되긴하나, 속도적인 측면과 데이터 유지운영에 있어 전문적인 버퍼를 다룰수 있는 오브젝트가 필요하긴 했다. TypedArray의 기본적인 사용 방법은 Ar..
일반적 객체지향 언어에는 Class 라는 개념이 있는데, 자바스크립트에는 Class라는 개념이 아닌 프로토타입 이라는 것을 사용한다.ECMA6에 이르러 Class라는 키워드가 생기긴 했지만, 자바스크립트는 프로토타입언어이다. 참고로, 프로토타입을 공부 하면서 아 내가 머리가 좋지 않구나 라는 것을 뼈저리게 느끼게 되었다. 이 글은 이곳 저곳 구글링하다 여러 블로그를 참고하여 정리를 해 논 것이기 때문에 정확한 이해가 필요한 사람은 링크를 통해 이해바란다. http://www.nextree.co.kr/p7323/http://insanehong.kr/post/javascript-prototype/ 본론으로 들어가 프로토타입 이라는 것이 무엇인가?기존의 객체를 복사, 새로운 객체를 생성하는 방법이 프로토타입기..
c, c++기반으로 개발을 해오다 보니 자바스크립트로 코딩하고 보면 이게 c소스인지 자바스크립트 소스인지 구분이 잘 가지 않더라.기능적으로 정상 작동하니 그냥 넘어 갈 수 있겠으나, 이왕 자바스크립트를 만지게 된 김에 자바스크립트처럼 보이는 코딩을 하고싶어 졌다. 앞으로 내가 글을 쓰는 내용은 아래 블로그 내용을 내가 공부한 시점으로 재 해석하여 정리 요약하는 정도의 글이 될터이니참고만 하고 아래의 블로그에서 보다 깊은 깨닮음을 얻길 바란다.http://www.bsidesoft.com/?p=877 [js의 전략패턴 - 제어문을 객체구조화]function attack(weapon, opt){ switch(weapon){ case 'sword': if(opt){ }else{ } break; case 'bow..
- Total
- Today
- Yesterday
- ucrtbase.dll
- yss
- node js
- remote debug
- iOS10
- Node.js
- MEAN stack
- PCX
- 윈도우 라이브러리
- 비대칭키
- TypedArray
- ATS
- HTTPS
- TLS1.2
- execute double click
- JavaScript
- cipher
- AES
- angular
- Universal CRT
- full stack
- executable jar
- reactivex
- 전자서명
- 암호화
- App Transport Security
- rxswift
- build set
- Visual Studio
- 대칭키
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |