Open-source multiplayer game server compatible with the RuneScape client
https://www.openrs2.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
762 B
27 lines
762 B
package org.openrs2.deob.ast
|
|
|
|
import com.github.michaelbull.logging.InlineLogger
|
|
import org.openrs2.deob.ast.transform.Transformer
|
|
import org.openrs2.deob.util.Module
|
|
import javax.inject.Inject
|
|
import javax.inject.Singleton
|
|
|
|
@Singleton
|
|
public class AstDeobfuscator @Inject constructor(
|
|
private val transformers: Set<Transformer>
|
|
) {
|
|
public fun run(modules: Set<Module>) {
|
|
val group = LibraryGroup(modules.map(Library.Companion::parse))
|
|
|
|
for (transformer in transformers) {
|
|
logger.info { "Running transformer ${transformer.javaClass.simpleName}" }
|
|
transformer.transform(group)
|
|
}
|
|
|
|
group.forEach(Library::save)
|
|
}
|
|
|
|
private companion object {
|
|
private val logger = InlineLogger()
|
|
}
|
|
}
|
|
|