lua 怎么反编译
lua 怎么反编译
lua源文件--obfuscate-->lua源文件(混淆后)--compile-->luac文件(带调试用的变量名和行号)--strip-->luac文件(不带调试信息)
lua/luac--加密/打包-->数据文件
数据文件--解包/解密-->lua/luac-->lua虚拟机
跟踪,脱壳,解包,解密,获得
追luaL_loadbuffer
luaL_loadfile
lua_load
应该可以找到
解密函数。
这3个函数,导出解密后的数据,直接就是
文件。如果没编译甚至是
lua源文件。
luaV_execute
Proto*
,想办法用
luaU_dump
导出。luaD_precall
应该没必要搞。
我们有两种方案来处理得到的
得到一个能够执行上述非标
搞清楚编译方式,改lua
源文件,编译出一个,这样做什么都可以,还能编译出对应的
luadec
如果能找到
lua51。dll
之类的就直接调用吧。但是,只能用于导出
对比文件格式,或者执行找到的几个关键函数。
转换成标准格式
luac,正所谓:山不来就我,我便去就山
是怎么做的:
header
#define
LUA_SIGNATURE
"\033Lua"
lua。h
header
改数据类型
luaconf。h
#define
LUA_NUMBER_DOUBLE
#define
LUA_NUMBER
double
LUA_NUMBER
float
LUA_NUMBER_SCAN
LUA_NUMBER_FMT
"%。7g"
l_mathop(x)
(x##f)
lua_str2number
strtof
OpCode
"ORDER
"ORDER
change
these
enums
OpCode;
lopcodes。h
const
lu_byte
luaP_opmodes[];
lopcodes。c
lua文件怎么反编译,用什么软件,具体怎么做?求教程
luadec,不过,反编译后的变量名和注释都没有了。你确定你看得懂?
楼上的有点技术好不好=
楼主指的是luac编译成字节码之后的文件。
如果要反编译也不是不行,但是必须要是lua5。1的luac编译出的文件才能反编译;其次,如果是愤怒的小鸟免谈,它自己编译了lua和luac的规则,基本反编译很难。
如果符合要求的话去下载luadec工具吧。
如何将反编译android代码,并添加到eclipse中查看
eclipse中看代码非常方便,因此将反编译后的android代码添加到
eclipse是很有必要的。
1、使用dex2jar工具,将apk反编译成。jar后缀的文件(该文件是所有。class文件的压缩包);
2、使用jd-gui。exe工具,打开上一步骤生成的。jar后缀的文件;使用File->Save
sources菜单,将。jar文件包中的所有文件以java源码文件形式导出。
3、eclipse中创建android工程:File->new->Project->android->Android
Project
Existing
code;在Root
Directory:中填写AndroidManifest。xml所在的文件夹路径。
4、将第2步骤中生成的所有文件和文件夹一起copy到第3步骤生成的工程中的src文件夹中(你也可以在工程目录下随便创建一个目录,然后将java源码文件扔进出,然后在工程目录下面的。classpath文件中添加该文件夹的目录路径)。
一般代码都混淆了
反编译出来的基本没法看
更别谈导入eclipse了
再看看别人怎么说的。
反编译android代码并在eclipse中查看:
apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到3个文件:aapt。exe,apktool。bat,apktool。jar
,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD)
,定位到apktool文件夹,输入以下命令:apktool。bat
test。apk
在改目录下会生成一个classes_dex2jar。jar的文件,然后打开工具jd-gui文件夹里的jd-gui。exe,之后用该工具打开之前生成的classes_dex2jar。jar文件,便可以看到源码了,效果如下:
有人能帮我反编译一个Lua程序吗??我重金感谢! Q Q..
一般软件都有混淆器编译,就是为了防止反编译。所以你反编译出来,就不会得到预期的结果,比如类名为a,b,c,这样的代码是没法看的
推荐下载开源的
反编译Android APK的具体步骤是怎样的
1、配置好JAVA环境变量,下载:apktool
解压的文件放在C盘根目录的apktool文件夹里(apktool文件夹自己创立)
2打开命令提示符,(开始-运行-输入cmd)
3输入:cd
\apktool
系统指令到了apktool文件夹(这里就是为什么要把解压的apktool解压的文件放到apktool文件夹的原因,当然你也可以自命名文件夹的名称,那么比如arc,那么指令就变成了:cd
前提是你必须把apktool解压的文件放到这个文件夹里面)
4使用RE管理器把系统里面的framework-res。apk
与SystemUI。apk
提取出来放在apktool文件夹里面
如果只是想反编译framework-res。apk
输入apktool
framework-res。apk(框架的建立)
6开始最重要的反编译,输入指令,apktool
framework-res。apk
(反编辑的APK一定要用没换过图片的,否则回编辑失败)
7最后反编译完成
修改代码完成后,输入代码:apktool
framework-res
即可完成回编译
8回编译后的新的
apk在framework/dis
文件夹里面
9如果反编译的是系统文件,比如,SystemUI。apk
那么必须进行挂载框架,反编译时,必须敲入一下命令:(然后再重复7-9步骤)
apktool
framework-res。apk
apktool
SystemUI。apk
10对于三星手机(比如9100、9108/9100G),如果反编译SystemUI。apk要敲入一下命令进行框架挂载apktool
framework-res。apk
apktool
twframework-res。apk
apktool
SystemUI。apk
11回编译的命令是
apktool
(没有后面的apk后缀)反编译的命令是
apktool
(有后面的apk)
反编译步骤方法:
一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到3个文件:aapt。exe,apktool。bat,apktool。jar
,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD)
如何反编译Android APK包?
反编译apk常用的有两种方式:
使用apktool
使用dex2jar
JD-GUI
使用apktool
apktool可以从googlecode上下载,如下图:
对于Windows用户下载上面红色圈圈两个包即可,下载下来后解压到同一个目录下:
我们把下载下来的apk放在apk目录下,然后就可以执行命令做反编译了:
如果一次性需要反编译多个apk文件,可以写个批处理:
反编译结果:
这里smali下面是中间代码(smali将Android字节码用可阅读的字符串形式表现出来的一种语言,可以称之为Android字节码的反汇编语言),lib下面主要是so库,res和assets下是图片和资源文件,而AndroidManifest。xml是经过解码的,其中包括了包名、版本、权限、引用库等信息。
smali下面的内容直接阅读比较困难,可以使用smali2java(https://github。com/demitsuri/smali2java)进行转换,有个哥们把smali2java与apktool做了整合,做了一个smali2javagui工具,可以直接打开apk或jar文件查看其内容(http://forum。xda-developers。com/showthread。php?t=2430413)。
使用dex2jar
JD-GUI
dex2jar:
把dex文件反编译为jar文件的工具。
http://code。google。com/p/dex2jar/downloads/list
JD-GUI:
把jar反编译为java的工具。
http://jd。benow。ca/
step1:
从apk中解压出classes。dex文件
step2:通过dex2jar将dex文件转换为jar
转换结果:
使用JD-GUI查看jar包
通过dex2jar
JD-GUI,用于查看源码比较方便,但弊端是不能对AndroidManifest。xml和资源文件进行解码。
求反编译个lua文件可以吗
楼上的有点技术好不好=
楼主指的是luac编译成字节码之后的文件。
如果要反编译也不是不行,但是必须要是lua5。1的luac编译出的文件才能反编译;其次,如果是愤怒的小鸟免谈,它自己编译了lua和luac的规则,基本反编译很难。
如果符合要求的话去下载luadec工具吧。
lua反编译是存在
不过反编译得到的不是lua源文件
而是一个类似汇编的二进制代码
你可以去载一个luadisasm
就知道反编译得到的是什么东西了
lua文件是文本存储的,为什么需要反编译呢?
notepad++打开
如何使用反编译软件破解android的布局文件
apktool,作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
dex2jar,作用:将apk反编译成java源码(classes。dex转化成jar文件)
jd-gui,作用:查看APK中classes。dex转化成出的jar文件,即源码文件
反编译流程:
一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到3个文件:aapt。exe,apktool。bat,apktool。jar
,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD)
,定位到apktool文件夹,输入以下命令:apktool。bat
test。apk
(命令中test。apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool。bat
[apk文件
[输出文件夹])
获取成功之后,发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool。bat
test(你编译出来文件夹)便可
之后在之前的test文件下便可以发现多了2个文件夹:
build
dist(里面存放着打包出来的APK文件)
二、Apk反编译得到Java源代码
下载上述工具中的dex2jar和jd-gui
将要反编译的APK后缀名改为。rar或则
zip,并解压,得到其中的额classes。dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes。dex放到之前解压出来的工具dex2jar-0。0。9。15
文件夹内,
在命令行下定位到dex2jar。bat所在目录,输入dex2jar。bat
classes。dex,
在改目录下会生成一个classes_dex2jar。jar的文件,然后打开工具jd-gui文件夹里的jd-gui。exe,之后用该工具打开之前生成的classes_dex2jar。jar文件,便可以看到源码了
1。下载反编译工具
需要下载四个工具:dex2jar、jd-gui、apktool、apktool-install-windows-r05-ibot
dex2jar:将apk中的classes。dex转化成jar
如何反编译Android 的apk/dex/odex,获得源码
反编译普通的APK文件:
对于普通的APK/DEX文件的反编译,其实工具有很多,
ByteCode
Viewer:
一个可视化的集成工具,说实话,不太好用,不够稳定,生成代码质量中等。
dex2jar
jd_gui:
这两个工具组合还可以,
用起来比ByteCode
Viewer麻烦一些,但比较稳定,生成代码质量中等。
反编译ODEX文件:
Android
Lollipop以后,Google用ART代替了以前的Dalvik,对于普通的app来说我们仍然可以用上面的方法来把dex文件反编译成Java源代码。但对于系统预装的App,特别是类似应用商店,播放器等,
你会发现这些应用的apk文件中找不到对应的classes。dex文件,而是会发现在其子目录下有个。odex文件。
那如何反编译这个odex文件呢?我通过google查了查,知道应该用baksmali,但从github上下载了几个版本都不行,报各种不同错误。
具体方法如下:
下载工具包,
解压缩到本地。
这里的baksmali的版本是32313133353236313431303231363533e58685e5aeb9313333613138392。0。3。
不同版本的baksmali针对的Android内核不同。有时候高版本反倒不好用。
打开工具所在目录,
按住shift键,
点击鼠标右键,打开Windows命令窗口
把odex文件拷贝到该目录
在命令窗口运行:
oat2dex。bat
*。odex
正常情况下,应该显示OK等信息。如果报错的话,说明这个文件无法转换,后面的也不用试了。
oat2dex。bat
*。odex
temp。dex
运行后会创建一个temp。dex文件。
baksmali-2。0。3。jar
temp。dex
source
运行后会创建一个source的文件夹,并将temp。dex反编译到该文件夹。-a
表明的是Android内核的版本21
small-2。0。3。jar
source
classes。dex
反编译为classes。dex文件。
需要注意的是:由这种方式反编译成的classe
有人搞过安卓下lua的扩展库吗?成功了吗?
有人搞过安卓下lua的扩展库so吗?成功了吗?
很久之前,我写了一个小教程,可以顺利地在android里使用lua~
但是,有个问题,就是,如果用LdoFile函数来读取lua脚本,就会一直找不到路径。
目前,我找到了一个可解燃眉之急的办法,当然喇,网上已经有这种方法了,我稍微整理一下。
首先,请确认你已经能够成功地在android上使用lua脚本,否则,你可以看看这篇文章:
[小教程]解决android中加入Lua脚本后安装APK报错的问题。
(置顶的日志)
好,开始。
1。创建android项目,在asset资源文件夹下创建一个lua文件夹
2。新建一个lua文件,放到
asset\lua目录下,如asset\lua\hello。lua。注意咯,我们要把lua文件放到asset目录,很重要~
--文件名:hello。lua
--一个简单的函数,计算两个数相加
function
plus(a,
return
--一个稍微不太简单的简单的函数,参数是一个Java对象,函数内容是调用Java对象value的函数
function
heihei(value)
value:inc();
value:inc();
return
value;
3。理论上,使用L。LdoFile("asset/lua/hello。lua");就可以加载lua文件了,但是实际上加载不成功(为什么?我暂时还不知道,要么等我变强,要么你去变强,然后告诉我,嘻嘻~)
4。呐,凡事呢,都有解决的办法,咱们用L。LdoString()函数来代替LdoFile()好不好?~好~!
5。怎么代替呢?对了~聪明的你猜对了~把hello。lua文件用IO流读取出来,然后保存到字符串里,然后就可以调用LdoString()函数了~
6。Java代码如下:
public
class
HelloLuaActivity
extends
Activity
private
final
String
="HelloLuaActivity";
@Override
public
onCreate(Bundle
savedInstanceState)
super。onCreate(savedInstanceState);
setContentView(R。layout。mai


发表评论