프로그래밍 QnA + 설치 및 활용 QnA

inviolable의 이미지

올리디버거 질문입니다.

제가 리버싱 공부를 막 시작했는데요...

가끔씩 프로그램 보다보면 이런 기능은 어떻게 구현된건지 궁금할 때가 있는데...

어떤 언어를 사용하든 윈도우즈에서 함수를 사용한다고 하면 dll에 내장되어있는 winapi함수가 사용되는거 잖아요.

winapi는 제가 공부를 하기도 했고, msdn찾아보면 다 나오고 하니까요...

뭐 복잡한 프로그램까지는 아니더라도 간단한 프로그램(가볍고 용량 작고 이런 프로그램 같은거...).. 아무튼 프로그램에 상관없이요...

말이 좀 길어졌는데, 본론만 말하자면요...

올리디버거로 로딩해서 name in all modules 하면 나오는 api함수가 그 프로그램에서 사용하는 api함수가 다 나오는 건가요??? 그러니까 프로그램에서 사용한 api함수를 전부 포함한 목록인가요???

디버깅 막을려고 어떤 장치를 해놨던 간에 name in all modules 로 그 프로그램이 사용한 api함수 목록을 알아낼 수 있나요???(알아 낸다는게 무슨 말이냐면 그 중에 반드시 있느냐 이런 말입니다.)

inviolable의 이미지

디스크를 사용하는 프로세스를 검출하는 WINAPI함수가 뭔가요???

외장하드 쓰시는 분이면 다들 공감하실텐데요, 외장하드 다 쓰고 하드웨어 안전제거 할 때, 그 하드를 쓰고 있는 프로세스가 있다고 하면서 제거 안되잖아요.

프로그램명을 말하면 안되겠죠?? UNLO~~~ 이런 프로그램 다들 쓰시죠?? 저도 쓰는데요...

근데 이걸 해결하려면 간단히 디스크를 사용하는 프로세스를 알아내기만하면 될 것 같은데요...(디스크 I/O를 하는 프로세스겠죠???)

디스크를 사용하는 프로세스를 검출하는 WINAPI함수에는 무엇이 있나요??? 어떤 디스크를 쓴다 까지 알아낼 수 있으면 더욱 좋고요.

저 위에 프로그램도 그런 원리 같은데... 디버거 이용해서 name in all modules 항목 이용해서 나오는 api함수 다 체크해볼까요??? 그럼 답이 나올까요???

lansi951의 이미지

MPD 스트리밍 한글 깨짐

MPD에서 아웃풋을 shout로 해서 세이캐스트에 음원을 보내는 것까진 성공했는데

MPD 클라이언트에선 한글이 잘 나오는데 세이캐스트 위젯이나 음악 플레이어에선 깨져서 나옵니다

이건 MPD의 문제인가요 아니면 세이캐스트의 문제인가요

trymp의 이미지

rsync over ssh 로 파일 받으려는데 애러가 납니다..

아래와 같이 명령을 쳐서 /tmp/test 안에 있는 파일을 가져오려고 했는데요.

# rsync -avz -r -e ssh admin@10.10.10.10:/tmp/test/ /tmp/test/

rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [Receiver=3.0.7]

위와 같이 애러 메시지가 나옵니다.

검색해봐도 잘 안나와서 답답해서 질문 올리는데요.

그냥 ssh 접속은 잘 되는 상황이고요.

원본 서버에도 rsync tool 이나 혹은 rsyncd 가 서비스 되고 있어야 하나요?

없어도 되는 것으로 알고 있는데, sshd_config 같을 것을 수정해야하나요?

hypnosis의 이미지

netstat 명령어에서 path에 @가 무슨의미인지...

UDS 를 보다가 netstat 명령어로 뭐가 connect 됐는지 확인해 볼려고 했는데요

보다보면 Path에 @/org/kernel/udev/udevd 등등 앞에 @가 붙어있는 path명이

몇개 있는데 이 @가 의미 하는게 뭔지 잘 몰라서.. 이렇게 물어봅니다 ~

아시는분 명쾌한 해답좀 ㅠㅠ 부탁드려요~

kcd71461의 이미지

아파치 서버 포트포워딩후 로컬에서 접속문제

