HackerTrans
TopNewTrendsCommentsPastAskShowJobs

j_ham3

no profile record

Submissions

Show HN: A Brainfuck compiler with JVM, C, smali, LLVM IR back ends

github.com
1 points·by j_ham3·4 tahun yang lalu·0 comments

ProGuard 20th Anniversary: 20 years of Java shrinking and optimization

guardsquare.com
2 points·by j_ham3·4 tahun yang lalu·1 comments

comments

j_ham3
·3 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid Guardsquare develops state of the art mobile application protection solutions, for Android and iOS. The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years ago, into the market leader for application protection. We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·3 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid Guardsquare develops state of the art mobile application protection solutions, for Android and iOS. The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years ago, into the market leader for application protection.

We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·3 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid Guardsquare develops state of the art mobile application protection solutions, for Android and iOS.

The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years ago, into the market leader for application protection.

We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·3 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid

Guardsquare develops state of the art mobile application protection solutions, for Android and iOS.

The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years ago, into the market leader for application protection.

We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·4 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid

Guardsquare develops state of the art mobile application protection solutions, for Android and iOS.

The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years ago, into the market leader for application protection.

We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·4 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid

Guardsquare develops state of the art mobile application protection solutions, for Android and iOS.

The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years, into the market leader for application protection.

We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·4 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid

Guardsquare develops state of the art mobile application protection solutions, for Android and iOS.

The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years, into the market leader for application protection.

We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·4 tahun yang lalu·discuss
Guardsquare | Compiler engineers | Leuven, Belgium; Gent, Belgium; Munich, Germany | Onsite/hybrid

Guardsquare develops state of the art mobile application protection solutions, for Android and iOS.

The company grew from the open-source ProGuard Java shrinker, which started as a hobby project 20 years, into the market leader for application protection.

We're looking for Java and C++ compiler engineers among other roles.

Our Android protection technology is Java based, built upon our open-source ProGuardCORE. While our iOS protection technology is built upon LLVM.

You can find more details on the careers page https://www.guardsquare.com/careers#rd
j_ham3
·4 tahun yang lalu·discuss
ProGuardCORE is very similar to ASM; they have a similar feature set and a similar visitor-based API. ProGuardCORE came about because ProGuard itself never used ASM when the project was started 20 years ago.

We split out ProGuardCORE from ProGuard 2 years ago, to provide as a library the core underlying bytecode manipulation & analysis tools that ProGuard and the Android security solution DexGuard both use.

Much of our recent focus in ProGuardCORE has been on the code analysis components: we've recently added to ProGuardCORE some of the analyses that power our AppSweep mobile security scanning service (https://appsweep.guardsquare.com/). For example, taint analysis https://guardsquare.github.io/proguard-core/taintcpa.html
j_ham3
·4 tahun yang lalu·discuss
Nice project! At Guardsquare, we have a similar project: https://github.com/Guardsquare/proguard-assembler

One of the things we use it for is testing: we can craft specific bytecode sequences that we want to test; for example, it's useful to test cases we've seen in the wild (e.g. obfuscated code) or to create a test that doesn't rely on a specific compiler/version.

An example of using the assembler from a ProGuard unit test https://github.com/Guardsquare/proguard/blob/master/base/src...
j_ham3
·4 tahun yang lalu·discuss
Something else that could make your code generation for your JVM language easier: ProGuardCORE (https://github.com/Guardsquare/proguard-core). It can be used to read, generate and analyse Java bytecode.

Some examples for code generation: ProGuard where the project originated (https://github.com/Guardsquare/proguard), Brainf*ck compiler (https://github.com/mrjameshamilton/bf), Lox compiler (https://github.com/mrjameshamilton/klox)

Disclaimer: I work at Guardsquare on ProGuardCORE so may be biased :)
j_ham3
·4 tahun yang lalu·discuss
It's a great book! I really liked how it guides step-by-step, always having something working building up to the full interpreter for Lox. I haven't yet gotten around to the 2nd part of the book (the C based interpreter/vm) because I got carried away with adding extra features to my Kotlin Lox implementation (including a JVM backend)! https://github.com/mrjameshamilton/klox