2013/11/18

rcehub db 사용하기

codeengn에서 제공하는 서비스 중에 rcehub 라는 서비스가 있다.

보안 전문가들을 위한 무료 호스팅 서비스 ㅋ

꽤 속도도 좋고 나름 쓸만하다 ㅎㅎ

거기다 DB 서비스를 제공한다 ㅋ Mysql 을 제공하다가 Maria DB로 넘어간듯 하다 ㅎㅎ

Maria DB는 MySQL 엔진 기반으로 완벽하게 호환되며 ㅋ

호스팅 디렉토리에 phpmyadmin을 올려서 써도 된다 ㅋ
(setup 폴더는 지우고 쓰시길)

하지만 phpmyadmin을 쓰기엔 불안한 관계로 문의하니

heidisql을 이용하여 ssh tunnel을 사용하면 된다고 한다 ㅋ

그래서 아래와 같이 셋팅해서 써봤다 ㅋ

- 설정 -
네트워크 유형 : MySQL (SSH tunnel)
호스트명IP : 127.0.0.1
사용자 : rcehub db id
암호 : rcehub db pw
포트 : 3306

- SSH 터널 -
plink.exe 위치 : plink.exe 파일 저장한 위치
SSH 호스트 + 포트 : rcehub 도메인 + 22
사용자 이름 : rcehub id
암호 : rcehub pw

나머지는 기본 설정대로 가면 됩니다. ㅋ

아주 잘됨 ㅋ

나중엔 gitlab도 써야지 ㅋ




2013/11/16

java(android) obfuscation rename

android의 jar 코드 보다 보면 obfuscation 된 코드 때문에 힘든경우가 많다 ㅋ
(이제 android java의 obfuscation은 이미 대중화 된듯 ㅋ 죄다 a, b, c 이런.. 젠장 ㅠㅠ)

smali 코드도 좋지만 java 코드로 보는게 편한관계로 jar 파일의 obfuscation 부분을

deobfuscation 하는 방법을 찾아보니 rename으로 구분하기 편하게 해놓은게 있다 ㅋ

jd-gui로 검색하고 trace 하는걸 자주 하는 분들은 요것도 한 방법인듯 합니다.

..\dex2jar-0.0.9.15\d2j-init-deobf.bat -f -o init.txt classes_dex2jar.jar
 -> jar 파일로 부터 class 정보 추출해서 init.txt 파일에 저장

..\dex2jar-0.0.9.15\d2j-jar-remap.bat -f -c init.txt -o aa.jar classes_dex2jar.jar
 -> init.txt 파일을 기준으로 rename한 새로운 aa.jar 생성

rename 한 애들이 mpa 머 이런식으로 구성되는데다가

겹치기도 하고 추후에  parameter에 따라 구분되는거 검색도 편하게 하려고 만든

파이썬 스크립트 ㅋ

#!/usr/bin/python

lv_file = open('init.txt','rb')
lv_out = open('out.txt','wb')
lv_lines = lv_file.read().splitlines()

#print len(lv_lines)
ix=0
while ix<len(lv_lines):
    if lv_lines[ix].startswith('m ') == True and lv_lines[ix].find('=')>3:
        #method
        lv_first = lv_lines[ix].find('(')
        if lv_first>5:
            #param
            lv_second = lv_lines[ix].rfind(')')
            lv_cnt = lv_lines[ix].count(';',lv_first,lv_second)
            lv_out.write(lv_lines[ix]+str(ix)+'_param'+str(lv_cnt)+'\n')
        else:
            lv_out.write(lv_lines[ix]+'\n')
        #end if
    else:
        lv_out.write(lv_lines[ix]+'\n')
    #end if
    ix=ix+1
#end while
lv_file.close()
lv_out.close()

windows 7 에서 파티션 문제로 설치 안될때 ㅋ

windows 7 에서 파티션 문제로 설치 안될때 ㅋ

리눅스만 쓰다가 윈도우로 넘어갈때 파티션 인식 안될때가 있었는데 ㅋ

이거 괜찮은 내용인듯 ㅋ

http://blog.naver.com/PostView.nhn?blogId=baljern&logNo=140116004420

2013/11/07

find string from apk with apktool and ubuntu

#!/usr/bin/python
#find string from apk with apktool and ubuntu
import os
import glob
import sys
import subprocess

def F_FIND_KEY(lv_path):
    lv_rtn = False
    lv_key=['KeyGenerator','setSeed','SecretKeySpec','KeyPairGenerator']
    ix=0
    while ix<len(lv_key):
        lv_out = subprocess.Popen(['grep',lv_key[ix],lv_path,'-r'],stdout=subprocess.PIPE).communicate()[0]
        if len(lv_out) >0 :
            lv_rtn = True
            return lv_rtn
        #end if
        ix=ix+1
    #end while
    return lv_rtn
#end def

lv_path = '/tmp'

#print len(sys.argv)

if len(sys.argv)>=2 :
    lv_path = sys.argv[1]
    #print lv_path
#end if

lv_apk = lv_path+'/*.apk'
lv_dec = lv_path+'/apk_dec/'

lv_list  = glob.glob(lv_apk)

if os.path.exists(lv_dec)==False:
    os.mkdir(lv_dec)
#end if

ix=0
jx=0
while ix<len(lv_list):
    #print os.path.splitext(lv_list[ix])
    lv_name = os.path.splitext(os.path.basename(lv_list[ix]))[0]
    if os.path.exists(lv_dec+lv_name) == False :
        #os.mkdir(lv_dec+lv_name)
        #os.system('apktool d '+lv_list[ix]+' '+lv_dec+lv_name)
        subprocess.Popen(['apktool','d',lv_list[ix],lv_dec+lv_name],stdout=subprocess.PIPE).communicate()[0]
        #end if
    #end if
    #### grep key ####
    if F_FIND_KEY(lv_dec+lv_name) == True:
        open('result.txt','ab').write(lv_name+'\n')
        jx=jx+1
    #end if
    ix=ix+1
#end while

print 'done with ' + str(jx) + ' apks...'