yuchi's Development Home
글 수 694
일본 갔다가 Boa Love& Honesty의 한정판 앨범을 발견, 사왔다.
첨엔 살 생각이 없었는데 그놈의 한정판 dvd에 끌려서...
dvd는 xbox로 봤다.음..좋군..
cd를 들어볼까...pc의 cdrom드라이브에 넣었는데 트랙 인식을 못한다.이럴수가...당연 mp3추출도 안된다..
분노했다. 내 돈주고 cd산지가 10년도 넘었는데 모처럼 사왔더니 mp3추출이 안되?
게다가 내 차 오디오에서도 인식을 못한다.
cdrom에 넣고 다시 한번 살펴보니 player폴더가 있고 몇개의 파일이 있었다.
그러니까 cdrom에선 이걸로 들으란 소리군.
과연 player.exe를 실행시키니 돌아는갔다.허나 cpu점유율 100%. 이런 망할..
안에 있는 파일들을 디스어셈블 해보고 WaveOutWrite를 비롯한 웨이브 함수들을 통해 소리를 재생하는 것을 알았다.
좋다...웨이브 함수를 후킹해서 wav로 뽑아내겠다!
일단 웨이브 출력을 잡아서 .wav파일로 만드는 코드를 짰다. 웨이브쪽을 잘 몰라서 좀 애먹었다. 하여간 .wav로 저장하는 함수를 만들고 winmm.dll의 WaveOutWrite()함수를 후킹하기 위해 내가 만든 임의의 DLL을 player.exe의 프로세스에 주입하고, 내가 만든 함수로 WaveOutWrite()를 바꿔치기하는 코드를 짰다.
이 부분에서 상당히 애먹었다.쉽게 되리라 생각했는데 그렇지가 않았다.
차라리 맨땅에 헤딩했으면 좋았을것을..[파괴의 광학]의 부록 cd에 이 부분의 소스가 들어있어서 그대로 갖다쓰려고 했다.
안돌아갔다.--;
그놈의 책에 나온 소스는 한번도 그냥 돌아간적이 없다. 저자가 귀찮아서 테스트를 안했는지 애들 엿먹으라고 그랬는지, 아니면 한번 생각좀 해보라는 의도였는지 버그를 안고있는 코드를 샘플로 넣어놨다.
결국 하루 꼬박 걸려 왕창 뜯어고쳐서 DLL주입과 함수 후킹에 성공했다.
자..이제 모든 도구는 준비됐다. cd넣고 하루 정도만 삽질하면 .wav로 뽑아낼수 있겠다.
너무 기뻐서 사람들한테 자랑을 하고 다녔다.
전우 : 그거 easy CDDA 최신 버젼 쓰면 될텐데?
여치 : 엥? 안되던데..4.6버젼이라 그랬나?
전우 : 하여간 최신버젼으로 되..
그리하여.......
easy cdda 6.5.4받아서 방금 mp3로 다 뽑았다.---;
샹...
첨엔 살 생각이 없었는데 그놈의 한정판 dvd에 끌려서...
dvd는 xbox로 봤다.음..좋군..
cd를 들어볼까...pc의 cdrom드라이브에 넣었는데 트랙 인식을 못한다.이럴수가...당연 mp3추출도 안된다..
분노했다. 내 돈주고 cd산지가 10년도 넘었는데 모처럼 사왔더니 mp3추출이 안되?
게다가 내 차 오디오에서도 인식을 못한다.
cdrom에 넣고 다시 한번 살펴보니 player폴더가 있고 몇개의 파일이 있었다.
그러니까 cdrom에선 이걸로 들으란 소리군.
과연 player.exe를 실행시키니 돌아는갔다.허나 cpu점유율 100%. 이런 망할..
안에 있는 파일들을 디스어셈블 해보고 WaveOutWrite를 비롯한 웨이브 함수들을 통해 소리를 재생하는 것을 알았다.
좋다...웨이브 함수를 후킹해서 wav로 뽑아내겠다!
일단 웨이브 출력을 잡아서 .wav파일로 만드는 코드를 짰다. 웨이브쪽을 잘 몰라서 좀 애먹었다. 하여간 .wav로 저장하는 함수를 만들고 winmm.dll의 WaveOutWrite()함수를 후킹하기 위해 내가 만든 임의의 DLL을 player.exe의 프로세스에 주입하고, 내가 만든 함수로 WaveOutWrite()를 바꿔치기하는 코드를 짰다.
이 부분에서 상당히 애먹었다.쉽게 되리라 생각했는데 그렇지가 않았다.
차라리 맨땅에 헤딩했으면 좋았을것을..[파괴의 광학]의 부록 cd에 이 부분의 소스가 들어있어서 그대로 갖다쓰려고 했다.
안돌아갔다.--;
그놈의 책에 나온 소스는 한번도 그냥 돌아간적이 없다. 저자가 귀찮아서 테스트를 안했는지 애들 엿먹으라고 그랬는지, 아니면 한번 생각좀 해보라는 의도였는지 버그를 안고있는 코드를 샘플로 넣어놨다.
결국 하루 꼬박 걸려 왕창 뜯어고쳐서 DLL주입과 함수 후킹에 성공했다.
자..이제 모든 도구는 준비됐다. cd넣고 하루 정도만 삽질하면 .wav로 뽑아낼수 있겠다.
너무 기뻐서 사람들한테 자랑을 하고 다녔다.
전우 : 그거 easy CDDA 최신 버젼 쓰면 될텐데?
여치 : 엥? 안되던데..4.6버젼이라 그랬나?
전우 : 하여간 최신버젼으로 되..
그리하여.......
easy cdda 6.5.4받아서 방금 mp3로 다 뽑았다.---;
샹...