제가 만들었고 라이센스 없습니다. 가져다 쓰세요.
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
----------------------------------------------------------------------
0 개의 댓글:
댓글 쓰기