导航:首页 > 源码编译 > bin反编译教学

bin反编译教学

发布时间:2022-11-28 00:51:53

㈠ 如何反编译android应用以及重编译,签名和对齐优化

首先,了解一下我们为什么需要反编译apk
大部分情况下,是由于想本地化一款优秀的应用,才需要做这事儿;又或者进行少量的smali修改以达到想要的效果(如添加归属地,使3G版Nexus 7支持Wi-Fi热点)。

下面我们先准备运行环境和工具
建立工作目录,如.\workspace\apktoolbox (下面同样以此路径为例)
必不可少的JDK:Oracle java下载,安装完成后把<jdk-inst-path>\bin添加到$PATH环境变量中
反编译和重编译工具apktool:Google Code下载,按平台下载(一个apktool-install-<platform>-<ver>-tar.bz2,一个apktool<ver>.tar.bz2,下载完成后解压至.\workspace\apktoolbox\bin
密钥文件,共4组。test/shared/media/platform,从android source中获取,分别对应不同共享用户ID时签名所需(查看应用AndroidManifest.xml第二行android:sharedUserId项 ),放到.\workspace\apktoolbox\bin下
test - 无android:sharedUserId项
shared - android:sharedUserId=android.uid.shared
media - android:sharedUserId=android.uid.media
platform - android:sharedUserId=android.uid.system
签名工具signapk.jar,放到.\workspace\apktoolbox\bin下
对齐优化工具zipalign(从android sdk中获取,在tools目录下),放到.\workspace\apktoolbox\bin下
准备工作完成

接下来我们就要开始工作了(以本地化工作为例)
把待反编译的apk放到.\workspace\apktoolbox\apks下
命令行模式下进入.\workspace\apktoolbox\bin目录,输入以下命令进行解包(反编译)
apktool d ..\apks\<apkfile>.apk ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\res下的values目录(英文原版)和values-r<locale>目录(本地化)就是我们需要的对象。
本地化工作完成后,在命令行中输入以下命令进行重新打包(重新编译)
apktool b ..\apks\<outdir>

.\workspace\apktoolbox\apks\<outdir>\dist目录下会生成重新打包后的apk(未签名,未对齐优化)
重新打包完成后,在命令行中输入以下命令进行签名(根据实际情况选用密钥,这里以test密钥为例)
java -jar signapk.jar testkey.x509.pem testkey.pk8 ..\apks\<outdir>\dist\<apkfile>.apk ..\apks\<apkfile>_signed.apk

签名完成后,在命令行中输入以下命令进行对齐优化
zipalign -f -v 4 ..\apks\<apkfile>_signed.apk ..\apks\<apkfile>_zipaligned.apk

<apkfile>_zipaligned.apk就是我们最终需要的apk了。
完成
部分apk需要系统框架资源,没有的话在重新打包时会报错,这种情况下我们只需要先安装一下对应系统框架即可(从你目标ROM中把/system/framework/framework-res.apk提取出,放到.\workspace\apktoolbox\apks下)。在命令行中输入以下命令进行安装
apktool if ..\apks\framework-res.apk

㈡ 请教,如何反编译dll文件

如何反编译dll,如何将反编译的文件生成dll。
反编译dll
安装vs,最好是最新版本的,如果要反编译的dll使用新版本创建的,也能反编译成功。下面是详细的反编译步骤。
1.打开C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,这个程序是微软提供的反编译软件,打开要反编译的dll。
2.然后选择文件-转储,这时会弹出转储选项的对话框(一般按照默认即可),设定好以后选择转储位置。
3.完成后会生成以res和il结尾的文件,还有可能包含以.resources结尾的文件。这样我们就将dll反编译完成。根据需要修改il文件。
如何反编译.resources文件呢
选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在弹出的dos窗口下输入resgen 1.resources 1.resx,这样resources文件变转化成可以编辑的resx文件。
组合dll
先说如何将resx文件组合成resources文件
选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在弹出的dos窗口下输入resgen 1.resx 1.resources,这样resx文件变转化成可以编辑的resources文件。
将反编译后的文件组合成dll文件
选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在弹出的dos窗口下输入ilasm /dll/resource=1.res 1.il,注意res文件和il文件位置不可以改变,这样就生成了想要的dll。
当然如果对生成的dll不放心,可以使用.net Reflector进行查看。希望你能成功

㈢ 怎么把BIN文件转换为ASM文件

C51的Bin也是标准LINK出来的,反汇编就需要一些技巧,工具只能做到一些基本的工作的,以前我做过一个简单的时钟,就想试试反汇编,结果发现好复杂,短短几十行汇编,如果你没有源代码,几乎是不太可能直接找到其所在位置的。而且LINK之后最大的一个问题就是偏移,你只要多添一句,大部分跳转码的偏移都要做修改,所以只能在等长代码情况下修改。而且有一点我是绝对确定的,你所要求的工具以现在的技术而言是没有的,大部分工作还是得人工。 把邮箱留下,我可以给你一个反编译器,能把bin转成asmasm变成bin你就只能找对应的编译器了,如KEIL不过修改可能很困难的,如果是用c51写的,改动较大,程序再大点基本无解

㈣ 如何将keil编译后生成的.BIN .ASM .HEX 反编译成C文件

明确告诉你,不可能。
如果是把.BIN或.HEX反汇编成汇编程序,那是可以的,因为机器码与汇编命令是一一对应的,网上有这样的工具。但如果想把汇编整理成C那就不现实了,每种C编译器的编译方式都是不一样的,哪怕同一种编译器采用不同的优化策略,生成的机器码也不一样,可想而知,这个难度有多大,因此,做逆向工程的都是研究汇编的。
另外,.ASM是汇编程序的扩展名

㈤ bin文件如何反编译

用WinIso试试看

㈥ 编辑bin文件

这个是光盘的映像文件
1、用Bin2ISO将bin转成ISO文件,然后用WinImage解开.
注意:有些BIN文件实际上就是ISO文件如果上面的办法有问题可以直接将后缀改成iso,然后用WinImage解解看
2、用ISOBuster直接解
注意: 有几种格式,多试一试
3、用daemon直接将BIN文件虚拟成光驱
这个办法最方便,推荐。

㈦ 请教下 怎么反编译 网站BIN文件下的 App_Code.dll文件我想修改里面的东西 但是 不知道怎么修改

没有编程基础就不要去瞎搞了

㈧ 关于真三国无双OL里.bin格式的文件

额,LS的回答有些不负责任啊,不能随便乱粘贴一段就做回答。

LZ你好,我是做程序设计的,同时也是《真三国无双OL》的忠实爱好者,你的问题我可以解答部分。

首先,真三国无双OL里面的bin文件,是编译工具将程序源代码和资源进行编译后生成的可由计算机直接解读的文件(就是二进制文件)。例如用Visual Studio对C#语言所设计的WinForm程序进行编译,软件的主体部分就是各bin文件。

也就是说,你打开《真三国无双OL》,所看到的众多bin文件是经过IDE编译之后的文件,文件内容都是给电脑直接读取和解析的二进制代码。想要读取编译过后的bin文件的内容,则需要一个反编译过程,将bin的二进制内容还原为原本的内容。这就需要一个对应的反编译的算法支持。(不同的程序语言和IDE环境所使用的编译算法都不一样)。

也就是说,bin文件里面的内容不光只有图片、声音,同时还有各种数据模型、算法、流程控制、3D贴图和纹理等等。所以我假设你即使能将所有的bin文件全部反编译成功,其中也有相当部分的内容是你不需要也看不懂的(例如各种类、接口、函数、通用类等等)。

而且各种内容即使被成功反编译,其存储类型也不一样,例如图片内容,他可能是GIF格式、PNG格式、或者是图片集格式,例如3D纹理,他可能是我们目前通用的软件所无法打开的格式。所以如果有这样一个能将bin文件解析为图片或者声音之类的,那它必须具备反编译的功能,和将反编译后的内容转换为非开发环境中也能正常识别的内容的功能。

这就是为什么目前的解析bin文件的软件,普通都无法读取解析所有bin文件的原因。

目前网络上有款软件,名字叫“真三国无双OL资源提取器”,已经能正常读取bin文件中的图片资源文件,LZ可以自行搜索一下。

另,我其实是搞网络程序的,对于CS模式的开发理解也不是很深,以上可以理解为个人见解-,-如果有错误希望不要误导到别人才好。

祝LZ玩得开心。

--------------------------------------------------------------------

其实说老实话,目前声音、音乐、武器模型、武器贴图、甚至人物、服饰等的贴图都已经有人提取出来了。证据就是目前可以替换声音、音乐、武器模型、人物和衣服的贴图等。(话说替换武器模型以后玩游戏,那打击感会觉得很恶心)。

不过这部分我并没有过多研究,根据我以前修改KOEI其他单机游戏的经验,个人估计还是先解析相关bin文件,将解析出来的资源进行修改,然后编译为新的bin文件替换回去。应该会有相关的软件。不过因为是流通性较低的软件,所以搜索起来比较麻烦。

LZ可以以相关关键字在网上搜索,找到相关的文章和软件。比如替换人物贴图这个应该是最容易找的。至于武器模型么,如果《真三国无双OL》找不到突入口,完全可以从《真三国无双4S》和《无双大蛇Z》这2个游戏上找,首先这3个游戏的武器模型基本都是一样(建模没有做太大修改),第二后两个游戏因为是单机游戏,玩的人更多(说真的玩OL的人真的少得可怜),相关信息量也更大,第三也是最重要的一点,这两个游戏很久以前就已经被改得面目全非了。。。

后两个游戏的提取和修改信息,我推荐到3DM论坛上找找。

㈨ 路由器的固件能反编译吗

可以进行反编译。

路由器的固件通常存储在FLASH中,通常都是以xxx.bin格式的文件形式保存的。bin格式是一种二进制文件,存储的是路由器的机器码,通过反编译,可以将其还原为汇编码,以便进行分析。获取、反编译及分析固件通常按下列步骤:

获取路由器固件需要的环境

  1. 常见路由器的SPI FLASH编程器;

  2. 最好是用Winows 笔记本来登陆到ubuntu系统的台式机上的方式 ;

  3. Windows 下的Putty、winhex、WinSCP软件工具;

  4. TTL线、网线、万用表及烙铁,热风枪等工具和线材;

分析步骤

  1. 拆开对应的路由器设备的外壳;

  2. 查看路由器内部的的接口标识;

  3. 用万用表找到对应的地线GND标号;

  4. 通常为了调试或升级的方便,都会保留TTL引脚;

  5. 查看是否存在有TTL线的引脚或触点;

  6. 用准备好的TTL线连接路由器的TTL引脚或触点;

  7. windows下用putty中的串口项打开对应的TTL线连接的串口;

  8. 查看是否有路由器启动的日志信息,如果有,请仔细分析;

  9. 等路由信息启动完毕后,看看是否有终端跳出来,是否有登陆窗口跳出;

  10. 如果有登陆窗口,但是无法输入,或者无法猜测出对应的用户名密码;

  11. 用热风枪或烙铁取下路由器上的存储FLASH芯片;

  12. 在Windows下用编程器提前存储在FLASH芯片的全部固件;

  13. 用WinSCP工具将提取出的固件上传到ubuntu系统中;

  14. 在ubuntu系统中安装对应的固件分析工具(firmware-mod-kit、binwalk、lzma、squashfs-tools等);

  15. 用这些分析工具进行分析,分析出来后,解压对应的数据包,提前对应的关键性数据进行分析。

按以上步骤可以实现对路由器的分析。

㈩ java的反编译怎么使用,说具体点

使用SDK提供的反编译器javap.exe可以将字节码反编译为源码

阅读全文

与bin反编译教学相关的资料

热点内容
如何让app适应不同的手机屏幕大小 浏览:8
苹果手机如何给安卓手机分享软件 浏览:759
苹果电脑怎么运行腾讯云服务器 浏览:59
明日之后沙石堡命令助手 浏览:261
蛋糕店用什么样的app 浏览:877
长安银行信用卡app怎么取现 浏览:635
dos命令cmd命令的 浏览:226
阿里云存档视频文件的服务器 浏览:194
ftp修改文件权限命令 浏览:491
周易八卦梅花算法 浏览:676
java组织机构 浏览:953
h5大转盘游戏源码 浏览:592
学校服务器地址查询 浏览:109
pythontutorial下载 浏览:524
pythonswampy示例 浏览:95
有没有什么语音讲书看书的app 浏览:995
文件夹怎么做标题 浏览:33
腾讯云服务器如何防止被攻击 浏览:881
六棱柱的体积算法 浏览:935
淘宝什么云服务器好用 浏览:340