집에 웹서버를 만들엇습니다
공유기 내부 ip 가 A 외부 ip가 B라하고 포트80을 포트 포워딩 하였습니다
외부에서 B로 접속하면 홈페이지가 접속이 잘되는데 내부에서 B로 접속하면 공유기 설정창이 뜨네요ㅠㅠ

inviolable의 이미지

컴퓨터 구조 명령어 구현 회로 부분 자세하게 이해해야하나요???

명렁어 나오고 명령어가 회로로 어떻게 구현되는지(플립플롭 등 이용) 나오는 데 이거 세세하게 이해할 필요있나요??? 아니면 아 이렇게 구현되는구나 정도만 알면 될까요???

강의가 아니라 독학이라 뭐가 중요한 건지도 잘 모르겠네요...;;; 그렇다고 독학으로 못할 것도 없는 부분인데...

inviolable의 이미지

컴퓨터 구조 책 읽다가 이해가 안가는 부분이 있어서 질문 올립니다.

책 내용은 파일 첨부했고요... "메모리의 입력과 출력 데이타는 공통 버스에 연결되어 잇지만, 메모리 주소는 AR에 연결되어 있다. 이와 같이 주소를 위한 하나의 레지스터를 사용함으로써 별도의 버스가 필요없게된다." 이 말이 무슨 말인지 이해가 안갑니다..ㅜㅜ 아 진짜 회로 부분은 너무 취약합니다..ㅜㅜ 지금 한 100페이지 읽었는데 회로부분은 진짜 이해 대충대충하고 넘어간 부분이 많아요.ㅜㅜ

happyKYS의 이미지

GFP_ATOMIC / __GFP_WAIT 관련 질문드립니다.

일반적으로 여러 커널 서적에서 __GFP_WAIT를 쓰면 선점 당해 휴면 상태로 전환될 수 있는 경우이고, GFP_ATOMIC 같은 경우 휴면이 되지 않아야 되는 인터럽트 처리 루틴이라던지, 후반부 처리 루틴에서 사용한다고 되어 있습니다.

중요한 것은 __GFP_WAIT를 썻을 경우 alloc_pages 내부에서 명시적인 resched() 호출로 재 스케줄링, 선점 유도를 하는 반면에 GFP_ATOMIC은 명시적으로 그런 처리를 안할뿐이라는 점입니다.

kernel 3.x 대에서 alloc_pages 함수를 보면 내가 만약 GFP_ATOMIC을 선언 해서 명시적인 resched() 호출 상황을 피한다고 하더라도, 이게 왜 선점, 휴면을 막는지는 이해가 되지 않습니다. 코드상으로 irq를 disable하거나 preempt를 disable을 해주는 구간이 없습니다. 다시 말해 명시적으로 resched() 호출을 피할뿐이지, 언제든지 타임 슬라이스 소진, irq 발생 등에 의해 선점 당할 수 있는 소지가 분명히 있어 보입니다.

happyKYS의 이미지

GFP_ATOMIC / __GFP_WAIT 관련 질문드립니다.

일반적으로 여러 커널 서적에서 __GFP_WAIT를 쓰면 선점 당해 휴면 상태로 전환될 수 있는 경우이고, GFP_ATOMIC 같은 경우 휴면이 되지 않아야 되는 인터럽트 처리 루틴이라던지, 후반부 처리 루틴에서 사용한다고 되어 있습니다.

중요한 것은 __GFP_WAIT를 썻을 경우 alloc_pages 내부에서 명시적인 resched() 호출로 재 스케줄링, 선점 유도를 하는 반면에 GFP_ATOMIC은 명시적으로 그런 처리를 안할뿐이라는 점입니다.

kernel 3.x 대에서 alloc_pages 함수를 보면 내가 만약 GFP_ATOMIC을 선언 해서 명시적인 resched() 호출 상황을 피한다고 하더라도, 이게 왜 선점, 휴면을 막는지는 이해가 되지 않습니다. 코드상으로 irq를 disable하거나 preempt를 disable을 해주는 구간이 없습니다. 다시 말해 명시적으로 resched() 호출을 피할뿐이지, 언제든지 타임 슬라이스 소진, irq 발생 등에 의해 선점 당할 수 있는 소지가 분명히 있어 보입니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기