siriusobfuscator's Issues
Connect Polidea's CI server to Github repositories
Use it with some classes only
Is there a way to obfuscate some classes only?
like adding a suffix to classes names and obfuscate only these classes
like the manual part of this library https://github.com/rockbruno/swiftshield
Error for v0.5.0: ruby/2.2.0/find.rb:42:in `block in find': No such file or directory
I am getting following error when I try to obfuscate the project
===========================
1) File Extractor:
⡀⡀⡀⠄⠂⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄Extracting⡀⡀⡀⠄⠂⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄
STDERR: /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/find.rb:42:in `block in find': No such file or directory (Errno::ENOENT)
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/find.rb:42:in `collect!'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/find.rb:42:in `find'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/carthage_determiner.rb:8:in `each'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/carthage_determiner.rb:8:in `select'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/carthage_determiner.rb:8:in `find_cartfile_directory'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/command.rb:90:in `run'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/vendor/ruby/2.2.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/command.rb:76:in `run'
from /Users/xxxxxxxx/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/bin/file-extractor:20:in `<main>'
STDOUT:
===========================
[1.0] Road to "1.0"
This issue describes the roadmap to the first version that we believe is feature-complete enough to be called "1.0".
Vision
The version 1.0 of Sirius obfuscator is the version that contains at least initial implementation of all the features that we believe that are crucial for using the tool in the majority of real-world apps.
Scope
The roadmap is split into 9 steps, each one of them referenced by the increment on the minor version indicator:
- 0.2: Open sourcing the tool
- 0.3: Support multiple Swift version
- 0.4: Ability to rename multiple targets
- 0.5: Initial support for the mixed Swift / Objective-C projects
- 0.6: De-obfuscating the crash reports
- 0.7: Missing Swift constructs
- 0.8: Optimizations and performance improvements
- 0.9: Improving user experience
- 1.0: Polishing & bugfixing
The high-level vision and the actual scope of each one of these versions is described in the linked issues.
I also developed a code obfuscation App
I also developed a code obfuscation App that supports OC and iOS projects. It is going to open source.
see my github:
i downloaded sirius, how to install it?
Error opening archive: Failed to open 'FileExtractor/file-extractor-1.0.0-osx.tar.gz' mv: rename file-extractor-1.0.0-osx/* to bin/*: No such file or directory
Hi,
I am getting this error when running the Sirius build.sh.
Installing FileExtractor
tar: Error opening archive: Failed to open 'FileExtractor/file-extractor-1.0.0-osx.tar.gz'
mv: rename file-extractor-1.0.0-osx/* to bin/*: No such file or directory
Thanks.
Create infrastructure for releasing multiple versions of obfuscator for multiple Xcode versions
[0.8] Road to "Optimization"
This issue presents the roadmap for the version 0.8 of Sirius obfuscator tool.
Vision
The version 0.8 addresses the various performance issues that arose from choosing to implement obfuscation features in a most straightforward and naive way.
Scope (initial)
- Use the move semantics in the compiler’s data structures (these are big structures!)
- Change the structure of Symbols.json and Renames.json so that the symbol lookup would be easier
- When beneficial, change the standard types and containers that we use from the std implementation to the LLVM implementation
- Use custom structure(s) for symbols that allow for viewing them based on the desired uniqueness and iteration requirements. Right now we copy sets multiple times to get this behavior
Update README and documentation to explain the development process and indicate current version and build status
For cocoapods based projects just one module indexed for obfuscate
Hi, I tried Sirius with my cocoapods based project and just the module Alamofire could be indexed for being obfuscated. I do not know if before run the command I need to configure my project in some way.
Could not run in xcode 10.2.1
Run below script:
bash Scripts/build.sh
Error:
` _$s5Basic15LocalFileSystem33_6FEC4E2BAB746063854EC7E201C2329FLLCAA0cD0A2aEP06removeC4TreeyyAA12AbsolutePathVKFTW in FileSystem.swift.o
...
ld: symbol(s) not found for architecture x86_64
cp: /Users/apple/Documents/Github/SiriusObfuscator/.build/x86_64-apple-macosx/release/Sirius: No such file or directory`
[0.6] Road to "Crash de-obfuscation"
This issue presents the roadmap for the version 0.6 of Sirius obfuscator tool.
Vision
The version 0.6 adds one of the crucial features to Sirius obfuscator: ability to transform the crash log from the obfuscated app into the crash log containing the original names. It can be done either after the symbolization or by providing a transformed DSYM file.
Scope (initial, might change on further research)
- Create script that takes the non-symbolicated crash log, the DSYM file from obfuscated app and Renames.json file and produces the deobfuscated crash log
[0.5] Road to "Objective-C & Swift"
This issue presents the roadmap for the version 0.5 of Sirius obfuscator tool.
Vision
The version 0.5 provides the initial support for the mixed Objective-C / Swift codebases.
The symbols should be renamed using a shared pool, so that there's no exception neither when using Swift symbol in Objective-C, nor when using Objective-C symbol in Swift.
Scope
- Identifying the Objective-C files from the Xcode project
- Ability to rename the Objective-C type names in the Objective-C files
- Renaming of the symbols from Objective-C in the Swift source code
- Renaming of the symbols from Swift in the Objective-C files
cannot able to get obfuscated code
Getting below error:
- File Extractor:
⡀⡀⡀⠄⠂⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄Extracting⡀⡀⡀⠄⠂⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄
STDERR: /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/source.rb:17:inrequire': cannot load such file -- stringio (LoadError) from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/source.rb:17:in
create_from'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/parsers/baseparser.rb:128:instream=' from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/parsers/baseparser.rb:117:in
initialize'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/parsers/treeparser.rb:9:innew' from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/parsers/treeparser.rb:9:in
initialize'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/document.rb:287:innew' from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/document.rb:287:in
build'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/ruby/lib/ruby/2.2.0/rexml/document.rb:44:ininitialize' from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/vendor/ruby/2.2.0/gems/xcodeproj-1.5.3/lib/xcodeproj/workspace.rb:83:in
new'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/vendor/ruby/2.2.0/gems/xcodeproj-1.5.3/lib/xcodeproj/workspace.rb:83:infrom_s' from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/vendor/ruby/2.2.0/gems/xcodeproj-1.5.3/lib/xcodeproj/workspace.rb:66:in
new_from_xcworkspace'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/xcworkspace_extractor.rb:19:inextract_projects_and_dependency_schemes' from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/command.rb:96:in
run'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/vendor/ruby/2.2.0/gems/claide-1.0.2/lib/claide/command.rb:334:inrun' from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/lib/file-extractor/command.rb:76:in
run'
from /Users/poojab/Downloads/Obfuscator_2018-04-24_115109/bin/lib/file-extractor/bin/file-extractor:20:in `'
STDOUT:
===========================
- Symbol Extractor:
⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄⡀⢀⠠⠐⠈Extracting⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄⡀⢀⠠⠐⠈
STDERR: Error during JSON file read
STDOUT: Swift obfuscator symbol extractor tool
TDERR: Error during JSON file read STDOUT: Swift obfuscator symbol extractor tool
Hi ,
While I was running below script /Users/ME/Documents/Workspace/bin/sirius -projectrootpath /UsersME/Documents/Practices/Samples/ObfusTest -obfuscatedproject /Users/ME/Documents/Practices/1.Samples/outsampleObfuscator.
I am getting following error.
- Symbol Extractor:
⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄⡀⢀⠠⠐⠈Extracting⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄⡀⢀⠠⠐⠈
STDERR: Error during JSON file read
STDOUT: Swift obfuscator symbol extractor tool
XXXComputerName:~ ME$
Xcode Version:10
Swift :4.2 (Pure Swift project).
Kindly help me regarding this .
[1.0] Road to "Polishing"
This issue presents the roadmap for the version 1.0 of Sirius obfuscator tool.
Vision
The version 1.0 is the first feature-complete release. All the remaining bugfixes, minor improvements, small refactors that we believe should be part of 1.0 should be addressed here.
Scope (initial)
- SymbolExtractor and Renamer are path-case-sensitive
- Add tests to the SymbolWithRange comparator
- Link Clang Format to compiler fork
- Ability to use the iOS SDK in the obfuscator tests
Create branching scheme for obfuscator versioning
`configure_with_plist': [!] Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa. (RuntimeError)
Hi,i have a error, can you help me ?
➜ Obfuscator_2018-04-24_115109 ./bin/sirius -projectrootpath /Users/linyunyue/Workspace/久沐/KongkongiOS/KongkongVoice -obfuscatedproject /Users/linyunyue/Workspace/久沐/KongkongiOS/confuse -namemappingstrategy random -keepintermediates -inplace -verbose
Welcome to Sirius - Swift Obfuscator
===========================
- File Extractor:
⡀⡀⠄⠂⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄⡀Extracting⡀⡀⠄⠂⠁⠂⠄⡀⢀⠠⠐⠈⠁⠂⠄⡀
STDERR: /Users/linyunyue/Downloads/Obfuscator_2018-04-24_115109/bin/lib/vendor/ruby/2.2.0/gems/xcodeproj-1.5.3/lib/xcodeproj/project/object.rb:321:in `configure_with_plist': [!] Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa. (RuntimeError)
If this attribute was generated by Xcode please file an issue: https://github.com/CocoaPods/Xcodeproj/issues/new
[0.2] Road to "Open source"
This issue presents the roadmap for the version 0.2 of Sirius obfuscator tool.
Vision
Version 0.2 is the first version that is completely open sourced. By the "completeness" of open sourcing I mean that not only the source code is open, but also:
- the development process is public,
- the issue tracker is public,
- the plans for future work are public,
- the CI is integrated with the public repository and the results of build and test are public.
Scope
[0.3] Road to "Multiple Swift versions"
This issue presents the roadmap for the version 0.3 of Sirius obfuscator tool.
Vision
Version 0.3 allows for obfuscating projects written in various Swift language version.
The initial release should support:
- Swift 4.0.3 (Xcode 9.2)
- Swift 4.1 (Xcode 9.3)
- Swift 4.1.2 (Xcode 9.4)
- Swift 4.2 (Xcode 10)
Scope
[0.4] Road to "Multi-target projects"
This issue presents the roadmap for the version 0.4 of Sirius obfuscator tool.
Vision
The version 0.4 expands the usage of Sirius obfuscator to multi-target projects. It's especially important for:
- ability to run tests after obfucation (to ensure that the obfuscation process have not caused any regressions)
- apps with extensions
- apps modularized with the use of frameworks
Scope
- Renaming in the test targets
- Renaming in the extensions
- Renaming in the frameworks
- (bugfix) Ensure that the generated obfuscated name has no name collision with any symbol that already exists in the app
[0.9] Road to "User interface"
This issue presents the roadmap for the version 0.9 of Sirius obfuscator tool.
Vision
The version 0.9 focuses on user experience of Sirius obfuscator. It cleans up the interface, allows for deeper customization and helps with the seamless usage of the tool
Scope (initial)
- Ability to pass additional compiler flags through the main obfuscator CLI
- Integration of Verification suite with ObfuscatorTool by additional flag that performs verification after obfuscation
- Tab-completion for the obfuscator CLI tools for the most popular shells (bash, fish, zsh)
- Provide the brew cask for installing the Sirius obfuscator
Issue during extraction
I am having some issues while trying to run Sirius on a Swift project.
Attached a txt file with the output of the tool, I am using Xcode 9.4.1.
[0.7] Road to "Missing Swift constructs"
This issue presents the roadmap for the version 0.7 of Sirius obfuscator tool.
Vision
The version 0.7 expands the space of Swift constructs that are properly identified and supported by the Sirius obfuscator.
Scope (initial)
- Solving the #if / #else / #endif problem by taking the bodies of the if-branches and resolving them independently
- Ensure on renaming of functions and computed properties which satisfy the requirements from multiple protocols that all these protocols are from our module. If not, no rename
- Support renaming of the names in backticks
- Renaming of the local variables
- Renaming enum case associated values
Casting issue in "'Utility.ArgumentParserError' (0x1032616f0) to 'ShellOut.ShellOutError'"
Hello,
When i set up this system, I have completed all process but when i run my final command on terminal, i got below issue.
COMMAND WHICH I HAVE RUN -
bin/sirius -projectrootpath /Users/admin/Desktop/YatinTest -obfuscatedproject /Users/admin/Desktop/TEST [-namemappingstrategy] [-keepintermediates] [-inplace] [-verbose]
====================================
ISSUNE FACING - -
Could not cast value of type 'Utility.ArgumentParserError' (0x1032616f0) to 'ShellOut.ShellOutError' (0x103219780).
Abort trap: 6
====================================
Here is details -
YatinTest - is my test project which i want to convert.
TEST - is a folder where i want to store encrypted code.
Also From where i can get list.
Please help me out to resolve this issue.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.