김보안의 블로깅
  • 🏠 Home
  • 📚 Project
    • Blockchain
      • 🎦 PickMe
      • 🎦 IoTC
      • 🎦 Blackchain
      • 📃 Gemology
      • 🎦 PickMe
      • 🎦 PickMe
    • AI
      • 👋 A.I. Dream Reader
      • 🎦 A.I. Dream Reader
    • Security
      • 🎦 SNAC
    • Education
      • 🎦 Smart Lecture
  • 🤸‍♂ Hobby
    • Music
      • Violin
      • Guitar
      • Piano
      • Drum
    • Flower
      • Flower Certificate
    • Sport
      • Ski
      • Skateboard
      • Golf
      • Boxing

2016년 1월 20일 수요일

APK to Java in Node.js

 SecureKim     오전 10:36     APK to java, Node.js     No comments   


Node.js 에서 APK 파일을 읽어서 Java 파일로 만들어 줍니다.

js 파일과 같은 위치에 programs 폴더가 있어야 하고

그 안에 7-Zip, dex2jar-2.0, jd-cli-0.9.1 프로그램이 있어야 하고

apk, sources 폴더가 있어야 합니다.

apk 폴더 안에 풀고 싶은 apk 파일을 넣고 인자로 주면 sources에 풀립니다.

제가 만들었고 라이센스 없습니다.


apk2java

exports.apk2java = function(apkName){

var nodePath=process.cwd();
var programsPath=nodePath+"\\programs";
const exec = require('child_process').exec;


var d = new Date();
var folderName=d.getTime();
var srcPath=programsPath+"\\sources\\"+folderName;
 
 console.log("Start APK -> Zip -> dex");
 exec(programsPath+"\\7-Zip\\7z.exe x \""+programsPath+"\\apk\\"+apkName+"\" -y -o"+srcPath, (err, stdout, stderr) => {
  if (err) {
   console.error(err);
   console.log("End - Fail.");
   return;
  }
  if(stderr){
   console.log("stderr");
   //console.error(stderr);
  } 
   console.log("Start APK -> Zip -> dex -> jar");
   exec(programsPath+"\\dex2jar-2.0\\d2j-dex2jar.bat "+srcPath+"\\classes.dex "+"-o "+srcPath+"\\classes.jar", (err, stdout, stderr) => {
  if (err) {
   console.log("err");
   console.error(err);
   console.log("End - Fail.");
   return;
  }  
  if(stderr){
   console.log("stderr");
   //console.error(stderr);
  } 
  console.log("Start APK -> Zip -> dex -> jar -> java");
  exec("java -jar "+programsPath+"\\jd-cli-0.9.1\\jd-cli.jar -od "+srcPath+"\\javaSrc "+srcPath+"\\classes.jar", (err, stdout, stderr) => {
   if (err) {
    console.error(err);
    console.log("End - Fail.");
    return;
   }  
   if(stderr){
    console.log("stderr");
   } 
   //console.log(stdout);
   console.log("End - Success.");
   
  });
   });
 });
}
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
이메일로 전송BlogThis!X에 공유Facebook에서 공유
최근 게시물 이전 게시물 홈

0 개의 댓글:

댓글 쓰기

페이지

  • 홈
  • Hobby

Categories

  • AI
  • AWS
  • Blockchain
  • Hardware
  • Javascript
  • Node.js
  • Plasma
  • Security
  • Study
  • Video
  • android
  • mysql
  • review
  • windows

Popular Posts

  • 회사 프록시와 인증서에 고통받는 그대를 위한 글 (Bash, Gradle, Python, wget, nodejs(npm), apt-get, cURL, git, yarn, androidStudio)
    대기업에 입사하면 장단점이 있는데, 단점 중에 하나가 회사에서 프록시를 사용하여 트래픽 감시를 하므로 프록시 설정을 해주어야 한다는 점 입니다. 특히, 회사에서는 https 트래픽도 감시를 하므로 인증서도 설정해 주어야 합니다. 그런데 문...
  • 태블릿에서 양자내성암호(격자암호) 돌려보기
      Termux에서 양자 내성 암호 돌려보기 많은 시행 착오 끝에 성공 ! 1. Playstore에서 Termux를 설치한다. 2. 양자 내성 암호 라이브러리 빌드를 위한 셋업 pkg update && pkg upgrade -y pkg ...
  • 블랙보드 강의 녹화 영상 다운로드 가능한 방법 (노설치)
    별도의 설치도 필요 없고 아주 쉽습니다. 구글 크롬브라우저 에서 블랙보드 녹화 영상에  다운로드 가능한 메뉴가 나오게 하는 코드입니다.  먼저 블랙보드 강의자료에 입장하고, 재생 버튼을 클릭 하지 않은 상태로 F12 를 입력합니다. 재생을 클릭하지 마...

Blog Archive

  • ►  2026 (2)
    • ►  2월 (2)
  • ►  2025 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  7월 (1)
  • ►  2024 (2)
    • ►  11월 (2)
  • ►  2023 (2)
    • ►  10월 (1)
    • ►  1월 (1)
  • ►  2022 (10)
    • ►  12월 (1)
    • ►  11월 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  6월 (2)
    • ►  3월 (2)
  • ►  2021 (9)
    • ►  12월 (3)
    • ►  11월 (1)
    • ►  6월 (1)
    • ►  5월 (2)
    • ►  4월 (2)
  • ►  2020 (12)
    • ►  10월 (1)
    • ►  9월 (2)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (5)
    • ►  4월 (1)
    • ►  2월 (1)
  • ►  2019 (14)
    • ►  10월 (2)
    • ►  7월 (1)
    • ►  3월 (4)
    • ►  2월 (2)
    • ►  1월 (5)
  • ►  2018 (14)
    • ►  12월 (2)
    • ►  11월 (4)
    • ►  10월 (1)
    • ►  8월 (2)
    • ►  5월 (4)
    • ►  1월 (1)
  • ►  2017 (12)
    • ►  10월 (2)
    • ►  9월 (9)
    • ►  5월 (1)
  • ▼  2016 (8)
    • ►  10월 (2)
    • ►  8월 (1)
    • ►  6월 (1)
    • ▼  1월 (4)
      • Android so file decompile & patch
      • APK to Java in Node.js
      • MITM을 위한 Proxy 설정방법
      • Network Ping Batch - 윈도우 네트워크 핑 스크립트
  • ►  2015 (6)
    • ►  12월 (3)
    • ►  10월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
  • ►  2014 (10)
    • ►  11월 (1)
    • ►  9월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (3)
    • ►  4월 (1)
    • ►  3월 (2)
  • ►  2013 (28)
    • ►  12월 (3)
    • ►  11월 (6)
    • ►  10월 (6)
    • ►  9월 (6)
    • ►  8월 (1)
    • ►  7월 (3)
    • ►  6월 (3)

구독

글
Atom
글
댓글
Atom
댓글

로드 중입니다...

각오

직접 해보지 않은 것은 포스팅 하지 않겠습니다.

Copyright © 김보안의 블로깅 | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates