
StaCoAn은 개발자, 버그바운티 헌터 및 윤리적 해커가 모바일 애플리케이션에 대한 정적 코드 분석을 수행할 수 있도록 도와주는 크로스플랫폼 도구입니다.

StaCoAn은 모바일 애플리케이션*에서 정적 코드 분석을 수행하는 개발자, 버그 바운티 헌터, 윤리적 해커를 지원하는 크로스플랫폼 도구입니다.
이 도구는 코드에서 다음과 같은 흥미로운 줄을 찾습니다:
이 도구는 사용자 인터페이스에서 사용성과 시각적 안내에 큰 중점을 두고 만들어졌습니다.
조금 더 빨리 시작하고 싶다면 릴리스 페이지에서 다운로드하세요.
*: 현재는 apk 파일만 지원되지만, ipa 파일도 곧 지원될 예정입니다.
예제 보고서는 여기에서 확인할 수 있습니다.
개념은 StaCoAn 애플리케이션에 모바일 애플리케이션 파일(.apk 또는 .ipa 파일)을 드래그 앤 드롭하면 시각적이고 휴대 가능한 보고서가 생성되는 것입니다. 설정과 단어 목록을 조정하여 맞춤형 경험을 얻을 수 있습니다.
보고서에는 디컴파일된 애플리케이션을 쉽게 탐색할 수 있는 편리한 트리 뷰어가 포함되어 있습니다.

_Loot 기능_을 사용하면 가치 있는 결과물을 '약탈'(~북마크)할 수 있으며, 약탈 페이지에서 약탈한 결과물의 개요를 확인할 수 있습니다.
최종 보고서는 zip 파일로 내보내어 다른 사람과 공유할 수 있습니다.
애플리케이션은 코드에서 흥미로운 줄을 찾기 위해 단어 목록을 사용합니다. 단어 목록은 다음 형식입니다:
API_KEY|||80||| This contains an API key reference
(https|http):\/\/.*api.*|||60||| This regex matches any URL containing 'api'
이 단어 목록은 정규식 항목을 지원합니다.
exclusion_list.txt에서 제외 항목을 정의할 수 있습니다(어떤 이유로 결과가 너무 많은 경우):
(https|http):\/\/.*api.*|||"res","layout"||| Like previously, note that "res","layout" resembles the path
(https|http):\/\/.*api.*|||||| To exclude everywhere
모든 소스 파일이 처리됩니다. 여기에는 '.java', '.js', '.html', '.xml',... 파일이 포함됩니다.
데이터베이스 파일에서도 키워드를 검색합니다. 데이터베이스에는 테이블 뷰어도 있습니다.

보고서는 모든 화면에 맞게 제작되었습니다.


이 도구는 난독화된 코드에 문제가 있습니다. 개발자라면 이 도구를 실행하기 전에 난독화를 끄고 컴파일해보세요. 공격자라면, 행운을 빕니다, 친구.
가능한 한 빨리 시작하려면 릴리스 페이지로 이동하여 운영 체제에 맞는 실행 파일 또는 아카이브를 다운로드하세요.
릴리스 zip 파일을 다운로드한 경우 압축을 푸세요.
Windows에서는 실행 파일을 더블 클릭하면 됩니다. 서버 모드로 열리며 웹 인터페이스에 모바일 애플리케이션을 드래그 앤 드롭할 수 있습니다.

Mac 및 Linux에서는 인수 없이 터미널에서 실행하면 서버 모드로 실행됩니다.
./stacoan
이 파일을 실행 파일로 드래그 앤 드롭하세요.
또는 서버 모드 없이 실행하려면 apk 파일을 지정할 수 있습니다:
./stacoan -p test-apk.apk
보고서는 apk 이름에 해당하는 폴더 안에 저장됩니다.
cd docker
docker build . -t stacoan
애플리케이션이 /yourappsfolder 위치에 있는지 확인하세요.
docker run -e JAVA_OPTS="-Xms2048m -Xmx2048m" -p 8888:8888 -p 7777:7777 -i -t stacoan
http://127.0.0.1:7777를 통해 애플리케이션을 드래그 앤 드롭하세요.
git clone https://github.com/vincentcox/StaCoAn/
cd StaCoAn/src
pip3가 설치되어 있는지 확인하세요:
sudo apt-get install python3-pip
필요한 Python 패키지를 설치하세요:
pip3 install -r requirements.txt
명령줄을 통해 StaCoAn을 실행하세요:
python3 stacoan.py -p yourApp.apk
또는 드래그 앤 드롭 인터페이스를 사용하려면:
python3 stacoan.py
src 폴더에 있는지 확인하세요.
cd src
PyInstaller를 설치하세요:
pip3 install pyinstaller
PyInstaller는 코드가 있는 하위 폴더를 처리할 수 없으므로, 코드를 하나의 폴더에 넣어야 합니다.
sed -i 's/from helpers./from /g' helpers/*
sed -i 's/from helpers./from /g' stacoan.py
sed -i 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoan 빌드:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
PyInstaller는 코드가 있는 하위 폴더를 처리할 수 없으므로, 코드를 하나의 폴더에 넣어야 합니다.
# Note the ''-> this is because sed syntax is different on mac.
sed -i '' 's/from helpers./from /g' helpers/*
sed -i '' 's/from helpers./from /g' stacoan.py
sed -i '' 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoan 빌드:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
PyInstaller는 코드가 있는 하위 폴더를 처리할 수 없으므로, 코드를 하나의 폴더에 넣어야 합니다.
sed -i 's/from helpers./from /g' helpers/*
sed -i 's/from helpers./from /g' stacoan.py
sed -i 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoan 빌드:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
이 프로그램의 전체 가치는 사용하는 단어 목록에 달려 있습니다. 결국 중요한 것은 최종 결과입니다. (실제 코드 작성에 비해) 단어 목록을 만드는 것은 쉽지만, 최종 결과에 가장 큰 영향을 미칩니다. 단어 목록을 만들어 커뮤니티에 가장 큰 도움을 줄 수 있습니다.
아이디어를 쉽게 게시하고 싶다면 http://www.tricider.com/brainstorming/2pdrT7ONVrB로 이동하세요. 거기서 단어 목록 항목에 대한 아이디어를 추가할 수 있습니다.
코드 개선도 매우 감사히 받겠습니다.
기여도가 충분히 높으면 authors 섹션에 언급됩니다.
res/layout의 http 및 일반적인 http://schemas.android.com/apk/res/android 무시이 프로젝트에는 다음 프로젝트가 사용되었습니다:
이 모든 프로젝트에는 해당 라이선스가 있습니다. 이 프로젝트를 수정 및 재배포할 때 이를 준수해 주시기 바랍니다.
*: 바이너리는 이 프로젝트에 포함되어 있습니다. JADX 개발자가 이에 대해 불편하시다면, 연락 주시기 바랍니다. 해결책을 찾을 수 있습니다.
더 많은 분들이 나열되어야 하지만, 모두 나열할 수는 없습니다.
| 프로젝트 생성자 |
|---|
|
|