tag:blogger.com,1999:blog-54081251810142896592024-03-20T22:29:23.481-07:00oroi's spotAnonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.comBlogger56125tag:blogger.com,1999:blog-5408125181014289659.post-28592680031890747112015-07-18T03:43:00.002-07:002015-07-18T03:43:31.928-07:00불량화소/데드픽셀 확인용White<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYntQ8BwBDVEH71brVfox6v4PAFgIYtGgRE90f3BN8Oxn04U4syP7ctjeEncxN9nhWi2A68LbQR8lEy7O2xj3PThn1pwQPTXCUm5nPxIv7vn5M61ohzDcxiVKVl-AxDl48UtOyxdXCcTk/s1600/white.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYntQ8BwBDVEH71brVfox6v4PAFgIYtGgRE90f3BN8Oxn04U4syP7ctjeEncxN9nhWi2A68LbQR8lEy7O2xj3PThn1pwQPTXCUm5nPxIv7vn5M61ohzDcxiVKVl-AxDl48UtOyxdXCcTk/s1600/white.png" /></a></div>
<br />
<br />
Red<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3bseZAcyQSa9Qv5EldDxlXOy8va-xQMkR2c3znoVmRCsQv2ShCTz6zpaIC_Y6XenyoexALiR_vriN5yKLBwotb21J9LnnEQRga_bG_9hOOtbBDlPnAlDjWSXcH9DuwApWIZBph3ZUbPc/s1600/red.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3bseZAcyQSa9Qv5EldDxlXOy8va-xQMkR2c3znoVmRCsQv2ShCTz6zpaIC_Y6XenyoexALiR_vriN5yKLBwotb21J9LnnEQRga_bG_9hOOtbBDlPnAlDjWSXcH9DuwApWIZBph3ZUbPc/s1600/red.png" /></a></div>
<br />
<br />
Blue<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDBMF2oKfuuoprp8GzWyOJVDBKpQFfLAxRBohUiAKeCEA8dX-qcYAVQD6ZDVtwBUgHkZmYgpO8N7KbyQV4h5_1vQrAYt4YFm9pbhIX_3dgzYYvasuxHP9y9lZk8qmhwA04wtTRCkc9mx4/s1600/blue.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDBMF2oKfuuoprp8GzWyOJVDBKpQFfLAxRBohUiAKeCEA8dX-qcYAVQD6ZDVtwBUgHkZmYgpO8N7KbyQV4h5_1vQrAYt4YFm9pbhIX_3dgzYYvasuxHP9y9lZk8qmhwA04wtTRCkc9mx4/s1600/blue.png" /></a></div>
<br />
<br />
Black<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtZN_vjbULP4Hty4XA876wIB_IekZMdiSlEFQG-CUtf0IL538TNd-WIlYXMQJH2B0K-Yk6HGy0QTcgtDjDrSemSxmBtXvyXvyyJ4YGJB-FlfGPbw_5Hbm9j2hMz4LcPCzPEobZ4qsaUz4/s1600/black.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtZN_vjbULP4Hty4XA876wIB_IekZMdiSlEFQG-CUtf0IL538TNd-WIlYXMQJH2B0K-Yk6HGy0QTcgtDjDrSemSxmBtXvyXvyyJ4YGJB-FlfGPbw_5Hbm9j2hMz4LcPCzPEobZ4qsaUz4/s1600/black.png" /></a></div>
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-70082419775023393482014-09-09T03:03:00.001-07:002014-09-09T03:03:36.087-07:00csv 파일을 vcf로 만들기 (csv to vcf)다음 주소록을 쓰는데 아이클라우드에 옮겨 놓으려 하니<br />
<br />
vcf 밖에 지원이 안된다 ㅋ 다음 주소록은 csv랑 xls만 지원하고 ㅋ<br />
<br />
그래서 만들었다 ㅋ 파이썬 코드 csv to vcf ㅋ<br />
<br />
필드의 순서에 따라 위치를 바꾸면 됨 ㅋ<br />
<br />
<br />
#-*- coding: utf-8 -*-<br />
#!/usr/bin/python<br />
<br />
lv_lines = open('cal.csv','rb').read().splitlines()<br />
<br />
ix=1<br />
while ix<len(lv_lines):<br />
if len(lv_lines[ix])>10:<br />
lv_info = lv_lines[ix].split(',')<br />
if len(lv_info)==9:<br />
##이름,메일,휴대폰,회사,회사전화,회사주소,집전화,집주소,그룹<br />
##이름<br />
open('cal.vcf','ab').write("BEGIN:VCARD\r\nVERSION:3.0\r\n")<br />
if len(lv_info[0])>0:<br />
open('cal.vcf','ab').write("N:;"+lv_info[0]+";;;\r\nFN:"+lv_info[0]+"\r\n")<br />
#end if<br />
<br />
##메일<br />
if len(lv_info[1])>0:<br />
open('cal.vcf','ab').write("EMAIL;TYPE=WORK;TYPE=pref;TYPE=INTERNET:"+lv_info[1]+"\r\n")<br />
#end if<br />
<br />
##휴대폰<br />
if len(lv_info[2])>0:<br />
open('cal.vcf','ab').write("TEL;TYPE=CELL;TYPE=VOICE:"+lv_info[2]+"\r\n")<br />
#end if<br />
<br />
##회사<br />
if len(lv_info[3])>0:<br />
open('cal.vcf','ab').write("ORG:"+lv_info[3]+";\r\n")<br />
#end if<br />
<br />
##회사전화<br />
if len(lv_info[4])>0:<br />
open('cal.vcf','ab').write("TEL;TYPE=WORK;TYPE=pref;TYPE=VOICE:"+lv_info[4]+"\r\n")<br />
#end if<br />
<br />
##회사주소<br />
if len(lv_info[5])>0:<br />
print lv_info[5]<br />
#end if<br />
<br />
##집전화<br />
if len(lv_info[6])>0:<br />
open('cal.vcf','ab').write("TEL;TYPE=HOME;TYPE=VOICE:"+lv_info[6]+"\r\n")<br />
#end if<br />
<br />
##집주소<br />
if len(lv_info[7])>0:<br />
print lv_info[7]<br />
#end if<br />
<br />
##그룹<br />
if len(lv_info[8])>0:<br />
open('cal.vcf','ab').write("NOTE:"+lv_info[8]+"\r\n")<br />
#end if<br />
<br />
open('cal.vcf','ab').write("END:VCARD\r\n")<br />
#end if<br />
#end if<br />
ix+=1<br />
#end while<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-38323222456072787592014-01-19T19:00:00.002-08:002014-01-19T19:00:31.758-08:00짜증나는 Active-X ㅠㅠ이젠 별별걸 다 설치하게 만드네 ㅠㅠ<br />
<br />
로그 수집기?ㅡ,.ㅡ 로그에 개인 정보가 저장 안되는거 맞아?ㅋ<br />
<br />
거기다 로그도 내 PC의 자료인데 동의 없이 가져가도 되는거 맞아?ㅋ<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyhn373f7kgZ4JXtWmQjdRmX-c1ENuWVDR8QFg9GGefU56qZoMr2Xl4EXNvQIqV4DQHpNMyMHeMPQ8DAVnn0OXI9EwENg7sMiJJ8g-YBdiauMD2PlnseCF-ggbk3S0KGYUCtKioh6VrM4/s1600/01-popup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyhn373f7kgZ4JXtWmQjdRmX-c1ENuWVDR8QFg9GGefU56qZoMr2Xl4EXNvQIqV4DQHpNMyMHeMPQ8DAVnn0OXI9EwENg7sMiJJ8g-YBdiauMD2PlnseCF-ggbk3S0KGYUCtKioh6VrM4/s1600/01-popup.png" height="150" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqY9ybrl-CROtK8f8c_Xur0duvgjrPlxrJLU6nS4cYGOYZwJk6V3Dt3lha18la_ap3U3EMJtGri38V40aGmo7IorSROJKxR9vxVDkC7xdrKBSI9FIQvf36an_8yzdkdJ9vu_PIKTv7En0/s1600/02_ie_ext.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqY9ybrl-CROtK8f8c_Xur0duvgjrPlxrJLU6nS4cYGOYZwJk6V3Dt3lha18la_ap3U3EMJtGri38V40aGmo7IorSROJKxR9vxVDkC7xdrKBSI9FIQvf36an_8yzdkdJ9vu_PIKTv7En0/s1600/02_ie_ext.png" height="204" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-61223140515677746302013-12-10T01:36:00.002-08:002013-12-10T01:36:17.834-08:00disk flush with python#!/usr/bin/python<br />
#before run, remove drive letter<br />
lv_disk=open('\\\\.\\PhysicalDrive1','rb+')<br />
<br />
try:<br />
while True:<br />
lv_disk.write('\x00')<br />
#end while<br />
except:<br />
print 'done with flush'<br />
#end try<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-80391746914395429172013-12-09T18:06:00.003-08:002013-12-09T18:06:24.999-08:00python wol code python wol code<br />
<br />
#!/usr/bin/python<br />from socket import socket, AF_INET, SOCK_DGRAM, SOL_SOCKET, SO_BROADCAST<br /><br />data = '\xFF\xFF\xFF\xFF\xFF\xFF' + '\xAA\xAA\xAA\xAA\xAA\xAA' * 16<br /><br />sock = socket(AF_INET, SOCK_DGRAM)<br />sock.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)<br />sock.sendto(data, ('<broadcast>', 9))<br />sock.close()<br /><br />
<br />
ref : http://blog.stalkr.net/2009/12/wake-on-lan-in-python.htmlAnonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-13059510143201468012013-12-02T16:29:00.001-08:002013-12-02T16:29:51.779-08:00pogoplug mobile에 archlinux 설치하기 ㅋ기존에 쓰던 pogoplug classic이 아예 맛이 가서 ㅋ<div>
<br /></div>
<div>
아는 동생으로부터 pogoplug mobile을 지원 받았다 ㅋ</div>
<div>
<br /></div>
<div>
머니 머니 해도 pogoplug는 24시간 켜놓는 용도로 개발되어서</div>
<div>
<br /></div>
<div>
부담없이 서버 돌릴수 있다는 장점이 ㅋ</div>
<div>
<br /></div>
<div>
받자 마자 optware 설치 ㅋ 근데 이게 웬일 ㅋ</div>
<div>
(<span style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">http://aaronrandall.com/blog/customising-your-pogoplug/)</span></div>
<div>
<span style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;"><br /></span></div>
<div>
reboot하면 optware를 다시 셋팅해줘야 한다 ㅋ</div>
<div>
<br /></div>
<div>
mount 부터 lib path 까지 ㅋ</div>
<div>
<br /></div>
<div>
iptable 도 없고 해서 그냥 arch 설치 중 ㅋ</div>
<div>
<br /></div>
<div>
설치 방법은 아래 url을 사용하면 되는듯 하다 ㅋ</div>
<div>
(아직 설치 중이라 ㅋ, 다른 사람들도 저렇게 설치한듯 하니 ㅋ)</div>
<div>
<br /></div>
<div>
<b><a href="http://archlinuxarm.org/platforms/armv5/pogoplug-series-4">http://archlinuxarm.org/platforms/armv5/pogoplug-series-4</a></b></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
근데 저대로 하려고 하면 아마 wget이 없을 것이다 ㅋ</div>
<div>
<br /></div>
<div>
그래서 "ln -s /bin/busybox /bin/wget" 을 통해 링크 만들어 주고 하면 좋다 ㅋ</div>
<div>
(요게 팁 ㅋ)</div>
<div>
<br /></div>
<div>
아래는 설치 스크립트용 ㅋ</div>
<div>
<br /></div>
<div>
<div>
killall hbwd</div>
<div>
ln -s /bin/busybox /bin/wget</div>
<div>
cd /tmp</div>
<div>
wget http://archlinuxarm.org/os/pogoplug/mke2fs</div>
<div>
chmod +x mke2fs</div>
<div>
./mke2fs -j /dev/sda1</div>
<div>
mkdir alarm</div>
<div>
mount /dev/sda1 alarm</div>
<div>
cd alarm</div>
<div>
wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz</div>
<div>
tar -xzvf ArchLinuxARM-armv5te-latest.tar.gz # This will take a long time</div>
<div>
rm ArchLinuxARM-armv5te-latest.tar.gz</div>
<div>
sync # Takes a while if you are using a flash drive</div>
<div>
cd ..</div>
<div>
umount alarm</div>
<div>
cd /tmp</div>
<div>
wget http://archlinuxarm.org/os/ppv4/ppv4-install.sh</div>
<div>
chmod +x ppv4-install.sh</div>
<div>
./ppv4-install.sh</div>
<div>
/sbin/reboot</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-5920061554863867622013-11-18T23:24:00.002-08:002013-11-19T21:04:48.333-08:00rcehub db 사용하기codeengn에서 제공하는 서비스 중에 rcehub 라는 서비스가 있다.<br />
<br />
보안 전문가들을 위한 무료 호스팅 서비스 ㅋ<br />
<br />
꽤 속도도 좋고 나름 쓸만하다 ㅎㅎ<br />
<br />
거기다 DB 서비스를 제공한다 ㅋ Mysql 을 제공하다가 Maria DB로 넘어간듯 하다 ㅎㅎ<br />
<br />
Maria DB는 MySQL 엔진 기반으로 완벽하게 호환되며 ㅋ<br />
<br />
호스팅 디렉토리에 phpmyadmin을 올려서 써도 된다 ㅋ<br />
(setup 폴더는 지우고 쓰시길)<br />
<br />
하지만 phpmyadmin을 쓰기엔 불안한 관계로 문의하니<br />
<br />
heidisql을 이용하여 ssh tunnel을 사용하면 된다고 한다 ㅋ<br />
<br />
그래서 아래와 같이 셋팅해서 써봤다 ㅋ<br />
<br />
- 설정 -<br />
네트워크 유형 : MySQL (SSH tunnel)<br />
호스트명IP : 127.0.0.1<br />
사용자 : rcehub db id<br />
암호 : rcehub db pw<br />
포트 : 3306<br />
<br />
- SSH 터널 -<br />
plink.exe 위치 : plink.exe 파일 저장한 위치<br />
SSH 호스트 + 포트 : rcehub 도메인 + 22<br />
사용자 이름 : rcehub id<br />
암호 : rcehub pw<br />
<br />
나머지는 기본 설정대로 가면 됩니다. ㅋ<br />
<br />
아주 잘됨 ㅋ<br />
<br />
나중엔 gitlab도 써야지 ㅋ<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRLWO28PfvopGMSkmop0HlaRKD1o_smAVu_uxfe1IgyuXQkPz1HMAPzYCNRC75SiemOpqeXYfBYOLY6Csgv4OTo4_xquf4LaalBSRVOGuvT_QFPgDt80oeX2f90y7lDv9jqP5p5gGKYXk/s1600/rcehub01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRLWO28PfvopGMSkmop0HlaRKD1o_smAVu_uxfe1IgyuXQkPz1HMAPzYCNRC75SiemOpqeXYfBYOLY6Csgv4OTo4_xquf4LaalBSRVOGuvT_QFPgDt80oeX2f90y7lDv9jqP5p5gGKYXk/s1600/rcehub01.png" height="250" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7pDXwRsTiCu5oUJamzl4WkKNPl6m-zEYUQXFuHPQdSZypSbxvXrVZqA4BS_2l9wRaonPUWNsouULvhkL-AAvKqFlepnURrBXkcrxz-tBxLMx6WcmHw2aByZP3NSqxtUQRd0wiLpchgzw/s1600/rcehub02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7pDXwRsTiCu5oUJamzl4WkKNPl6m-zEYUQXFuHPQdSZypSbxvXrVZqA4BS_2l9wRaonPUWNsouULvhkL-AAvKqFlepnURrBXkcrxz-tBxLMx6WcmHw2aByZP3NSqxtUQRd0wiLpchgzw/s1600/rcehub02.png" height="250" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Ws-I3hThumxyD51BqQ69ObaxphmgLkdnI-fpybUeYRx44cW4srD7sGs1Z421nCmfy8o01WEjCdZXRHLuM1pd2V_sEPDRtFN4p-7-w5aZ_7ZTISEZuqfcuDvOCotZllnTsGB-gt5Qa-E/s1600/rcehub03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Ws-I3hThumxyD51BqQ69ObaxphmgLkdnI-fpybUeYRx44cW4srD7sGs1Z421nCmfy8o01WEjCdZXRHLuM1pd2V_sEPDRtFN4p-7-w5aZ_7ZTISEZuqfcuDvOCotZllnTsGB-gt5Qa-E/s1600/rcehub03.png" height="240" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-2894967664399033002013-11-16T23:22:00.003-08:002013-12-05T22:03:33.279-08:00java(android) obfuscation renameandroid의 jar 코드 보다 보면 obfuscation 된 코드 때문에 힘든경우가 많다 ㅋ<br />
(이제 android java의 obfuscation은 이미 대중화 된듯 ㅋ 죄다 a, b, c 이런.. 젠장 ㅠㅠ)<br />
<br />
smali 코드도 좋지만 java 코드로 보는게 편한관계로 jar 파일의 obfuscation 부분을<br />
<br />
deobfuscation 하는 방법을 찾아보니 rename으로 구분하기 편하게 해놓은게 있다 ㅋ<br />
<br />
jd-gui로 검색하고 trace 하는걸 자주 하는 분들은 요것도 한 방법인듯 합니다.<br />
<br />
..\dex2jar-0.0.9.15\d2j-init-deobf.bat -f -o init.txt classes_dex2jar.jar<br />
-> jar 파일로 부터 class 정보 추출해서 init.txt 파일에 저장<br />
<br />
..\dex2jar-0.0.9.15\d2j-jar-remap.bat -f -c init.txt -o aa.jar classes_dex2jar.jar<br />
-> init.txt 파일을 기준으로 rename한 새로운 aa.jar 생성<br />
<br />
rename 한 애들이 mpa 머 이런식으로 구성되는데다가<br />
<br />
겹치기도 하고 추후에 parameter에 따라 구분되는거 검색도 편하게 하려고 만든<br />
<br />
파이썬 스크립트 ㅋ<br />
<br />
#!/usr/bin/python<br />
<br />
lv_file = open('init.txt','rb')<br />
lv_out = open('out.txt','wb')<br />
lv_lines = lv_file.read().splitlines()<br />
<br />
#print len(lv_lines)<br />
ix=0<br />
while ix<len(lv_lines):<br />
if lv_lines[ix].startswith('m ') == True and lv_lines[ix].find('=')>3:<br />
#method<br />
lv_first = lv_lines[ix].find('(')<br />
if lv_first>5:<br />
#param<br />
lv_second = lv_lines[ix].rfind(')')<br />
lv_cnt = lv_lines[ix].count(';',lv_first,lv_second)<br />
lv_out.write(lv_lines[ix]+str(ix)+'_param'+str(lv_cnt)+'\n')<br />
else:<br />
lv_out.write(lv_lines[ix]+'\n')<br />
#end if<br />
else:<br />
lv_out.write(lv_lines[ix]+'\n')<br />
#end if<br />
ix=ix+1<br />
#end while<br />
lv_file.close()<br />
lv_out.close()<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-74853503969627835702013-11-16T05:07:00.003-08:002013-11-16T05:07:44.164-08:00windows 7 에서 파티션 문제로 설치 안될때 ㅋwindows 7 에서 파티션 문제로 설치 안될때 ㅋ<br />
<br />
리눅스만 쓰다가 윈도우로 넘어갈때 파티션 인식 안될때가 있었는데 ㅋ<br />
<br />
이거 괜찮은 내용인듯 ㅋ<br />
<br />
http://blog.naver.com/PostView.nhn?blogId=baljern&logNo=140116004420Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-66530730532593681092013-11-07T19:52:00.002-08:002013-11-07T19:52:45.116-08:00find string from apk with apktool and ubuntu#!/usr/bin/python<br />
#find string from apk with apktool and ubuntu<br />
import os<br />
import glob<br />
import sys<br />
import subprocess<br />
<br />
def F_FIND_KEY(lv_path):<br />
lv_rtn = False<br />
lv_key=['KeyGenerator','setSeed','SecretKeySpec','KeyPairGenerator']<br />
ix=0<br />
while ix<len(lv_key):<br />
lv_out = subprocess.Popen(['grep',lv_key[ix],lv_path,'-r'],stdout=subprocess.PIPE).communicate()[0]<br />
if len(lv_out) >0 :<br />
lv_rtn = True<br />
return lv_rtn<br />
#end if<br />
ix=ix+1<br />
#end while<br />
return lv_rtn<br />
#end def<br />
<br />
lv_path = '/tmp'<br />
<br />
#print len(sys.argv)<br />
<br />
if len(sys.argv)>=2 :<br />
lv_path = sys.argv[1]<br />
#print lv_path<br />
#end if<br />
<br />
lv_apk = lv_path+'/*.apk'<br />
lv_dec = lv_path+'/apk_dec/'<br />
<br />
lv_list = glob.glob(lv_apk)<br />
<br />
if os.path.exists(lv_dec)==False:<br />
os.mkdir(lv_dec)<br />
#end if<br />
<br />
ix=0<br />
jx=0<br />
while ix<len(lv_list):<br />
#print os.path.splitext(lv_list[ix])<br />
lv_name = os.path.splitext(os.path.basename(lv_list[ix]))[0]<br />
if os.path.exists(lv_dec+lv_name) == False :<br />
#os.mkdir(lv_dec+lv_name)<br />
#os.system('apktool d '+lv_list[ix]+' '+lv_dec+lv_name)<br />
subprocess.Popen(['apktool','d',lv_list[ix],lv_dec+lv_name],stdout=subprocess.PIPE).communicate()[0]<br />
#end if<br />
#end if<br />
#### grep key ####<br />
if F_FIND_KEY(lv_dec+lv_name) == True:<br />
open('result.txt','ab').write(lv_name+'\n')<br />
jx=jx+1<br />
#end if<br />
ix=ix+1<br />
#end while<br />
<br />
print 'done with ' + str(jx) + ' apks...'<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-38022632385969811472013-09-11T22:31:00.001-07:002013-09-11T23:09:10.704-07:00checking all offset with file#!/usr/bin/python<br />import subprocess<br />import os<br /><br />lv_file = open('log2.txt','rb')<br />lv_buf = lv_file.read()<br />lv_file.close()<br />ix=0<br />while ix <len(lv_buf):<br /> lv_out_file = open(str(ix)+'.tmp','wb')<br /> lv_out_file.write(lv_buf[ix:])<br /> lv_out_file.close()<br /> #file result<br /> lv_output = subprocess.Popen(['file',str(ix)+'.tmp'], stdout=subprocess.PIPE).communicate()[0]<br /> if lv_output.find(str(ix)+'.tmp: data')<0:<br /> open('output.txt','ab').write(str(ix)+' : '+lv_output.replace('.tmp: ','')+'\n')<br /> #end if<br /> os.system('rm '+str(ix)+'.tmp')<br /> ix=ix+1<br />#end while<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-38398279915758387192013-08-26T21:35:00.001-07:002013-08-26T21:36:14.016-07:00finding archive in firmware with 7z#!/usr/bin/python<br />
import subprocess<br />
<br />
lv_buf = open('???.bin','rb').read() #read firmware<br />
<br />
ix=0<br />
while ix<len(lv_buf):<br />
open('temp.img','wb').write(lv_buf[ix:]) #divide with 1 byte<br />
lv_output = subprocess.Popen(['7z', 't','temp.img'], stdout=subprocess.PIPE).communicate()[0] # check extract with 7z<br />
if lv_output.find('?????')>0: #finding exactly string(using filename)<br />
if lv_output.find('Data Error')<=0: #if not error<br />
open('result.txt','ab').write(str(ix)+'\n-----\n'+lv_output+'\n') # save result<br />
#end if<br />
#end if<br />
ix=ix+1<br />
#end whileAnonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-75905479177491427322013-08-23T22:46:00.000-07:002013-08-23T22:46:33.157-07:00쿼드콥터 조립기 ㅋ(아직도 조립중 ㅋ)이번에 하비킹(hobbyking)에서 쿼드 콥터를 주문해서 조립해보았다~ㅋ<br />
<br />
아직도 조립 중이지만 궁금해 하시는 분들이 많아 구매 내역 및 호환성 관련을 공유해보고자 한다 ㅋ<br />
<br />
우선 이번에 주문하면서 느낀건 표시된 사이즈를 너무 신뢰하지 말자는 거였따 ㅋ<br />
(모터랑 프레임이랑 고정 핀 쪽이 안맞고 프로펠러랑 프로펠러 캡이랑 사이즈가 안맞음 ㅠㅠ)<br />
<br />
01. Turnigy 9X 9Ch Transmitter w/ Module & 8ch Receiver (Mode 2) (v2 Firmware) -> US$53.82<br />
(쿼드콥터 조정을 위해 필수, hobbyking 메이커도 있는데 가격은 싸고 lcd 없음, 쿼드 콥터는 4채널 이상이어야 함)<br />
<br />
02. Hobby King Quadcopter Power Distribution Board Lite. -> US$3.89<br />
(배터리에서 나오는 전력을 모터에도 보내고 컨트롤 보드에도 보내야 하는데 배선 구성하기 귀찮아서 ㅋ 그냥 하나 삼 ㅋ)<br />
<br />
03. Turnigy balancer & Charger 2S-3S -> US$4.49<br />
(배터리 충전기, 문제는 배터리를 같이 주문안함 ㅋ 핸드폰 배터리 짜집기해서 쓸려고 ㅋ, 보통 2s는 7~8v, 3s는 11~12v)<br />
<br />
04. HobbyKing Red Brick 10A ESC -> US$6.07<br />
(모터와 컨트롤 보드 사이를 이어줌, 전원은 배터리에서 오지만 컨트롤 시그널은 보드에서 오는 형태, 10a라는 부분이 파워(배터리 아님)를 말하는듯)<br />
<br />
05. Propeller Adapter (Colet Type) 3MM -> US$1.22<br />
(프로펠러를 모터에 고정하기 위해서 위에 달리는 캡, <b><span style="color: red;">06, 07의 프로펠러가 연결이 안됨 ㅠㅠ 더 작은거 주문해야 하는듯</span></b>)<br />
<br />
06. 5030 (green) Three Blade Propeller (ABS) (3pc) -> US$2.42<br />
(정방향의 프로펠러, 보통 2개짜리 날개를 쓰는데 ㅋ 그냥 3개짜리 하고 싶었음 ㅋ)<br />
<br />
07. 5030R (black) Three Blade Propeller (ABS) (3pc) -> US$2.42<br />
(역방향의 프로펠러, 쿼드 콥터는 2개의 정방향과 2개의 역방향을 씀)<br />
<br />
08. HobbyKing Donkey ST2004-1550kv Brushless Motor -> US$5.45<br />
(쿼드 콥터에 쓸 모터, ㅋ 이녀석이 <b><span style="color: red;">09번의 프레임에 장착 안됨, 아래쪽의 나사로 고정하는 부분이 프레임 보다 큼</span></b>)<br />
<br />
09. F330 Glass Fiber Mini Quadcopter Frame 330mm -> US$8.99<br />
(쿼드 콥터용 프레임, 다 조립하면 음료캔 보다 좀 큰 정도, 파워보드랑 컨트롤 보드를 연결하면 꽉참 ㅋ 작은 만큼 구성 잘해야 함 ㅋ)<br />
<br />
10. MultiWii NanoWii ATmega32U4 Micro Flight Controller USB/GYRO/ACC -> US$19.99<br />
<div>
(쿼드 콥터 조정용 보드, 자이로 센서가 있고 작아서 좋음, 거기다 아두이노로 코딩도 가능)<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRN5czaLnKMV4l9xNaElBy3ajIWdJPigEMkklbzj25f7zlshJTQt5lNXZKP5N6ekdO3cVmB9qA8jkZcybse9qERH4SMzJdnopfzBe3VDKMZE3HKURs018h5nvvCY-pF_HuD7TNHnj88uI/s1600/1231364_709085179108916_1062917934_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRN5czaLnKMV4l9xNaElBy3ajIWdJPigEMkklbzj25f7zlshJTQt5lNXZKP5N6ekdO3cVmB9qA8jkZcybse9qERH4SMzJdnopfzBe3VDKMZE3HKURs018h5nvvCY-pF_HuD7TNHnj88uI/s1600/1231364_709085179108916_1062917934_n.jpg" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkMlMFBW0jv-OaPbhj2bi5GEQuskGVmY7hFwgXTDEZRtg_0Nj2i4OCmJjLLyIZ9xuQgfXCrrKsTLc4Met-54JH_8Q-pBKcx5EEtO_P8Y24O1R0B8vpOtLVjECkHqs4yHuG_16jhmCSqJU/s1600/1234642_708441345839966_1470711228_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkMlMFBW0jv-OaPbhj2bi5GEQuskGVmY7hFwgXTDEZRtg_0Nj2i4OCmJjLLyIZ9xuQgfXCrrKsTLc4Met-54JH_8Q-pBKcx5EEtO_P8Y24O1R0B8vpOtLVjECkHqs4yHuG_16jhmCSqJU/s1600/1234642_708441345839966_1470711228_n.jpg" height="320" width="240" /></a></div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-50398015495902897472013-07-28T01:23:00.001-07:002013-07-28T01:23:17.168-07:00virtualbox vdi(hdd image) copyvmware가 점점 짜증 나기 시작해서<br />
<br />
이번에 virtualbox(vbox)로 넘어갔다 ㅋ<br />
<br />
vbox의 장점은 완전 가볍다는거 ㅋ<br />
<br />
하지만 단점은 아직도 스냅샷(snapshot)이 불안정하다는거 ㅠㅠ<br />
<br />(이건 vmware의 장점이기도 하다 ㅋ)<br />
<br />
그래서 스냅샷없이 무조건 복사해서 쓰는데 vbox는 hdd image(vdi)에 uuid를 넣어 놓고<br />
<br />
겹치는 애들은 못쓰게 해놨다 ㅋ<br />
<br />
그래서 찾아 보던 중 복사해놓고 다른 virtual 환경을 구성할때 hdd image(vdi)에 uuid 값을 바꾸어 주기만 하면 다시 사용이 가능하였다 ㅋㅋㅋ<br />
<br />
ㅇㅋ 굿 ㅋ<br />
<br />
아래의 명령어로 구동이 가능 ㅋ<br />
<br />
vboxmanage internalcommands sethduuid cap-bat.vdi<br />
<br />
근데 다른 포럼에 보면 setvdiuuid로 되어 있는데<br />
<br />
ubuntu 12.04 LTS 버전 기준으로 vbox를 설치했을때는 sethduuid로 해야 한다. ㅋ<br />
<br />
버전 업되면서 바뀐듯 ㅋ <br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-85606224391463082002013-06-24T03:05:00.000-07:002013-06-24T03:05:04.122-07:00pogoplug를 sata로 부팅하는 방법포고플러그를 쓰다보면 가끔 업데이틀 잘못했거나 nand를 잘못 건드려<br />
<br />
부팅자체가 안되는 경우가 가끔있다 ㅋ 예전에는 그럴때 sata 하드를 이용한 부팅하는 방법을 따라했었는데~<br />
<br />
어느 순간부터인지 해당 이미지를 공유하지 않는 곳이 많아졌다~<br />
<br />
이런ㅠㅠ 그래서 구글링하다보니 해당 이미지를 아직까지 제공하는 사이트가 있었고~<br />
<br />
그 사이트를 통해서 다운로드 받아 보니 잘 작동하였다~<br />
( <a href="http://facetoface.iptime.org:8082/POGOPLUG%20SATA%EB%B6%80%ED%8C%85%ED%95%98%EB%93%9C%EB%A7%8C%EB%93%A4%EA%B8%B0.pdf">http://facetoface.iptime.org:8082/POGOPLUG%20SATA%EB%B6%80%ED%8C%85%ED%95%98%EB%93%9C%EB%A7%8C%EB%93%A4%EA%B8%B0.pdf</a> )<br />
<br />
해당 방법을 보면 sata 하드를 연결하여 clonezilla를 이용하여 해당 이미지를 집어 넣는 방법인데<br />
<br />
솔직히 약간 번거롭다 ㅋ 그래서 dd를 이용해서 쉽게 복구 가능하도록 만들어 보았다~ㅋ<br />
<br />
다운로드 : https://oroi.googlecode.com/svn/trunk/pogo/pogo_recovery_1_5G.zip<br />
- 압축해제시 pogo_recovery_1_5G.img 파일 생성됨<br />
<br />
1.5G 하드를 대상으로 복구 이미지를 만들었기때문에 2기가 이상이 되는 sata 하드를 이용하면 충분이 이용이 가능하다 ㅋ<br />
<br />
우선 sata 하드 디스크를 usb나 직접 연결로 컴퓨터에 연결시킨다<br />
<br />
그리고 리눅스 운영체제의 경우 그대로 사용하면 되지만 아닌 경우에는 vmware를 통해 연결을 시도한다<br />
(usb는 그냥 connect를 하면 되고 sata의 경우 하드디스크 추가를 누르면 된다. 부팅은 linux 설치되어 있는 것을 써도 되고 live cd를 사용하여도 된다.)<br />
<br />
작업은 편하게 ssh로 접근하여 하였을뿐 그냥 콘솔에서도 문제 없이 작업이 가능하다.<br />
<br />
우선 새로연결한 하드 디스크가 어떻게 연결되었는지 확인하고 삭제하는 작업을 하였다<br />
( 이 부분은 수행하지 않아도 무관하다. )<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdnGJZZyQ7f9OvShTuZDaTZ4RDTYu90TEd1pOKCOpxptiWtNtbFLNz5y3sXviGHg6j2EUReiR1_JKvIz_XKfaXtK6ZNMezkiITFc4gItK9e_CPEMZLESYgqqjBGm6LU7l_y91ykVJVQJo/s1600/pogo_dd_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdnGJZZyQ7f9OvShTuZDaTZ4RDTYu90TEd1pOKCOpxptiWtNtbFLNz5y3sXviGHg6j2EUReiR1_JKvIz_XKfaXtK6ZNMezkiITFc4gItK9e_CPEMZLESYgqqjBGm6LU7l_y91ykVJVQJo/s1600/pogo_dd_1.png" height="316" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
하드 디스크 삭제를 하였을 경우 기존 정보에 대해 /dev에 sdb1,2와 같이 계속 남아 있기때문에 링크 정보의 문제로 찝찝하여 그냥 리부팅을 한번 해준다.</div>
<div class="separator" style="clear: both; text-align: left;">
(실제로는 안해도 상관없음 ㅋ)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
그리고 아래와 같이 해당 하드 디스크를 다시 확인한다음에 dd 명령어를 통하여 설치한다.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
dd if=pogo_recovery_1_5G.img of=/dev/sdb</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_XvkiJmIjdzpyr6IQ12WwqCvc948zvf0D2EpzoI8L1uqy1TM2Edps_hysF0opFZ9RD83xb402rBrJzBsXwb68S_kVKaXSylzdZTQ8TmYsYGS_GgGTB8nOJTRZPUDw1-I6YzSIG2vAZHA/s1600/pogo_dd_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_XvkiJmIjdzpyr6IQ12WwqCvc948zvf0D2EpzoI8L1uqy1TM2Edps_hysF0opFZ9RD83xb402rBrJzBsXwb68S_kVKaXSylzdZTQ8TmYsYGS_GgGTB8nOJTRZPUDw1-I6YzSIG2vAZHA/s1600/pogo_dd_2.png" height="235" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
실행이 끝나면 몇 records in/out 이 나오면서 작업이 끝났다고 나온다 ㅋ</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
그럼 과감히 shutdown ㅋ</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
그리고 아래와 같이 pogoplug의 sata 연결 부분에 연결한다.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfw6DWdWiobi9ZEjn0E9UFbC8Ng6wIImGrg2JUonfAQt08_QssWponvZAzHxkM9ZNgT2pNnYpFDg4iDecPAzhhIfV-ajSqBYj3zBnvqLz7iNo4Bm3lPg_VmbGtchaQIc76y_IB8fStpHI/s1600/pogo_dd_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfw6DWdWiobi9ZEjn0E9UFbC8Ng6wIImGrg2JUonfAQt08_QssWponvZAzHxkM9ZNgT2pNnYpFDg4iDecPAzhhIfV-ajSqBYj3zBnvqLz7iNo4Bm3lPg_VmbGtchaQIc76y_IB8fStpHI/s1600/pogo_dd_4.jpg" height="237" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwUroZqzLklzwmVv_0NZwzlXDMqRmAhOVKqtuQsmE1QQEPXVGX6MBPE1X2j7hDlmE12KDQJ-ARSpfOadE_-62izrHu3f9Ga9O0Y6T_G7U6y6hhACgeu4nPybKtcw2NSLBAj-TR3ano9-Q/s1600/pogo_dd_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwUroZqzLklzwmVv_0NZwzlXDMqRmAhOVKqtuQsmE1QQEPXVGX6MBPE1X2j7hDlmE12KDQJ-ARSpfOadE_-62izrHu3f9Ga9O0Y6T_G7U6y6hhACgeu4nPybKtcw2NSLBAj-TR3ano9-Q/s1600/pogo_dd_5.jpg" height="237" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht3mfnx0Bwb4t6co-Rs-HZWNMeVVUQmtWkKzKH8ZHA-ZpmmblY9W9gY25eKQ-sEP80hgFXi9EwS4zOycQJVHSZQE4AjyQJISLJhGcrkXgzf7YAph-DAx7yRxieNNhL-xQ_JPQnMv6Wkok/s1600/pogo_dd_6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht3mfnx0Bwb4t6co-Rs-HZWNMeVVUQmtWkKzKH8ZHA-ZpmmblY9W9gY25eKQ-sEP80hgFXi9EwS4zOycQJVHSZQE4AjyQJISLJhGcrkXgzf7YAph-DAx7yRxieNNhL-xQ_JPQnMv6Wkok/s1600/pogo_dd_6.jpg" height="237" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
그리고 공유기가 있는 사람들은 공유기의 IP 할당 정보를 이용하면 alarm 이라는 컴퓨터가 보일것이다.</div>
<div class="separator" style="clear: both; text-align: left;">
해당 컴퓨터가 포고플러그로써 ssh 접근을 시도하면 된다.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
id 와 pw는 모두 root 이다.(root/root)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
만약 공유기에서 저 정보를 제공하지 않는다면 zenmap 같은 스캐닝 툴로 192.168.0.1/24 로 포트 스캔하면 바로 찾을수 있다.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinXuRTEir1mLzZ9h5CWgCVGzWVOHLKhL-g1PBPtY_DYwMli2KvVpCXpaCNGTVeLOPdRwptsXXaHJ7Jr-Vjmwqo-awqs4JXSn3HzgrZk-YnZKapdYp5eprt340EcCRtivqgQqTlWkYmdfU/s1600/pogo_dd_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinXuRTEir1mLzZ9h5CWgCVGzWVOHLKhL-g1PBPtY_DYwMli2KvVpCXpaCNGTVeLOPdRwptsXXaHJ7Jr-Vjmwqo-awqs4JXSn3HzgrZk-YnZKapdYp5eprt340EcCRtivqgQqTlWkYmdfU/s1600/pogo_dd_3.png" height="124" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com2tag:blogger.com,1999:blog-5408125181014289659.post-21859691224891400472013-06-23T20:05:00.000-07:002013-06-23T20:05:01.083-07:00포고플러그(pogoplug) 전원 나갔을때 대체 수단포고 플러그를 쓰다 보면 가끔 파워 부분이 달랑 거려서 불안 불안한 경우가 있따 ㅠㅠ<br />
<br />
그래서 고정시켜야지 하고 순간 접착제를 발랏더니 무슨 회로가 타는 연기가..ㅡ,.ㅡ<br />
<br />
이런....ㅠㅠ 포고플러그 전원이 나가버렸다 ㅠㅠ<br />
<br />
정확하게는 전원보드가 망가져버렸다 ㅠㅠ<br />
<br />
그래서 포고 플러그 전원을 살려보겟다고 케이블을 보니 머? 10A 에 125v 란다..ㅡ,.ㅡ<br />
<br />
설마 10a에 12.5v 인가? 하고 아답터를 찾아보니 4만원씩이나 한다...ㅠㅠ<br />
(추후에 생각해보니 그냥 가정 전력을 공급하는걸 표시한듯 하다. ㅋ)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggAfxL-2s8TD_VAMELmDbtQE7lonwuxZLa8yHJWO7ZHuRBCd4fU0jqN0IjAMc7490R2SlpaptivqCjXiyy1j6cU0v1y-vxJfEY-5vLHOuhxxCUE8mWflQRlQmG_DYA6okpIWGKFOUVJD8/s1600/pogo_pwr_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggAfxL-2s8TD_VAMELmDbtQE7lonwuxZLa8yHJWO7ZHuRBCd4fU0jqN0IjAMc7490R2SlpaptivqCjXiyy1j6cU0v1y-vxJfEY-5vLHOuhxxCUE8mWflQRlQmG_DYA6okpIWGKFOUVJD8/s1600/pogo_pwr_2.jpg" height="320" width="237" /></a></div>
<br />
<br />
포고 한대 값이다 ㅠㅠ 그래서 안되겟다 ㅋ 설마 아닐거야 하고 친구넘 포고에서 측정을 해보니<br />
<br />
12v로 나온다 OK 일단 12v로 맞춰주면 되겠고 ㅋ<br />
<br />
바닥에 보면 USB OUTPUT 5v 에 2A라고 되어 있다 ㅋ<br />
<br />
5v * 2A 면 일단 10w 이상만 맞춰주면 되겟다 싶었다 ㅋ<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMPbtRG3jSRubIiSD3PTOp3gDNREMzpaSXWBps4JRC-fLZ2IZY63r6xZ5NBlbKpLOIuF1hc5AttBL8xEveOX3u73wJ3yFK9cpJIxqP1XziDyes1AhKHw-1Wq-5hTK-XqzjKYTKwd2IKUg/s1600/pogo_pwr_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMPbtRG3jSRubIiSD3PTOp3gDNREMzpaSXWBps4JRC-fLZ2IZY63r6xZ5NBlbKpLOIuF1hc5AttBL8xEveOX3u73wJ3yFK9cpJIxqP1XziDyes1AhKHw-1Wq-5hTK-XqzjKYTKwd2IKUg/s1600/pogo_pwr_3.jpg" height="237" width="320" /></a></div>
<br />
<br />
보드 작동하는 전력까지 생각해도 20w면 충분하지 않을까 생각했었기에<br />
<br />
주변에 찾아보니 12v에 2a 짜리가 있다 ㅋ 바로 보조 하드디스크 전력 공급 아답터 ㅋ<br />
<br />
확인해보니 12v짜리와 5v짜리 두개가 나온다 ㅋ 오호~ 나중에는 usb 충전 포트도 연결할만하겠다 싶었다 ㅋ<br />
(인터넷 가격으로도 7천원 정도면 구매 가능 ㅋ 택배비 생각하면 만원은 들지만 ㅋ)<br />
<br />
그래서 아래와 같이 개조 후 연결 ㅋ<br />
<br />
[HDD POWER]<br />
<b><span style="color: #f1c232;">O</span></b> <b>O</b> O O<br />
12v GND GND 5V<br />
[yellow]<br />
<br />
<b><span style="color: #f1c232;">O</span></b> <b>O</b><br />
[yellow] [black]<br />
[POGOPLUG]<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7SV00nOu8jM44R0ZaOHfDgbwnlTg1filJIc2wIyd4LLtrss9rgcLgv5f80XPLeiwKXkuQHogPD59LuioljtikIQQBFBZ1ugRKPQxvFC_Om-_PEEYZaXwGVqTDDcEZE9PbCiArm0ngguc/s1600/pogo_pwr_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7SV00nOu8jM44R0ZaOHfDgbwnlTg1filJIc2wIyd4LLtrss9rgcLgv5f80XPLeiwKXkuQHogPD59LuioljtikIQQBFBZ1ugRKPQxvFC_Om-_PEEYZaXwGVqTDDcEZE9PbCiArm0ngguc/s1600/pogo_pwr_4.jpg" height="237" width="320" /></a></div>
<br />
<br />
<br />
아주 잘 작동한다 ㅋㅋ 나이스 ㅋㅋㅋ<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhek1Z6_MsOjJk_8WXaFLMA1Hj0E1yY1sbT5DRjFK3MdIvk9H-zGkyjV9151h0y4bJwuQ24K_dZpxToSmCl2ErOWfHbzaIij6CO880Tgd1y95BkNVWdZrjeYVwULgzablbkzCHK-EtDkJw/s1600/pogo_pwr_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhek1Z6_MsOjJk_8WXaFLMA1Hj0E1yY1sbT5DRjFK3MdIvk9H-zGkyjV9151h0y4bJwuQ24K_dZpxToSmCl2ErOWfHbzaIij6CO880Tgd1y95BkNVWdZrjeYVwULgzablbkzCHK-EtDkJw/s1600/pogo_pwr_1.jpg" height="237" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com1tag:blogger.com,1999:blog-5408125181014289659.post-49508549647090278162013-06-03T02:43:00.000-07:002013-06-03T02:43:10.726-07:00pogoplug에서 실행 가능한 gcc(arm) 옵션 찾기pogoplug가 armv6 면서 PLX7820 cpu를 쓴다고는 하는데<br />
<br />
아무리 armv6로 컴파일을 해도 실행이 안된다 ㅠㅠ<br />
(arm-linux-gnueabi-gcc -march=armv6) 로 했을때 ㅠㅠ<br />
<br />
그래서 화딱지 나서 ㅋ 대충 인터넷에 누가 정리 해놓은 cpu를 종류별로 컴파일해봤다 ㅋ<br />
(arch 폴더는 그냥 armv6가 붙는 걸 전부 해본거, cpus폴더는 cpu 종류별로 해본거 ㅋ)<br />
<br />
물론 저거 보다 더 있겠지만 일단 저거부터 ㅋ<br />
<br />
어차피 pogoplug 외에도 요즘 임베디드 장비가 많아서 ㅋ 여기다 올려놓으면 나중에 쓸일 있을 듯 ㅋ<br />
<br />
http://oroi.googlecode.com/files/arm_gcc_test.tar.gzAnonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-45651824210422010732013-05-27T06:46:00.000-07:002013-05-27T06:46:08.982-07:00binwalk 진짜 편한듯 ㅋ요즘 파일하나에 몇십메가에서 몇백메가짜리들이 많아서<br />
<br />
import table이나<br />
<br />
strings 기준으로 ref를 타다보면<br />
<br />
갑자기 ref가 더이상 없고 끊어지는 경우가 있다 ㅋ<br />
<br />
특히 strings로 역추적해가면 ㅋ<br />
<br />
그래서 open으로 추적해보니 대부분이 해당 영역을 새로 파일을 만들거나 해당 영역만 읽어서 전송하는 기능이 있었다 ㅋ<br />
<br />
진정 안티 디버깅 ㅋㅋㅋㅋ<br />
<br />
그래서 files로 1바이트 단위로 다 체크하도록 하려고 했으나 사이즈가 너무 큰 관계로 너무 빡셈 ㅠㅠ<br />
<br />
그래서 binwalk로 해봤더니<br />
<br />
오우~ 그래도 꽤 신뢰성 높은 데이터를 뽑아주다 보니 ㅋ<br />
<br />
binwalk로 리스트업 해서 해당 영역들만 따로 뽑아 놓은다음 7zip으로 전체 풀기 했더니<br />
<br />
완전 잘 풀린다 ㅋㅋ<br />
<br />
짱짱 맨~ㅋ<br />
<br />
아래 코드는 binwalk로 나온 결과대로 파일을 짤라주는 스크립트 ㅋ<br />
<br />
#!/usr/bin/python<br />import os<br />import sys<br />import commands<br /><br />if len(sys.argv)>1:<br /> if os.path.isfile(sys.argv[1])==True:<br /> lv_rtn, lv_out = commands.getstatusoutput('binwalk '+sys.argv[1])<br /> #print len(lv_out.splitlines())<br /> ix=0<br /> lv_buf = open(sys.argv[1],'rb').read()<br /> lv_offset = lv_out.splitlines()<br /> while ix < len(lv_offset):<br /> if lv_offset[ix].find('\t')>0:<br /> lv_divide = lv_offset[ix].split('\t')<br /> if lv_divide[0].startswith('DECIMAL')==False:<br /> #print lv_divide[0]<br /> if int(lv_divide[0])>0:<br /> open(str(int(lv_divide[0])),'wb').write(lv_buf[int(lv_divide[0]):])<br /> # end if<br /> # end if<br /> ix=ix+1<br /> # end while<br /> # end if<br /># end if<br /><br /><br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-46872761325619616412013-05-22T05:28:00.001-07:002013-05-22T05:28:24.809-07:00android wifi infomation path안드로이드(갤럭시s, skt용) 기준으로<br />
<br />
아래의 위치에 wifi정보가 있다는걸 알게 되었다 ㅋ<br />
<br />
통신사마다 각 통신사의 wifi에 붙는 정보가 있길래 그걸 보고 싶었는데<br />
<br />
여기에 있을줄은 ㅋ<br />
( /data/wifi/bcm_supp.conf )<br />
<br />
T wifi zone_secure 정보를 kt 폰에 넣으면 어떻게 되려나?ㅋㅋ<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNp3G1GyLHh63HSKcga3GcNvEgJ0eJniw9RV2U5xoqjZNGzgGwgLcj6d3rMW5IQ4if9k5eup74wCs9DiWY4RVPtE_Ql6y_6Wfh2PGua6Hip9495HVaEplRwUej489cex870zcnSWnBtKw/s1600/wifi.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNp3G1GyLHh63HSKcga3GcNvEgJ0eJniw9RV2U5xoqjZNGzgGwgLcj6d3rMW5IQ4if9k5eup74wCs9DiWY4RVPtE_Ql6y_6Wfh2PGua6Hip9495HVaEplRwUej489cex870zcnSWnBtKw/s1600/wifi.png" height="320" width="208" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-48246649296636148032013-05-14T03:52:00.001-07:002013-05-14T03:52:38.035-07:00역시 for문은 함부로 쓰는게 아니군 ㅋpython에서 for in range()를 자주 쓰는데<br />
<br />
가끔 보면 이상하다 싶을 정도로 메모리를 많이 먹는다 ㅋ<br />
<br />
이상하다 싶어서 실험을 해보았다 ㅋ<br />
<br />
역시나 예상대로 for in range()를 쓰면 미리 돌리는데 필요한 메모리를 할당해놓고 시작하는지<br />
<br />
엄청 메모리를 많이 먹는다 ㅎㄸ<br />
(cpu, memory 거의 100프로 먹더니 그냥 killed 당해 버렸다 ㅋ 그것도 커널에 의해서 ㅋ) <br />
<br />
역시 while 문을 써야 하는군 ㅋ<br />
<br />
<br />
아래는 실험에 사용한 코드<br />
<br />
root@whoami:~# cat while.py <br />#!/usr/bin/python<br />ix=0<br />while ix<333333333:<br /> print ix<br /> ix=ix+1<br />#end while<br />root@whoami:~# cat for.py <br />#!/usr/bin/python<br /><br />for ix in range(0,333333333):<br /> print ix<br />#end for<br />root@whoami:~# <br />
<br />
<br />
아래는 실험 결과에 따른 화면<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTxt4WqxNRyHHSgeGIk7ReYvtw3TI29ZVtiolk0QYRN_G0rPyCvUvZs7ibtJGjRE9Pjhyphenhyphen4a_hWcDx57UDstQ-cEo1IjOhsaOpiOW3iSp7FXe2cHUvc5S6OEDtxvEuSl2ES2CDctDzkLK4/s1600/for.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTxt4WqxNRyHHSgeGIk7ReYvtw3TI29ZVtiolk0QYRN_G0rPyCvUvZs7ibtJGjRE9Pjhyphenhyphen4a_hWcDx57UDstQ-cEo1IjOhsaOpiOW3iSp7FXe2cHUvc5S6OEDtxvEuSl2ES2CDctDzkLK4/s1600/for.png" height="146" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKxbZc0VEYB46aBlXqPvlDIC6DI7i-TX0cy3o47Ualf-kx5vBflEtPRz1cPmPl2cT16xSAfZzL88T7X7AsQprzrFzP1IGhQUw_GeemGLosPaJGwFVrN6x8nEaV5FoOVWaWcIeoqv1XwNc/s1600/while.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKxbZc0VEYB46aBlXqPvlDIC6DI7i-TX0cy3o47Ualf-kx5vBflEtPRz1cPmPl2cT16xSAfZzL88T7X7AsQprzrFzP1IGhQUw_GeemGLosPaJGwFVrN6x8nEaV5FoOVWaWcIeoqv1XwNc/s1600/while.png" height="155" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-40170645279130121222013-05-14T03:31:00.001-07:002013-05-14T05:12:40.100-07:00HTTP 나 HTTPS 퍼징할때 써볼려고 만든거 ㅋ<br />
잘 작동 여부는 각자 알아서 테스트를 ㅋ<br />
<br />
<br />
#!/usr/bin/python<br />import sys<br />import socket<br />import ssl<br />import datetime<br />import time<br /><br />lv_pre_method='GET'<br />lv_pre_url='/'<br />lv_pre_ver='HTTP/1.1'<br />lv_pre_host='Host: 192.168.0.1'<br />lv_pre_user='User-Agent: '<br />lv_pre_accept='Accept: '<br />lv_pre_lang='Accept-Language: '<br />lv_pre_enc='Accept-Encoding: '<br />lv_pre_dnt='DNT: '<br />lv_pre_ref='Referer: '<br />lv_pre_cookie='Cookie: '<br />lv_pre_con='Connection: '<br /><br />lv_full_method='GET'<br />lv_full_url='/'<br />lv_full_ver='HTTP/1.1'<br />lv_full_host='Host: 192.168.0.1'<br />lv_full_user='User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0'<br />lv_full_accept='Accept: */*'<br />lv_full_lang='Accept-Language: en-US,en;q=0.5'<br />lv_full_enc='Accept-Encoding: gzip, deflate'<br />lv_full_dnt='DNT: 1'<br />lv_full_ref='Referer: http://192.168.0.1/'<br />lv_full_cookie='Cookie: '<br />lv_full_con='Connection: keep-alive'<br /><br />lv_msg_send=''<br />lv_msg_recv=''<br /><br />lv_send_pre_method = lv_pre_method+'%s '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_url = lv_pre_method+' '+lv_pre_url+'%s '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_ver = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'%s\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_host = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'%s\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_user = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'%s\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_accept = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'%s\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_lang = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'%s\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_enc = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'%s\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_dnt = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'%s\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_ref = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'%s\n'+lv_pre_cookie+'\n'+lv_pre_con+'\n\n'<br />lv_send_pre_cookie = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'%s\n'+lv_pre_con+'\n\n'<br />lv_send_pre_con = lv_pre_method+' '+lv_pre_url+' '+lv_pre_ver+'\n'+lv_pre_host+'\n'+lv_pre_user+'\n'+lv_pre_accept+'\n'+lv_pre_lang+'\n'+lv_pre_enc+'\n'+lv_pre_dnt+'\n'+lv_pre_ref+'\n'+lv_pre_cookie+'\n'+lv_pre_con+'%s\n\n'<br /><br />lv_send_full_method = lv_full_method+'%s '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_url = lv_full_method+' '+lv_full_url+'%s '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_ver = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'%s\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_host = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'%s\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_user = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'%s\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_accept = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'%s\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_lang = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'%s\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_enc = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'%s\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_dnt = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'%s\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_ref = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'%s\n'+lv_full_cookie+'\n'+lv_full_con+'\n\n'<br />lv_send_full_cookie = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'%s\n'+lv_full_con+'\n\n'<br />lv_send_full_con = lv_full_method+' '+lv_full_url+' '+lv_full_ver+'\n'+lv_full_host+'\n'+lv_full_user+'\n'+lv_full_accept+'\n'+lv_full_lang+'\n'+lv_full_enc+'\n'+lv_full_dnt+'\n'+lv_full_ref+'\n'+lv_full_cookie+'\n'+lv_full_con+'%s\n\n'<br /><br />lv_send_array=[lv_send_pre_method, lv_send_pre_url, lv_send_pre_ver, lv_send_pre_host, lv_send_pre_user, lv_send_pre_accept, lv_send_pre_lang, lv_send_pre_enc, lv_send_pre_dnt, lv_send_pre_ref, lv_send_pre_cookie, lv_send_pre_con, lv_send_full_method, lv_send_full_url, lv_send_full_ver, lv_send_full_host, lv_send_full_user, lv_send_full_accept, lv_send_full_lang, lv_send_full_enc, lv_send_full_dnt, lv_send_full_ref, lv_send_full_cookie, lv_send_full_con]<br /><br /># print lv_msg_recv#len(lv_msg_recv)<br />jx=0<br />while jx<len(lv_send_array):<br /> ix=0<br /> while ix<100000000:<br /> try:<br /> lv_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br /> lv_msg_send = lv_send_array[jx]%('a'*ix)<br /> lv_sock.connect(('192.168.0.1',443))<br /> lv_sock_ssl = ssl.wrap_socket(lv_sock)<br /> lv_sock_ssl.send(lv_msg_send)<br /> lv_msg_recv = lv_sock_ssl.recv()<br /> open('log_'+str(jx)+'.txt','a').write('---------- '+str(ix)+'('+str(len(lv_msg_recv))+') : '+str(datetime.datetime.now())+' ----------\n')<br /> lv_sock_ssl.close()<br /> lv_sock.close()<br /> except:<br /> open('dis_'+str(jx)+'.txt','a').write('---------- '+str(ix)+'('+str(len(lv_msg_recv))+') : '+str(datetime.datetime.now())+' ----------\n')<br /> os.system('ifconfig eth0 down')<br /> time.sleep(60)<br /> os.system('ifconfig eth0 up')<br /> ix = ix+1<br /> #end while<br /> jx = jx+1<br />#end while<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-23403093948544970942013-05-14T03:29:00.002-07:002013-05-14T03:29:55.220-07:00한번에 HTTP Request 를 할일이 있을때 것두 많이 ㅋ한번에 세션을 무진장 많이 만들어 볼일이 있었는데 ㅋ<br />
<br />
쓰레드로 한번 짜봤음 ㅋ<br />
<br />
저기서 close 안하고 recv도 계속 대기 타게 만들면 dos 툴이 되려나?ㅋㅋㅋ<br />
<br />
<br />
<br />
#!/usr/bin/python<br />#ref : http://bloodguy.tistory.com/365<br />import thread<br />import time<br />import socket<br />import ssl<br />import sys<br />import os<br /><br />v_lock = thread.allocate_lock()<br />v_max_thread = 1111<br /><br />def F_TCP_SEND(lv_addr, lv_port, lv_msg_send):<br /> lv_msg_recv=''<br /> try:<br /> lv_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br /> lv_sock.connect((lv_addr,lv_port))<br /> lv_sock.send(lv_msg_send)<br /> lv_msg_recv = lv_sock.recv(0)<br /> lv_sock.close()<br /> except:<br /> print '\n[F_TCP_SEND]'+str(sys.exc_info())<br /> return lv_msg_recv<br />#def<br /><br />def F_TCP_SSL_SEND(lv_addr, lv_port, lv_msg_send):<br /> lv_msg_recv=''<br /> try:<br /> lv_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br /> lv_sock.connect((lv_addr,lv_port))<br /> lv_sock_ssl = ssl.wrap_socket(lv_sock)<br /> lv_sock_ssl.send(lv_msg_send)<br /> lv_msg_recv = lv_sock_ssl.recv()<br /> lv_sock_ssl.close()<br /> lv_sock.close()<br /> except:<br /> print '\n[F_TCP_SSL_SEND]'+str(sys.exc_info())<br /> return lv_msg_recv<br />#def<br /><br />def F_THREAD_FLAG():<br /> v_lock.acquire()<br /> global v_max_thread<br /> v_max_thread=v_max_thread-1<br /> v_lock.release()<br />#def<br /><br />def F_TCP_ONLY(lv_idx):<br /> lv_msg_send=('a'*1400)<br /> F_TCP_SEND('192.168.0.1',80, lv_msg_send)<br /> F_THREAD_FLAG()<br />#def<br /><br />def F_TCP_HTTP(lv_idx):<br /> lv_msg_send = 'GET / HTTP/1.1\nHost: 192.168.0.1\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0\nAccept: */*\nAccept-Language: en-US,en;q=0.5\nAccept-Encoding: gzip, deflate\nDNT: 1\nReferer: http://192.168.0.1/\nCookie: %s\nConnection: keep-alive\n\n'%('a'*1134)<br /> F_TCP_SEND('192.168.0.1',80, lv_msg_send)<br /> F_THREAD_FLAG()<br />#def<br /><br />def F_TCP_SSL(lv_idx):<br /> lv_msg_send=('a'*700)<br /> F_TCP_SSL_SEND('192.168.0.1',443, lv_msg_send)<br /> F_THREAD_FLAG()<br />#def<br /><br />def F_TCP_HTTPS(lv_idx):<br /> lv_msg_send = 'GET / HTTP/1.1\nHost: 192.168.0.1\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0\nAccept: */*\nAccept-Language: en-US,en;q=0.5\nAccept-Encoding: gzip, deflate\nDNT: 1\nReferer: http://192.168.0.1/\nCookie: %s\nConnection: keep-alive\n\n'%('a'*500)<br /> F_TCP_SSL_SEND('192.168.0.1',443, lv_msg_send)<br /> F_THREAD_FLAG()<br />#def<br /># os.system('ulimit -n 102400')<br />print 'start making thread'<br />ix=0<br />try:<br /> for ix in range(v_max_thread):<br /> #thread.start_new_thread(F_TCP_ONLY,(ix,))<br /> #thread.start_new_thread(F_TCP_HTTP,(ix,))<br /> #thread.start_new_thread(F_TCP_SSL_SEND,(ix,))<br /> thread.start_new_thread(F_TCP_HTTPS,(ix,))<br /> #if ix%10000==0:<br /> #time.sleep(1)<br /> #print ix<br /> #for<br />except:<br /> v_max_thread = ix<br />v_max_thread = ix<br />print 'All done, making thread(%d)'%v_max_thread<br />while v_max_thread:<br /> time.sleep(0.1)<br />#while<br />print 'All done, process exit'<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-29903813852450595492013-05-14T00:32:00.000-07:002013-05-14T00:32:05.070-07:00우분투에서 jnlp 파일 실행하기가끔가다가 jnlp 파일을 실행할 경우가 생긴다<br />
<br />
windows에서는 javaw였나? 그걸로 실행하면 되었던걸로 기억을 하는데<br />
<br />
우분투에서는 javaw가 없다 ㅠㅠ<br />
<br />
sudo apt-get install openjdk-jdk7 이었던가? 머시깽이로 설치했는데도 없다.. ㅠㅠ<br />
<br />
그래서<br />
<br />
sudo apt-cache search javaw 로 검색했더니<br />
<br />
icedtea-netx 이게 나온다 ㅋㅋㅋ<br />
<br />
설명을 보니 jnlp 실행을 위한 패키지다 ㅋ<br />
<br />
나이스 ㅋㅋㅋ<br />
<br />
sudo apt-get install icedtea-netx<br />
<br />
로 설치하고 <br />
<br />
sudo javaws ./<파일명>.jnlp<br />
<br />
으로 실행하면 끝~ㅋ<br />
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-59073011457783186962013-05-14T00:28:00.002-07:002013-05-14T00:28:47.038-07:00우분투에서 serial(com interface) 연결하기sudo apt-get install minicom<br />
<br />
을 통하여 serial 연결을 위한 패키지 설치<br />
<br />
dmesg | grep tty<br />
<br />
를 실행하면 연결된 터미널 리스트가 나오는데<br />
<br />
일반적으로 최근 많이 사용하는 usb to serial의 경우 ttyUSB 로 잡힘<br />
<br />
아래와 같이 쉘로 만들어서 사용하면 됨<br />
(물론 그냥 minicom을 실행해서 설정하여도 됨)<br />
<br />
#!/bin/sh<br />sudo minicom -b 9600 -D /dev/ttyUSB0<br />
<br />
-b는 전송율이고<br />
-D는 장치 경로를 지정함<br />
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0tag:blogger.com,1999:blog-5408125181014289659.post-42965416288143930142013-05-14T00:25:00.000-07:002013-05-14T00:25:16.352-07:00우분투에서 TFTP 서버 활용하기sudo apt-get install tftp-hpa<br />sudo apt-get install tftpd-hpa<br />
<br />
tftp 데몬 및 클라이언트 설치<br />
<br />
그냥 tftpd 도 있지만 위의 패키지가 xinet 의존성을 찾지 않는게 더 깔끔함<br />
<br />
설치 후 rc.local에 아래의 한줄 넣어주면 끝<br />
<br />
/usr/sbin/in.tftpd -l -c -s /tftpboot/<br />
<br />
/tftpboot/는 없을 경우 만들어 주면 됨 tftp가 root 폴더로 볼 경로임<br />
<br />
-l 은 listen 이라고 하고<br />
-c는 클라이언트가 없는 파일 생성할수 있게 create 옵션을 주는것이라고 함<br />
-s 는 서버의 루트 폴더를 지정하는 옵션이라고 함.<br />
<br />Anonymoushttp://www.blogger.com/profile/15398076607240563755noreply@blogger.com0