BLOG main image
분류 전체보기 (224)
Reversing (13)
Pwnable (4)
Linux Kernel (3)
Crypto (2)
Wargames (68)
Programming (18)
Write Up (32)
Project (22)
Web (2)
My Life (52)
Memo (3)
etc (2)
발표자료 (1)
39,509 Visitors up to today!
Today 11 hit, Yesterday 4 hit
daisy rss
tistory 티스토리 가입하기!
2018.03.20 15:57

가끔씩 옛날 버전 컴파일 하다가 ____ilog2_nan 이거 없다고 에러날 때가 있다.

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
32
33
34
35
36
37
diff --git a/include/linux/log2.h b/include/linux/log2.h
index ef3d4f67118c..07ef24eedf83 100644
--- a/include/linux/log2.h
+++ b/include/linux/log2.h
@@ -16,12 +16,6 @@ 
 #include <linux/bitops.h>
 
 /*
- * deal with unrepresentable constant logarithms
- */
-extern __attribute__((const, noreturn))
-int ____ilog2_NaN(void);
-
-/*
  * non-constant log of base 2 calculators
  * - the arch may override these in asm/bitops.h if they can be implemented
  *   more efficiently than using fls() and fls64()
@@ -85,7 +79,7 @@  unsigned long __rounddown_pow_of_two(unsigned long n)
 #define ilog2(n)                \
 (                        \
     __builtin_constant_p(n) ? (        \
-        (n) < 1 ? ____ilog2_NaN() :    \
+        (n) < 1 ? 0 :            \
         (n) & (1ULL << 63) ? 63 :    \
         (n) & (1ULL << 62) ? 62 :    \
         (n) & (1ULL << 61) ? 61 :    \
@@ -149,9 +143,7 @@  unsigned long __rounddown_pow_of_two(unsigned long n)
         (n) & (1ULL <<  3) ?  3 :    \
         (n) & (1ULL <<  2) ?  2 :    \
         (n) & (1ULL <<  1) ?  1 :    \
-        (n) & (1ULL <<  0) ?  0 :    \
-        ____ilog2_NaN()            \
-                   ) :        \
+        0           ) :        \
     (sizeof(n) <= 4) ?            \
     __ilog2_u32(n) :            \
     __ilog2_u64(n)                \
cs

이거 커널 소스 디렉토리에서 이거 붙여넣어서 ilog.patch로 저장하고 patch -p1 < ilog.patch 하면 지가 알아서 패치해준다.

그리고 다시 make ㄲㄲ

Name
Password
Homepage
Secret
2018.03.08 14:43
[etc]

sudo socat PTY,link=/dev/ttyS10 PTY,link=/dev/ttyS08 하면 /dev/ttyS08 이 열림

minicom -D /dev/ttyS08 해서 시리얼 열고 

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
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <termios.h>
#include <fcntl.h>
 
int main( void)
{
   int fd;
 
   struct termios newtio;
 
   fd = open( "/dev/ttyS8", O_RDWR | O_NOCTTY | O_NONBLOCK );
 
   if (fd == -1) {
       puts("open error");
       return 0;
   }
 
 
   memset( &newtio, 0sizeof(newtio) );
 
 
   newtio.c_cflag = B115200;
   newtio.c_cflag |= CS8;
   newtio.c_cflag |= CLOCAL;
   newtio.c_cflag |= CREAD;
   newtio.c_iflag = 0;
   newtio.c_oflag = 0;
   newtio.c_lflag = 0;
   newtio.c_cc[VTIME] = 0;
   newtio.c_cc[VMIN] = 1;
 
   tcflush (fd, TCIFLUSH );
   tcsetattr(fd, TCSANOW, &newtio );
 
   write( fd, "Hello, World!"13);
 
   close( fd);
 
   return 0;
}
cs

일케 소스 짜서 돌리면 minicom으로 Hello, World!가 옴

'etc' 카테고리의 다른 글

리눅스 가상 시리얼 포트 열기  (0) 2018.03.08
BMP File Header  (0) 2015.11.13
Name
Password
Homepage
Secret
2017.12.26 17:50

다시 오랜만에 쓰는 일기~

요즘 리눅스 커널에 관심이 좀 있다. 이론 공부도 할만한거 같고 커널 익스 해보는거도 재밌다.

워게임 문제로는 w3challs knoob 풀어봤는데 처음 제대로 풀어보는 커널 문제라 아리송 하면서도 재밌었다.

지금은 pwnable.kr softmmu를 풀고 있는데 취약점 찾고 대충 익스 시나리오도 구상이 되지만 이게 내맘대로 잘 안돼서 어렵다.

꽤 오래 붙잡고 있는거 같은데 음 어렵다.

빗소리 (http://rainymood.com) 들으면서 공부하면 집중 되게 잘된다. 

한여름 장마철에 공부하는 기분이라서 기분이 상쾌해진다.

'My Life > Diary' 카테고리의 다른 글

2017년 12월 26일 화요일  (2) 2017.12.26
2017년 10월 31일 화요일  (2) 2017.10.31
2016년 3월 25일 금요일  (2) 2016.03.26
2016년 2월 21일 일요일  (3) 2016.02.21
2016년 2월 15일 월요일  (2) 2016.02.15
2016년 2월 12일 금요일  (4) 2016.02.13
ec0n0my | 2018.01.03 23:54 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요! 혹시 reversing.kr 워게임은 얼마나 잡고 올클하셨는지 알려주실 수 있나요? 제가 리버싱 공부를 한지 1년 정도가 지나갔지만 리버싱의 대표 워게임이라 할 수 있는 립케알은 반 정도 밖에 풀지 못했습니다..ㅠㅠ 그리고 실례가 안된다면 리버싱을 공부하는 것에 대해 조그마한 조언 하나 부탁드려도 될까요?..
ec0n0my | 2018.01.04 10:47 신고 | PERMALINK | EDIT/DEL
우와 감동입니다 ㅠㅠ 친절한 답변 감사합니다 열심히 그리고 꾸준히 공부하고 시도해보겠습니다 감사합니다 ㅎㅎ
Name
Password
Homepage
Secret