본문 바로가기

Computer Engineering

Android Kernel만 수정해서 올리기. Android에서, 안드로이드를 통째로 컴파일 하지 말고, 만약 커널만 수정하고 싶다면? 순정롬을 다운받아서, zImage(kernel)만 바꿔 친 후, 안드로이드에 롬을 올리면 된다. 그 과정을 Ubuntu 12.04 64bit + Nexus 5에서 진행했을때는 아래와 같다. 예를 들어, 안드로이드에 tcp_probe 모듈을 추가하도록 해본다. 1. Kernel build 먼저, 커널을 다운로드 받는다.# git clone https://android.googlesource.com/kernel/msm.git# cd msm# git checkout 3.4.0-gadb2201 원하는 부분을 수정한다. 그리고, 컴파일에 필요한 툴을 다운받는다.# cd ~# git clone https://android.go.. 더보기
[Kaggle] Employee Access Challenge 학교 머신러닝 수업때문에 kaggle competition(http://kaggle.com)을 하는데, 생각보다 재밌어서 수업 끝나고도 틈틈히 할것같다.우선 다 끝난 competition들로 공부좀 하고, active competition을 해보면 재밌을듯하다 모델은 Logistic regression을 사용하였고, feature선택은 greedy selection을 사용하였다.(내 아이디어는 아니고, 포럼에서 메인으로 언급되는 아이디어)logistical regression에 대한 설명은 많은것 같아서 따로 안하고, 실제로 어떻게 사용했는지만 써놔야겠다.python의 scikit-learn (sklearn)을 사용하여, 코딩하였다. 지금은 이미 종료된 competition인 employee access.. 더보기
Webkit crash 분석하기 시간이 없으니 글은 나중에 차차 다듬기로(+ 다듬고 올리려고 했는데, 다시 건드릴 일이 없을것 같아서 그냥 비공개만 품...... / 쓰다 만 부분은 다른곳에서 찾으시길... ) 안드로이드 4.1.2 버전에서 크래시가 났을경우, 어느부분에서 났는지 찾는 과정을 적어보았다.(사실, 크래시가 난곳에서 동적분석도 하고싶은데, 그것까진 실패했다. 아마 심볼때문에 그런듯 해서, 안드로이드 full 컴파일을 하고 그 라이브러리들을 안드로이드에 올리면 될수도 있지만, 시간이 너무 오래걸려서 그러진 않았다) 그리고, 사실 이 방법이 가장 효율적인지는 모르겠다.근데, 아는방법이 이것밖에 없으니... 환경: 우분투 13.04 64bit, 갤럭시노트2(루팅) 1. 안드로이드 기본 소스 다운로드. $ sudo add-apt-.. 더보기
모바일에서 3G 패킷 캡쳐하기 (안드로이드 기준으로 설명한다.) 우선 adb와 busybox를 설치해서 기본 세팅을 해둔다. (윈도우보단 우분투에서 adb를 설치하는게 좋은듯) 그리고 su로 루트로 접속하고, WiFi는 꺼둔다. 원래는 그냥 tcpdump를 다운받아서, 다른것처럼 rmnet0나 rmnet_usb0를 덤프하면 된다. 하지만, rmnet_usb0를 덤프하려고 하면, 이름때문에 usb라고 착각을 하면서 덤프가 잘 안된다. root@android:/data/local # ./tcpdump -i rmnet_usb0 -Xtcpdump: Can't get USB bus index from rmnet_usb0 그래서 해당부분을 바이너리패치했다. (그래서, 이 파일로는 진짜 usb 덤프는 불가능하다.) 파일을 디바이스에 올리고, 실행.. 더보기
vmplayer로 ubuntu에 proxy server 설치 우분투에서 # apt-get install squid3# service squid3 start# ufw allow 3128# vi /etc/squid3/squid.conf-> "http_access allow all" 추가 윈도우에서 1. 3128 방화벽 해제2. 우분투로 3128번 포트포워딩(하지만, vmplayer에서는 포트포워딩이 불가능하다. 그러기위해선 vmnetcfg.exe가 필요한데, vmware workstation에서 추출해야한다. vmplayer5에서는 아래의 vmnetcfg.exe를 이용하면 될듯하다.) 압축을 해제한후, vmplayer폴더에 옮겨서 실행한다. 그리고, 해당하는 vmnet을 클릭한후, "NAT Settings"를 눌러서, Port Forwarding의 "Add"를 누르고.. 더보기
우분투 ssh 로그인 느릴때 $ sudo vi /etc/ssh/sshd_config UseDNS no추가또는 UseDNS yes를 UseDNS no로 변경 그리고 재시작 $ sudo /etc/init.d/ssh restart 더보기
Android에 debian kit 설치하기 우선 sshd를 설치해서 ssh 접속을 한다. (sshdroid를 설치 했음. / 아니면 connectbot 등을 통해서 로컬접속도 가능할듯) # wget http://sven-ola.dyndns.org/repo/attic/debian-kit-1-4.shar# sh ./debian-kit-1-4.shar ...... : 0s(만약 여기서 끊긴다면, # /data/local/deb/autorun )...... : yes # deb# apt-get update# apt-get upgrade# apt-get install andromize# exit# deb u 빼먹은게 없다면, 이게 맞을듯. http://sven-ola.dyndns.org/repo/debian-kit-en.html 더보기
Failed to allocate memory: 8 해결법 C:\Users\[사용자명]\.android\avd\[avd 이름].avd\config.ini 위의 파일을 열어서, hw.ramSize=1024 와 같은 내용을 hw.ramSize=1024MB 로 변경후 실행하면 정상 작동 됩니다. 더보기