pookjw / backon Goto Github PK
View Code? Open in Web Editor NEW탈옥된 iOS 기기를 백업
탈옥된 iOS 기기를 백업
Please wait.
BackOn에서 runUpdate를 실행하면 UpdaterVersion가 2이면 installUpdate를 실행하고, 1이면 installUpdate_old를 실행하도록 되어 있습니다. (이렇게 나누는 이유가 BackOn의 업데이트로 업데이트 방식이 바뀌면서 이전 업데이트 방식은 installUpdate_old로 바꿨고, 새롭게 바뀐 업데이트 방식은 installUpdate에 넣었습니다. installUpdate_old가 새로 바뀐 update-script에 잘 호환하는지 확인하기 위함입니다.)
그리고 DevSettings에서 UpdaterVersion의 값을 1, 2가 아닌 다른 값으로 설정하고 runUpdate를 실행하면
echo -e "ERROR! (UpdaterVersion is wrong.)"
명령어가 실행됩니다. 근데 제가 여기에 깜박하고 PA2CKey ('계속하려면 아무 키나 누르십시오...'를 출력하는 function) 추가를 안해서(...) 저 문구가 묻혀버리는 버그가 발생합니다.
DevSettings 관련한 버그라 큰 문제가 아니긴 한데, 그래도 혹시 모르니 적어둡니다.
Library 백업, 복원에 버그가 있습니다. BackOn의 모든 버전이 해당되는 버그입니다.
일단 Library 백업의 버그부터 쓰자면,
Library 백업은 /var/mobile/Library의 디렉토리를 백업 타겟으로 합니다. 다만 백업 입력란(read)에 **..**를 이용하면 타겟 디렉토리 변경이 가능한 버그가 있습니다.
예를 들어 **../../../**을 입력하면 하위 디렉토리로 이동하게 되어 백업 타겟이 **/**로 설정되어 버립니다. 따라서 **/**이 /tmp/BackOn/Backup/백업이름/Library로 통째로 백업되는 일이 발생합니다.
Library 복원 부분에서도 마찬가지인데, 여기선 치명적입니다.
Library 복원은 /tmp/BackOn/Restore/Library의 디렉토리에 있는 파일들을 복원 타겟으로 삼아 /var/mobile/Library에 복사하는 게 원칙입니다.
다만 마찬가지로 **../../../../**를 입력해 버리면 **/**이 /var/mobile/Library로 통째로 복사되는 일이 발생합니다. Library 백업에서는 단순히 /tmp/BackOn 폴더를 지우면 끝나는 문제인데, 복원에서는 이런 버그가 발생하면 복구가 어렵습니다.
저는 이 버그를 고칠 방법을 아직 잘 모르겠으며, 업데이트를 중단한 이유로 수정 계획이 없습니다.
따라서 Library 백업 및 복원에서 **..**의 사용에 유의하셨으면 합니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.