我一直以为混淆再怎么变态不过就是丢失所有标示符里的信息了吗~ 比如toString这样的信息,.如果有比这更难的大不了重新以正常方式再混淆一遍(误 所以我认为... 像这样干扰人类辨识的混淆并无啥卵用.. 🙈
Forwarded from Deleted Account
之前说的真正变态的混淆命名字典来了,由我手动生成的:
https://github.com/drakeet/proguard-dict/blob/master/dictionary-dict.txt
如果你了解反编译的过程,就会知道这个比乱码更反搜索而且难以阅读
https://github.com/drakeet/proguard-dict/blob/master/dictionary-dict.txt
如果你了解反编译的过程,就会知道这个比乱码更反搜索而且难以阅读
GitHub
drakeet/proguard-dict
proguard-dict - WwW
ruby
> def prints_a()
* puts "a"
* end
=> :prints_a
> def call_prints_a_and_print_b()
* prints_a
* puts "b"
* end
=> :call_prints_a_and_print_b
> call_prints_a_and_print_b
a
b
=> nil
>
->
ruby
> def WwwwWwwwWwww()
* puts "a"
* end
=> :WwwwWwwwWwww
> def XkXkXkXXX()
* WwwwWwwwWwww
* puts "b"
* end
=> :XkXkXkXXX
> XkXkXkXXX
a
b
=> nil
>
再困难也不可能比C更难, 即使是生成一大堆0ooo0o0也可以用反编译程序生成自动标示符吗 而且反混淆程序还大概能根据函数的输入输出自动猜出一些信息 🙈
为啥我最近感觉对底层和Web前端都很想续一秒(
我居然写了3天,而且等Dropage完成后要用C + Java + HTML + JavaScript + MDUI库重新写一个真正有用的ls , 想想就觉得可怕, (不过体积是最令人自豪的 🙈
duangsuse::Echo
三年学会Rust交叉编译系列, 太TM难了, 不如~~为emscripten平台编译,拿JavaScript Interpreter跑~~女装 🌚
➜ ~ file ls_project/v0/scanutil/target/armv7-linux-androideabi/release/scanutil
ls_project/v0/scanutil/target/armv7-linux-androideabi/release/scanutil: ELF 32-bit LSB shared object,
ls_project/v0/scanutil/target/armv7-linux-androideabi/release/scanutil: ELF 32-bit LSB shared object,
ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /system/bin/linker, with debug_info, not stripped➜ MonkeyVM git:(master) pwd
/root/Projects/MonkeyVM
➜ MonkeyVM git:(master) ls
Cargo.lock Cargo.toml LICENSE README.md src target tests vscode
➜ MonkeyVM git:(master) rustup target list|rg emscripten
asmjs-unknown-emscripten (installed)
wasm32-unknown-emscripten
➜ MonkeyVM git:(master)
Finished release [optimized] target(s) in 0.0 secs
➜ MonkeyVM git:(master) wc target/asmjs-unknown-emscripten/release/monkey_vm.js
19 6505 532962 target/asmjs-unknown-emscripten/release/monkey_vm.js
➜ MonkeyVM git:(master)` js target/asmjs-unknown-emscripten/release/monkey_vm.js
WARN: wrong of number argument(1 given,1+ expected),use './this.program help'to print help`
➜ MonkeyVM git:(master) `node target/asmjs-unknown-emscripten/release/monkey_vm.js help
MonkeyVM v0.2.5
a tool for running coding monkey-lang code
Usage:
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js help|h print help
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js version|v print version
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js licence|l view licence
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js run|r [file] execute a program
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js beautify|b [file] beautify a program
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js parse|p [file] parse a program
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js compile|c [file] to compile a file`
Note:
it's best to use Gzip to compress compile output
Environment variables:
PARGS -> ',' splited hprog arguments
PDBG=1 -> Debug mode (higest verbose level)
PVBS=1 -> Verbose (output when memory change,etc.)
get source code on https://coding.net
➜ MonkeyVM git:(master) ./
➜ MonkeyVM git:(master) ./target/release/monkey_vm
WARN: wrong of number argument(1 given,1+ expected),use './target/release/monkey_vm help'to print help
➜ MonkeyVM git:(master) cd ../crystal/blfree/
➜ blfree git:(master) ✗ ls
bin LICENSE README.md shard.yml spec src
➜ blfree git:(master) ✗ shards build —target asmjs-unknown-emscripten
Error target asmjs-unknown-emscripten was not found in shard.yml.
/root/Projects/MonkeyVM
➜ MonkeyVM git:(master) ls
Cargo.lock Cargo.toml LICENSE README.md src target tests vscode
➜ MonkeyVM git:(master) rustup target list|rg emscripten
asmjs-unknown-emscripten (installed)
wasm32-unknown-emscripten
➜ MonkeyVM git:(master)
cargo build --release --target asmjs-unknown-emscriptenFinished release [optimized] target(s) in 0.0 secs
➜ MonkeyVM git:(master) wc target/asmjs-unknown-emscripten/release/monkey_vm.js
19 6505 532962 target/asmjs-unknown-emscripten/release/monkey_vm.js
➜ MonkeyVM git:(master)` js target/asmjs-unknown-emscripten/release/monkey_vm.js
WARN: wrong of number argument(1 given,1+ expected),use './this.program help'to print help`
➜ MonkeyVM git:(master) `node target/asmjs-unknown-emscripten/release/monkey_vm.js help
MonkeyVM v0.2.5
a tool for running coding monkey-lang code
Usage:
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js help|h print help
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js version|v print version
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js licence|l view licence
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js run|r [file] execute a program
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js beautify|b [file] beautify a program
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js parse|p [file] parse a program
/root/Projects/MonkeyVM/target/asmjs-unknown-emscripten/release/monkey_vm.js compile|c [file] to compile a file`
Note:
it's best to use Gzip to compress compile output
Environment variables:
PARGS -> ',' splited hprog arguments
PDBG=1 -> Debug mode (higest verbose level)
PVBS=1 -> Verbose (output when memory change,etc.)
get source code on https://coding.net
➜ MonkeyVM git:(master) ./
➜ MonkeyVM git:(master) ./target/release/monkey_vm
WARN: wrong of number argument(1 given,1+ expected),use './target/release/monkey_vm help'to print help
➜ MonkeyVM git:(master) cd ../crystal/blfree/
➜ blfree git:(master) ✗ ls
bin LICENSE README.md shard.yml spec src
➜ blfree git:(master) ✗ shards build —target asmjs-unknown-emscripten
Error target asmjs-unknown-emscripten was not found in shard.yml.
喜欢JavaScript的人真应该去了解一下emscripten项目 真厉害了,有人开发了在js解释器上运行的mruby解释器, Rust,C,Ruby,C#,Java等程序设计语言都能非常简单的编译成asm.js格式,在JavaScript解释器上运行.CODING DevOps - 一站式软件研发管理平台-腾讯云
DevOps_DevOps 解决方案_一站式 DevOps_开发者工具 | 腾讯云 CODING DevOps
CODING DevOps 一站式研发管理平台,学习腾讯云团队如何采用 DevOps 文化,了解 DevOps 的做法和 DevOps 好处,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
duangsuse::Echo
monkey_vm.js
node monkey_vm.js parse /dev/stdin «
👉 1
🍗
📝 👉 1
❓ 📭 🐒 4
📝 👉 3
👀 2
📝 👉 2
👀 0
📝 👉 4
👉 2
👍 👉 4
👀 👉 2
📝 👉 1023
👀 👉 1
🙈 👉 1023
📝 👉 1
❓ 🍌 🐒 2
❓ 👻 🐒 3
👀 0
📝 👉 4
👀 👉 3
📝 👉 1
👍 👉 2
🐒 2
👉 3
👀 👉 2
💩
👎 👉 4
❓ 👻 🐒 1
🐵 1
📝 👉 1
📝 👉 3
👀 0
📝 👉 4
🐒 2
👉 4
👉 1
🍗
📝 👉 1
❓ 📭 🐒 4
📝 👉 3
👀 2
📝 👉 2
👀 0
📝 👉 4
👉 2
👍 👉 4
👀 👉 2
📝 👉 1023
👀 👉 1
🙈 👉 1023
📝 👉 1
❓ 🍌 🐒 2
❓ 👻 🐒 3
👀 0
📝 👉 4
👀 👉 3
📝 👉 1
👍 👉 2
🐒 2
👉 3
👀 👉 2
💩
👎 👉 4
❓ 👻 🐒 1
🐵 1
📝 👉 1
📝 👉 3
👀 0
📝 👉 4
🐒 2
👉 4
改进了一个原有用来生成badge的库: badge-flat 支持字体缓存, 使用Roboto字体, 在dropage的 dcommunity-server 开始开发前不会放GitHub上,我打包一下发上来玩玩算是学习了编译时静态加入文件和构建脚本:
https://crates.io/crates/badge
https://crates.io/crates/badge