APK를 Java 소스로 바꿔주는 배치 프로그램입니다.
제가 만들었고 라이센스 없습니다. 가져다 쓰세요.
7z.exe가 Command line 상에서 사용 가능 해야 하며
같은 폴더에 dex2jar-2.0, jd-cli-0.9.1 이 있어야 합니다.
----------------------------------------------------------------------
findStringList.txt 는 다음과 같은 포맷으로 되어있습니다.
이 경우 string과 want, password 라는 문자열을 찾습니다.
--------------------------findStringList.txt--------------------------
;
; 설명(주석) :찾을 문자
;
설명 :string
찾을문자열 :want
패스워드 관련 :password
----------------------------------------------------------------------
제가 만들었고 라이센스 없습니다. 가져다 쓰세요.
7z.exe가 Command line 상에서 사용 가능 해야 하며
같은 폴더에 dex2jar-2.0, jd-cli-0.9.1 이 있어야 합니다.
----------------------------------------------------------------------
@echo off set Title_BY=ver1.1_by_B.Y. title %Title_BY% echo 7zip, dex2jar-2.0, jd-cli-0.9.1 이 모두 있어야 합니다. 7z >NUL if %ERRORLEVEL% EQU 0 ( goto GO_execute ) ELSE ( echo 7zip을 설치하고, 환경변수로 지정해주세요. pause goto GO_END ) :GO_execute set pth=%cd% set new=Src_%date:~5%_%time:~0,2%_%time:~3,2%_%time:~6,2% set /P pt^=APK (with path): mkdir %pth%\%new% rem APK to JAR 7z x %pt% -y -o%pth%\%new% IF EXIST %pth%\dex2jar-2.0\classes-dex2jar.jar ( del /S /Q %pth%\dex2jar-2.0\classes-dex2jar.jar ) setlocal enabledelayedexpansion cd dex2jar-2.0 set LIB=lib set CP= for %%X in ("%LIB%"\*.jar) do ( set CP=!CP!%%X; ) ::에러가 나면 여기를 수정해보세요. ::java -Xms512m -Xmx1024m -cp "%CP%" com.googlecode.dex2jar.tools.Dex2jarCmd %pth%\%new%\classes.dex java -Xms512m -Xmx1024m -cp "%CP%" com.googlecode.dex2jar.tools.Dex2jarCmd %pth%\%new%\classes.dex pause cd .. cd %pth% mkdir %pth%\%new%\javaSrc java -jar jd-cli-0.9.1\jd-cli.jar -od %pth%\%new%\javaSrc %pth%\dex2jar-2.0\classes-dex2jar.jar cp %pth%\dex2jar-2.0\classes-dex2jar.jar %pth%\javaSrc.jar start "" %pth%\%new%\javaSrc ::cd %pth%\%new%\javaSrc IF EXIST %pth%\dex2jar-2.0\classes-dex2jar.jar ( del /S /Q %pth%\dex2jar-2.0\classes-dex2jar.jar ) cls :_Find if EXIST findInJavaSrc.bat ( findInJavaSrc.bat %pth%\%new%\javaSrc %Title_BY% ) :GO_END----------------------------------findInJavaSrc.bat------------------------------------
@echo off set Title_BY=%2 if DEFINED Title_BY ( title %Title_BY% ) else ( title findInJavaSrc by B.Y.Kim ) cls color 03 set pth=%cd% set rpth=%1 if NOT DEFINED rpth ( set rpth=%cd% ) ELSE ( set rpth=%1 ) IF EXIST %rpth%\finded (del /Q /S %rpth%\finded) mkdir %rpth%\finded cls cd %rpth% echo 찾는 위치 : %rpth% echo 찾을 문자열 : %pth%\findStringList.txt type %pth%\findStringList.txt echo. IF EXIST %pth%\findStringList.txt ( echo 위 문자열들을 찾는 중입니다... 잠시만 기다려 주세요. echo. for /f "delims= delims=: tokens=2 eol=; usebackq" %%i in ("%pth%\findStringList.txt") do call :FOR_GO %%i echo Find END___ goto FOR_END :FOR_GO findstr /N /I /S /C:"%1" *.java | findstr /V \/\/ >"%rpth%\finded\%1.txt" exit/b ) ELSE ( echo 찾을 문자열이 없습니다. echo "" >> "%pth%\findStringList.txt" start "" "%pth%\findStringList.txt" ) :FOR_END color start "" %rpth%\finded :end----------------------------------------------------------------------
findStringList.txt 는 다음과 같은 포맷으로 되어있습니다.
이 경우 string과 want, password 라는 문자열을 찾습니다.
--------------------------findStringList.txt--------------------------
;
; 설명(주석) :찾을 문자
;
설명 :string
찾을문자열 :want
패스워드 관련 :password
----------------------------------------------------------------------