反编译软件怎样用将一个exe件件进行反编译
反编译软件 时间:2021-11-03 阅读:(
)
jad反编译工具怎么用?
应该是在Eclipse安装Java反编译工具吧,过程很简单:
1、下载jad.exe以及jadclipse_xxx.jar。
(注意xxx表示版本,最好先看看你的Eclipse版本,然后网站搜索对应jar包以及jad.exe版本)
2、把jadclipse_xxx.jar放在Eclipse根目录plugins文件夹里、把jad.exe放在jdk根目录bin文件夹里。
3、设置参数(Eclipse):Window->Preferences->Java->JadClipse-->Path?to?piler,指向jad.exe的目录。
4、配置*.class文件关联(Eclipse):Windows-->Perference-->General-->Editors-->File?Associations中修改“*.class”默认关联的编辑器为“JadClipse?Class?File?Viewer”。
如何把自己修改过的手机游戏打包成apk安装包
您好, 您可以使用反编译软件将您的游戏【天天星连萌】进行反编译 在反编译的文件夹中,修改您的手机游戏 然后在用反编译软件打包成apk即可 在腾讯电脑管家——软件仓库中有多款反编译软件 您可以选择合适的反编译软件 推荐使用【改之理】 傻瓜式操作,简单易懂 希望可以帮到您,望采纳 腾讯电脑管家企业平台:/c/guanjia/请问 .exe 文件用什么 软件来编辑 修改呢?
exe文件其实就是2进制文件。
UltraEdit 这个软件就是专业的2进制编辑器。
另外很多汇编变成工具入VB,VS等都可以编辑制作exe文件。
不过要想真的做一个专业的pc桌面程序是要花大工夫学很长时间的。
如果EXE文件是用VB编译的,用反编译软件可以实现查看编辑。
不过这些都是很专业的。
一般人就使用这些exe文件了。
如果你想做一个程序员,那这些东西都回学到的。
有没有VB反编译程序
1、到目前为止,可以说"没有"真正有意义的反编译程序。
2、网上虽然有一些称vb反编译的程序,但大多只能反编回一些窗体;对于代码基本上就没有可用性,或根本没有代码。
3、反编译一般指反向编译,是计算机软件的反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。
反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
反编译是一项艰巨而复杂工作。
如何反编译android应用并重新打包
一.看android的源代码
1)将Apkd.apk 用zip解压后,出现了一个classes.dex文件
2014/02/19 19:42
.
2014/02/19 19:42
..
2014/02/19 15:35 1,656 AndroidManifest.xml
2014/02/19 15:35 687,024 classes.dex
2014/02/19 15:49
META-INF
2014/02/19 15:49
res
2014/02/19 15:35 2,200 resources.arsc
2)进入到dex2jar目录中,运行情况如下:
D:developer ools est_apkdex2jar-0.0.9.15>dex2jar.bat "..Apkd(d2j)classes.d
ex"
this cmd is deprecated, use the d2j-dex2jar if possible
dex2jar version: translator-0.0.9.15
dex2jar ..Apkd(d2j)classes.dex -> ..Apkd(d2j)classes_dex2jar.jar
Done.
在apk所在的目录会出现 classes_dex2jar.jar 文件。
3) 用JD-GUI对jar包进行查看,可以查看源文件
二.反编译apk
1.在 下载 APKTOOL中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令.
2012/12/06 11:44 854,016 aapt.exe
2014/02/19 17:15 277,372 Apkd.apk //示例用 apk文件
2012/12/23 23:39 92 apktool.bat
2013/02/03 02:37 2,655,843 apktool.jar
2.进入到apktool.bat所在的目录,运行:
apktool d Apkd.apk decode_dir
反编译后,decode_dir目录下的内容如下:
2014/02/19 17:16 716 AndroidManifest.xml
2014/02/19 17:16 237 apktool.yml
2014/02/19 17:18
build
2014/02/19 17:16
res
2014/02/19 17:16
smali
此时我可以查看原文件AndroidManifest.xml了,也是查看smali源文件(是用smali语言写的,可以对照java看)。
三.APKTOOL的使用
1).decode
该命令用于进行反编译apk文件,一般用法为
apktool d
代表了要反编译的apk文件的路径,最好写绝对路径,比如C:MusicPlayer.apk
代表了反编译后的文件的存储位置,比如C:MusicPlayer
如果你给定的已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f
这样就会强行覆盖已经存在的文件
2).build
该命令用于编译修改好的文件,一般用法为
apktool b
这里的
就是刚才你反编译时输入的
(如C:MusicPlayer),输入这行命令后,如果一切正常,你会发现C:MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3).install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。
具体情况请看常见问题
四.smali与java源码对照,并做出相应的修改
java源代码:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView a = (TextView)this.findViewById(R.id.test) ;
a.setText("raoliang");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
对应的smali源代码:
.class public Lali/text/apkd/MainActivity;
.super Landroid/app/Activity;
.source "MainActivity.java"
# direct methods
.method public constructor ()V
.locals 0
.prologue
.line 8
invoke-direct {p0}, Landroid/app/Activity;->()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.locals 2
.parameter "savedInstanceState"
.prologue
.line 12
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 13
const/high16 v1, 0x7f03
invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->setContentView(I)V
.line 14
const/high16 v1, 0x7f08
invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
.line 15
.local v0, a:Landroid/widget/TextView;
const-string v1, "raoliang"
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 16
return-void
.end method
.method public onCreateOptionsMenu(Landroid/view/Menu;)Z
.locals 2
.parameter "menu"
.prologue
.line 21
invoke-virtual {p0}, Lali/text/apkd/MainActivity;->getMenuInflater()Landroid/view/MenuInflater;
move-result-object v0
const/high16 v1, 0x7f07
invoke-virtual {v0, v1, p1}, Landroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V
.line 22
const/4 v0, 0x1
return v0
.end method
通过对比可以看到,常量是没有必变的,可以根据的smali的语法,进行相应的修改
五.3、打包、签名和安装修改后的apk
修改完了,就可以打包回apk了。
执行以下命令:
apktool b decode_dir
在mygame目录下的dist在会看到打包好的apk。
当然,现在一般是无法安装的,因为apk还没有签名。
下面就来签名。
签名需要keystore文件,我已经有专用的keystore了,如果还没有,请参阅这里进行生成。
执行以下命令为重新编译的my_game.apk签名:
jarsigner -verbose -keystore demo.keystore Apkd.apk demo.keystore
最后,在安装到手机前,需要把手机中的已有版本先卸载,因为如果签名不同,是不能覆盖安装的,会提示“应用程序未安装”错误。
完整的运行情况如下:
D:developer ools est_apk
ewdecodedist>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: rao
您的组织单位名称是什么?
[Unknown]: rao
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的州或省份名称是什么?
[Unknown]:
该单位的两字母国家代码是什么
[Unknown]:
CN=rao, OU=rao, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 正确吗?
[否]: y
输入的主密码
(如果和 keystore 密码相同,按回车):
D:developer ools est_apk
ewdecodedist>jarsigner -verbose -keystore demo.keystore Apkd.apk demo.keystore
输入密钥库的口令短语:
正在添加: META-INF/MANIFEST.MF
正在添加: META-INF/DEMO_KEY.SF
正在添加: META-INF/DEMO_KEY.RSA
正在签名: res/drawable-hdpi/ic_launcher.png
正在签名: res/drawable-mdpi/ic_launcher.png
正在签名: res/drawable-xhdpi/ic_launcher.png
正在签名: res/drawable-xxhdpi/ic_launcher.png
正在签名: res/layout/activity_main.xml
正在签名: res/menu/main.xml
正在签名: AndroidManifest.xml
正在签名: classes.dex
正在签名: resources.arsc
D:developer ools est_apk
ewdecodedist>
到此为止,修改后的apk可以正常的安装了,不过,在安装之前,必须要先卸载以前的apk,不能直接替换(因为签名不一样)怎样用将一个exe件件进行反编译
看什么语言编写的了。
不好一概而论。
如果是C/VC写的,没办法反编译。
如果是VFP,用UnFox 如果是Java, 用cavaj 如果是VB,..去找找,忘记名字了,有专用工具。
你得先能判断出来大概是什么语言编写的。
今天有网友提到自己在Linux服务器中安装VNC桌面的时候安装都没有问题,但是在登录远程的时候居然有出现灰色界面,有三行代码提示"Accept clipboard from viewers,Send clipboard to viewers,Send primary selection to viewers"。即便我们重新登录也不行,这个到底如何解决呢?这里找几个可以解决的可能办法,我们多多尝试。...
炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...
官方网站:点击访问青云互联活动官网优惠码:终身88折扣优惠码:WN789-2021香港测试IP:154.196.254美国测试IP:243.164.1活动方案:用户购买任意全区域云服务器月付以上享受免费更换IP服务;限美国区域云服务器凡是购买均可以提交工单定制天机防火墙高防御保护端口以及保护模式;香港区域购买季度、半年付、年付周期均可免费申请额外1IP;使用优惠码购买后续费周期终身同活动价,价格不...
反编译软件为你推荐
网游排行榜2013前十名网络游戏前10名是什么什么是twitterrt是什么意思空间psd空间的PSD是什么意思澳大利亚公司注册澳洲公司注册条件、流程是什么?堆糖网堆糖 这软件 是做什么的qqexplorer请教高手QQExplorer的问题酒店网络营销互联网时代下的酒店营销怎么做天天酷跑ios天天酷跑ios怎么无限刷钻石工商门工商管理是干嘛的?印度女星印度宝莱坞最漂亮最当红的女明星??
美国域名注册 传奇服务器租用 赵容 liquidweb 标准机柜尺寸 100x100头像 域名转向 hkt 鲁诺 申请免费空间和域名 江苏双线服务器 个人免费主页 登陆空间 上海电信测速 我的世界服务器ip 独立主机 双11促销 谷歌搜索打不开 碳云 ncp是什么 更多