# -*- coding: utf-8 -*-
import xxtea
import os src = "./assets/src"
dst = "./assets/srcd" xxtea_sign = ""
xxtea_key = "fc9853c5-78f9-55"
xxtea_sign_len = len(xxtea_sign)
xxtea_key_len = len(xxtea_key) files = []
exts = [".luac",".jsc"] def deep_iterate_dir(rootDir):
for lists in os.listdir(rootDir):
path = os.path.join(rootDir, lists)
if os.path.isdir(path):
deep_iterate_dir(path)
elif os.path.isfile(path):
ext = os.path.splitext(path)[1]
if ext in exts:
files.append(path) # 处理一个文件
def handle_file(file):
with open(file,"rb") as fd:
con = fd.read()
c2 = xxtea.decrypt(con, xxtea_key,padding=False)
fd.close()
return c2 # 保存文件
def save_file(file,outData):
dst_rootpath = os.path.split(file)[0]
try:
# print "creating dir (%s)" % (dst_rootpath)
os.makedirs(dst_rootpath)
except OSError:
if os.path.exists(dst_rootpath) == False:
# There was an error on creation, so make sure we know about it
raise Exception("Error: create directory %s failed." % dst_rootpath) if file.endswith("c"):
file = file[:-1]
with open(file,"wb") as fd:
con = fd.write(outData)
fd.close() # 获取绝对路径
def normalize_path(i):
tmp = os.path.normpath(i)
if not os.path.isabs(tmp):
tmp = os.path.abspath(tmp)
return tmp # 获取相对路径
def get_relative_path(luafile):
try:
pos = luafile.index(src)
return luafile[len(src)+1:]
except ValueError:
raise Exception("get_relative_path error") def handle_all_files():
for file in files:
con = handle_file(file)
if con:
path = os.path.join(dst,get_relative_path(file))
save_file(path,con)
else:
print ("handle %s file error" % file) def main():
global src
global dst
src = normalize_path(src)
dst = normalize_path(dst) if not os.path.exists(dst):
os.makedirs(dst) deep_iterate_dir(src)
handle_all_files() if __name__ == "__main__":
main()

jsc和luac文件 xxtea 解密.的更多相关文章

  1. Code笔记之:对使用zend加密后的php文件进行解密

    对使用zend加密后的php文件进行解密 使用zend加密后的php文件用notpad++打开会出现类似的乱码 下面使用解密工具进行解密 http://pan.baidu.com/s/1i3n4ysX ...

  2. linux环境下给文件加密/解密的方法

      原文地址:linix环境下给文件加密/解密的方法 作者:oracunix 一. 利用 vim/vi 加密:优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了:缺点:很明显让别人知 ...

  3. ref:使用Dezender对zend加密后的php文件进行解密

    ref:http://www.cnblogs.com/88223100/ 使用Dezender对zend加密后的php文件进行解密   在开发中需要修改一些php文件,部分是通过zend加密的,记事本 ...

  4. linux 使用vim文件加密/解密的方法

    一. 利用 vim/vi 加密:优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了:缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除: vi编辑器相信大 ...

  5. L脚本语言实现文件加解密

    L脚本语言中能够对内存对象进行AES加解密.我们能够非常easy地实现文件加解密 #scp #定义一个秘钥字符串 定义:字符串,str1,abcdefg 打开:文件,file1,c:\1.txt 打开 ...

  6. Spring boot RSA 文件加密解密

    github项目地址 rsa_demo ##测试 加密D:/hello/test.pdf 文件,生成加密后的文件 testNeedDecode.pdf 对testNeedDecode.pdf 文件进行 ...

  7. 使用Dezender对zend加密后的php文件进行解密

    在开发中需要修改一些php文件,部分是通过zend加密的,记事本打开之后是这样的: 此时需要使用Dezender进行解密,下载链接如下: Dezender.7z 下载后解压到C盘(路径不要带有中文), ...

  8. android 中文件加密 解密 算法实战

    现在项目里面有一个需求,本项目里面下载的视频和文档都不允许通过其他的播放器播放,在培训机构里面这样的需求很多.防止有人交一份钱,把所有的课件就拷给了别人.这样的事情培训机构肯定是不愿意的.现在我项目里 ...

  9. 文件加密 解密 pdftk openssl gpg vim

    openssl加密和解密 . openssl des -salt -in file -out file.des openssl des -d -salt -in file.des -out file ...

随机推荐

  1. spring的动态代理实现

    Host.java package cn.zys.dynamiproxy; public class Host implements Rent{ public void rent(){ System. ...

  2. npm audit fix 报错

    found 2504 vulnerabilities (1360 low, 1109 moderate, 29 high, 6 critical)  run `npm audit fix` to fi ...

  3. [计划任务 - Linux]三分钟学会cron

    cron——计划任务,是任务在约定的时间执行已经计划好的工作,是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业. 也就是说cron只适合于linux系统,用windows电脑的同学 ...

  4. ReentrantLock解析及源码分析

    本文结构 Tips:说明一部分概念及阅读源码需要的基础内容 ReentrantLock简介 公平机制:对于公平机制和非公平机制进行介绍,包含对比 实现:Sync源码解析额,公平和非公平模式的加锁.解锁 ...

  5. 关于同一密码使用generate_password_hash生成不同的密码散列值

    在python的 werkzeug.security 库中有两个函数generate_password_hash与check_password_hash用于对密码明文生成散列值以及检查密码是否与提供的 ...

  6. 【SpringMVC】使用三层架构实现登录,注册。(下篇)

    上篇写了构思与界面层,本篇写一下业务逻辑层.数据访问层 目录 业务逻辑层 包:pojo 用户类(JavaBean):User public class User { private String us ...

  7. 撸一个简单的vue-router来剖析原理

    理解 随着前端业务的发展, 我们一般在写一个较为大型的vue项目时候,会使用到vue-router,来根据指定的url或者hash来进行内容的分发,可以达到不像服务端发送请求,就完成页面内容的切换,能 ...

  8. ActiveMQ 笔记(六)ActiveMQ的消息存储和持久化

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.持久化机制 1.Activemq持久化 1.1 什么是持久化: 持久化就是高可用的机制,即使服务器宕 ...

  9. Redis 入门到分布式 (六)常见的持久化开发运维问题

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.常见问题目录 fork操作 进程外开销 AOF追加阻塞 单机多实例部署 二. fork 1.Fork ...

  10. 从SpringBoot源码分析 主程序配置类加载过程

    1.@Import(AutoConfigurationPackages.Registrar.class) 初始SpringBoot 我们知道在SpringBoot 启动类上有一个@SpringBoot ...