当前位置:文档之家› VS2013-Qt5.5.1-动态编译-VTK7.0.0

VS2013-Qt5.5.1-动态编译-VTK7.0.0

VS2013-Qt5.5.1-动态编译-VTK7.0.0
VS2013-Qt5.5.1-动态编译-VTK7.0.0

这是系列文章的第1/7篇

1. VS2013-Qt5.5.1-动态编译-VTK7.0.0

2. VS2013-MPI v7-静态编译-Boost1.6.1

3. VS2013-编译-Qhull2015.2

4. VS2013-编译-FLANN1.8.4

5. VS2013-编译-Eigen3.2.8

6. OpenNI2.2.0.33下载和安装

7. VS2013-Qt5.5.1-VTK7.0.0-Boost1.6.1-Qhull2015.2-FLANN1.8.4-Eigen3.2.8-OpenNI2.2.0.33-动态编译-PCL1.8.0

此次编译VTK7.0.0,采用VS2013,在X64下编译debug和release两个版本,所依赖的Qt版本是5.5.1(msvc2013_64).

下载VTK

1.从VTK官网下载源码包,本文下载的是VTK-7.0.0.zip.

两个压缩文件内容应该是一样的,只不过zip是全平台通用(windows也能解压),tar.gz是linux 下通用的压缩文件格式(windows下安装解压软件后也能解压).

2.解压VTK,本文解压到下列路径:

下载CMake

1.从CMake官网下载CMake,本文下载的是cmake-3.5.2-win32-x86.zip.

2.解压CMake,本文解压到下列路径:

下载Qt

1.从Qt官网下载并安装Qt5.5.1 for vs2013,Online Installer或者Offline Installer都可以.它们俩是对Qt的完全安装(包括源码),如果只需要源代码,该页面也提供了下载,自行寻找.

2.本文安装到下列路径:

注意:如果电脑中安装了多个版本的Qt,最好只把需要依赖的Qt版本加入环境变量.否则CMake会自动搜索,并自动设置目录,如果目录不是期望的,手动改很烦.

本文把Qt加入了环境变量,即path = D:\Qt\5.5.1\5.5\msvc2013_64\bin;

总之,CMake会自动在电脑中搜索并设置很多东西,如果你想引导CMake的自动搜索,最好的办法就是添加环境变量.还有一种方法是CMake界面,在执行Configure前,手动Add Entry.

准备工作做好后,就可以着手编译VTK了

Step1

打开cmake-gui.exe,它位于cmake-3.5.2-win32-x86\bin目录下.

Step2

设置源码路径(就是包含"CMakeLists.txt"的路径):

你源码解压至哪里,就设置哪里.如图:

设置构建路径:

CMake会在该路径下,生成solution(针对VS),打开sln就可以编译出结果,所有编译结果都在该目录下.如图:

Step3

勾选CMake界面上的Grouped和Advanced,Grouped是对配置分组,Advanced是显示高级配置.这两个复选框,什么时候点击都可以.

Step4

点击Configure.

CMake要求选择编译器,根据实际需求选择即可,本文选择如下,然后CMake开始生成配置.

等待CMake把配置生成完毕后,就需要对CMake自动生成的配置进行修改.所有红色显示的配置,都是需要用户确认的配置或者有问题的配置,在默认配置上进行如下修改:

1.BUILD_SHARED_LIBS 选中,构建动态库版本,即既有lib,又有dll.

2.VTK_Group_Qt 选中,使用Qt.

3.CMAKE_INSTALL_PREFIX 修改为D:/VTK/7.0.0/msvc2013_64

这个目录可以自行指定,当VTK编译完成后,安装时,会将VTK安装到指定的目录,强烈建议修改此目录.

4.

INSTALL_BIN_DIR 修改为D:/VTK/7.0.0/msvc2013_64/bin

INSTALL_INC_DIR 修改为D:/VTK/7.0.0/msvc2013_64/include

INSTALL_LIB_DIR 修改为D:/VTK/7.0.0/msvc2013_64/lib

INSTALL_MAN_DIR 修改为D:/VTK/7.0.0/msvc2013_64/share/man

INSTALL_PKGCONFIG_DIR 修改为D:/VTK/7.0.0/msvc2013_64/share/pkgconfig

上面配置修改完后,点击Configure,会报错,点ok即可.

Step6

VTK_QT_VERSION 修改为5

修改完之后, 点击Configure.

下面7项,如果环境变量正确,应该自动填好了,不需要修改.

QT_QMAKE_EXECUTABLE 修改为D:/Qt/5.5.1/5.5/msvc2013_64/bin/qmake.exe

Qt5_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5

Qt5Core_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5Core

Qt5Gui_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5Gui

Qt5Sql_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5Sql

Qt5UiPlugin_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5UiPlugin

Qt5Widgets_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5Widgets

直接点击Configure.

Step8

点击Add Entry

Name:CMAKE_DEBUG_POSTFIX

Type:STRING

Value:d

Description:可以为空

如下图:

这样可以让debug版本编译出二进制文件,带有后缀d.以便和release版本编译出的二进制文件相区分.强烈建议这么做.

添加之后,点击Configure.

如果还有配置是红色,点击Configure,直到没有配置为红色.

之后点击Generate.

Step10

生成完成之后,CMake就可以关了.找到构建目录下的\GUISupport\Qt\PluginInstall.cmake文件,打开它,把第五行:

SET(VTK_INSTALL_QT_PLUGIN_FILE "QVTKWidgetPlugin.dll")

修改为:

IF(BUILD_TYPE MATCHES Debug)

SET(VTK_INSTALL_QT_PLUGIN_FILE "QVTKWidgetPlugind.dll")

ELSE()

SET(VTK_INSTALL_QT_PLUGIN_FILE "QVTKWidgetPlugin.dll")

ENDIF()

然后保存,并关闭文件.

不修改,debug下install报错,但如果你能理解编译过程,并看懂错误,这个错误其实没什么大不了.

同样是为了区分D版和R版的dll.D版带有后缀d.

用VS打开构建目录下的VTK.sln解决方案.

等待IDE解析,解析完成后,状态栏会显示就绪.解析过程比较耗时,耐心等待VS解析完成.

当然,可以不用等待解析完成,直接构建.

*如果装有VX等插件,建议打开VTK.sln之前禁用VX插件,否则解析可能会很慢,VS可能卡死. Step12

确保ALL_BUILD为启动项目(如果没出问题,它应该就是启动项目).

选择ALL_BUILD项目,点击生成

编译过程比较耗时,具体时间,取决于电脑性能(主要是CPU,然后是硬盘).

Step13

Step12生成成功之后,就可以安装VTK了,右击INSTALL项目,选择仅生成INSTALL.然后就开始安装VTK了,安装完成,就可以在之前设置的prefix目录下看到安装之后的VTK.

如果Step12-13生成的是debug版本,切换成release,重复12-13即可生成并安装release版本.

*建议,要么只安装R版;要么先安装D版,再安装R版.因为后安装的版本,会覆盖同名的文件. 注意

CMake的generate依赖编译器默认设置,对VS2013来说.如果你之前对全局属性表做过设置,建议恢复原状,否则可能出现莫名其妙的错误.禁用语言扩展必须为否.如图:

编译器设置恢复默认,最简单的办法,就是把自定义的属性页全部移除,VS自带属性页全部恢复默认.

VTK安装目录分析

注意:下面说明,在没有编译test时成立,编译了test后dll,lib,pdb数量会多出一些.

[bin]文件夹中,D/R版本各有109个dll和2个exe.

dll一一对应,但内容不一样.

exe同名,但内容不一样.

[lib]文件夹中,D/R版本各有109个动态lib和1个静态lib.

vtksqlite-7.0.lib和vtksqlite-7.0d.lib是静态库,没有dll,也没有为它生成pdb.

lib一一对应,但内容不一样.

[lib]文件夹中,有个CMake文件夹,D/R版本的内容完全一样.

除了VTKTargets-debug.CMake和VTKTargets-release.CMake.

[include]文件夹中,D/R版本的内容完全一样.

CMake文件夹中,D/R版本的内容完全一样.

plugins文件中,D/R版本都有一个designer文件夹,各有一个dll.

dll一一对应,但内容不一样.Qt设计师真正需要的是R版本dll.

share文件中,D/R版本的内容完全一样.

install在复制内容时,如果检测到同名且内容一样的文件,直接跳过,不复制;

检测到同名但内容不一样的文件,覆盖;

未检测到同名文件,复制.

install不会复制pdb文件,如果需要pdb,则只能手动复制.

D版本生成的pdb中,除了那109个dll对应的pdb,还有额外的6个pdb,分别是lproj.pdb

QVTKWidgetPlugind.pdb

[vtkEncodeString-7.0.pdb]

vtkH5detect.pdb

vtkH5make_libsettings.pdb

[vtkHashSource-7.0.pdb]

其中QVTKWidgetPlugind.pdb对应的是QVTKWidgetPlugind.dll,它是Qt设计师的插件. 另外5个PDB对应的都是exe,其中[]括起来的pdb对应的exe被复制到[bin]目录下了. 所以如果真的需要使用pdb,仅仅复制那109个dll对应的pdb到安装目录的[bin]即可.

反编译详细教程

.去震动教程.时间居中教程,时间显示到秒且居中 在通知栏增加模拟时钟透明状态栏代码修改 字体颜色修改关于运营商图标修改 可以ctrl+F,按需搜索 一:去震动教程: 一、首先是配置编译和反编译环境,具体方法如下: 1、在电脑上下载安装JRE(https://www.doczj.com/doc/785523719.html,/file/clif5w53)。其次下载好apk反编译工具 (apk反编译软件.rar(2.43 MB, 下载次数: 5756) ) 2、在系统环境变量Path里加入java.exe所在路径。 右键我的电脑--属性--高级系统--设置--环境变量--系统环境变量,里面的path变量项,值里面添加java的所在路径(例如“;C:\Program Files\Java\jre6\bin”) 3、将反编译软件解压出来,为了便于使用,最好放在C:\Windows目录下。 二、提取并反编译framework-res.apk文件 1、手机必须root,先用RE管理器将/system/framework文件夹下的文件framework-res.apk复制到/sdcard,然后复制到电脑(为了方便后面的操作,建议将文件放到电脑某个盘符的根目录下。例如:e:\framework-res.apk)

2、反编译framework-res.apk文件。具体方法运行cmd.exe(如图) 然后在出来的命令提示行中输入以下命令:apktool+空格d+空格+framework-res.apk路径+空格+反编译后文件存放路径,比如文件放入d盘根目录则命令为:apktool d d:\framework-res.apk d:\framework-res(如图)(此时反编译出来的文件放在d盘framework-res文件夹下) 三、修改去震动相关的xml文件 一般framework-res\res\values\arrays.xml就是我们要修改的对象。用xml编辑器(xml 编辑器.rar(345.03 KB, 下载次数: 3223) )打开这个文件。修改如图:

反编译FLASH利器SWF DECOMPILER使用教程

反编译Flash利器SWF Decompiler使用教程 1、软件功能介绍 SWF Decompiler 是一款用于浏览和解析Flash动画(.swf文件和.exe文件)的工具。它能够将flash动画中的图片、矢量图、字体、文字、按钮、影片片段、帧等基本元素完全分解,还可以对flash 影片动作(Action)进行解析,清楚的显示其动作的代码,让您对Flash 动画的构造一目了然。你可以将分解出来的图片、矢量图、声音灵活应用于FLASH MX 2004 中,让你也可以做出大师级的作品! 2、认识SWF Decompiler 的界面 SWF Decompiler 的界面如(图1)所示:

图1 SWF Decompiler 的界面比较简单,除了上面的菜单栏和工具栏外,左边是文件查看窗口,中间是影片预览窗口和信息窗口,右边是资源窗口,下面简单介绍一下工具栏。 由于菜单命令与工具栏的功能一样,这里只介绍工具栏的作用。工具栏包括共有9个工具(参看图1 从左至右): ①快速打开:不用解释吧^o^; ②导出fla:导出反编译后的 .fla格式源文件; ③导出资源:导出反编译后的Flash中的资源,如图片、音频、Flash片段等; ④文件浏览:显示或隐藏文件浏览窗口; ⑤信息窗口:显示或隐藏信息窗口; ⑥资源窗口:显示或隐藏资源窗口; ⑦影片信息:显示当前的Flash影片信息; ⑧背景颜色:设置Flash及资源预览窗口的背景颜色; ⑨动作脚本查看方式:共有3个查看方式选择,源码、伪码、原始数据; 3、SWF Decompiler 的操作方法

①打开Flash影片。打开SWF Decompiler 后在文件夹浏览窗口中找到要处理的Flash所在的文件夹(当然也可用“快速打开”工具)并单击,然后在文件选择窗口中点击要处理的Flash(可以是swf格式或exe格式),此时开始在预览窗口中播放影片。 如果想浏览窗口大一些,可点击[文件浏览]和[信息窗口]工具,隐藏了这两个窗口,浏览窗口便自动扩大。 ②导出SWF源文件(fla格式)。在右侧的资源窗口中点击该文件名前面的“+”号(见图2),软件便开始分析当前的SWF文件,稍等候就完成分析并以树形结构分门别类显示出SWF文件的内部结构来。如图3所示: 图2 图3 然后点击上面的[导出fla]按钮,在“导出fla”选项窗口中,选择好导出路径和其他选项,如果选择“自动用FLASH打开”,则会直接启动FLASH MX 2004,就可以对导出的fla文件进行编辑操作。

图文并茂:反编译E书软件使用教程

图文并茂:反编译E书软件使用教程 ----------霏凡论坛sss888制作 本篇教程主要介绍E书反编译软件的使用方法,让大家从不能保存的E书中获得所需要的文章和图片。 首先感谢制作反汇编电子书工具软件的作者,是他为我们制作了这么好的软件。 下面我们开始介绍软件的用法。 第一:miniKillEBook使用方法 首先是miniKillEBook介绍 MiniKillEBook可以反编译EXE,CHM格式的电子书,但对翻页EXE格式电子书和小说网的EXE格式的电子书无效。 双击图标打开miniKillEBook软件 打开miniKillEBook后,界面如下。 然后找到你要反编译的E书。 我们以红楼望月:《从秦可卿解读<红楼梦>》为例子来反编译。

点击图标打开E书,打开后的界面如下。 用鼠标左键按住不放,拖动光标到E书的界面中, 如果界面没选对会提示下面的对话框。 你需要重新选择E书的界面。选择成功后会变成下面的样子。

然后选择反编译后文件的保存的地方,如下图: 点击按钮,开始反编译E书。成功后的提示如下。

由于前面选择了,现在你就得到了纯文本格式的文件。 如果这个选项不打钩,将得到网页文件

反编译CHM格式电子书的方法 点击图标打开E书,打开后的界面如下。 用鼠标左键按住不放,拖动光标到E书的界面中,如下图:

点击按钮,开始反编译E书。后面的方法同上面,就不做详细介绍了。 好了miniKillEBook用法就介绍到此,下面介绍CtrlN的用法。 第二:CtrlN的用法 由于上面的miniKillEBook软件作者做了限制,只能反编译得到网页文件,还有些E书被屏蔽了鼠标右键,不能获得网页的文本和图片,我们现在讲E书文件中的图片获得的方法。 双击打开CtrlN软件,打开miniKillEBook后,界面如下。 首先设置好CtrlN软件,点击图标,出现下面的配置界面。

电脑端反编译pyc完全教程(两种方法)

本文由panhaiqing1990贡献 doc1。 完全教程(两种方法 两种方法) 电脑端反编译 pyc 完全教程 两种方法 QUOTE: 写在前面:虽然手机上可以使用许多反编译的软件, 但是受限于手机的运存,稍微大一点的 pyc 代码就不 能反编译成功,或者要等很久,因此笔者特研究出怎 样在电脑端用 python 反编译。 ********************************************** ************ QUOTE: 感谢 真.天舞 大哥提供的另外一种方法,就是使用电脑端的 decompile 代码, 也可以实现反编译哈,感觉比较简单,大家选择一种使用吧。 先安装 PY 平台 这里下载 2.2.3 的平台 2.5 的不行,用不了 安装完成再把反编译脚本复制到安装盘 Lib 文件夹里面 再打开“开始”,“程序”,“Python 2.2”,“IDLE (Python GUI)” 把下面编码复制到编辑器里面 >>> from decompile import main(这里按回车键跳下到下一行) >>> main('','.',['c:\\ped.pyc']) 注:c:\\ped.pyc 是要编译的文件路径,实际操作的时候要把路径改为你要编译的脚本路径 然后 Enter 键(回车键) 少等片刻…… 到 C 盘看一看,ped.pyc_dis 就是反编译出来的脚本了 把后缀改为 ped.py 就可以了 QUOTE: 最新发现,原来两种方法本质上是一样的,都是调用 decompile 文件夹里面的相应模块和函数,实现反编 译。 我写的那种方法其实就是 真.天舞 大哥说的那种 方法的翻版。我写的那种方法是先将 py_decompile 模块放在根目录下面,其实它的代码就三句: [Copy to clipboard] [ - ] CODE: from decompile import main def decompile(path): main('','.',[path],none,0,0,0) 之后再调用里面的 decompile 函数,也就是换汤不换 药。一样哈。 QUOTE: 电脑端反编译 pyc 教程 在网上曾多次见到有人说电脑端用 decompile 模块可 以反编译 pyc 文件, 但是所说的那种方法根本就不行, 因为一来是那个模块不好找,二来是那是反编译的语 句根本就是错误的,根本没法用,或者说作者没有写 清楚到底该以什么样的步骤来反编译导致我弄不来。 经过我仔细加长时间的实验终于有了一点收获,下面 把图文教程弄给大家, 以便为有需要的朋友提供便利: 1.需要的软件和文件 首先,是 python2.2.3 for windows,我试过了,用 更加高级的版本不能反编译成功。安装它。 然后是我从炫飘零的“编译反编译工具”解包得 来的反编译所需要的模块。解压缩后全部放在电脑端 python 的“安装盘:\python22 \lib”下面。 2.按下图所示,在开始菜单处选择 接下来,看到这个画面,有点像 cmd 的界面: 3.在里面输入:import py_decompile 回车 py_decompile.decompile(“需要反编译的文件完整路 径”) 回车 如图 之后等一下,成功的话会看见这样的提示: 反编译后的文件和原文件在一个目录下面: 然后把它的文件后缀改成 py 就可以变成一个 py 脚本 了。 但是反编译之后的 py 脚本里面的许多提示性的文字 全是一些符号加字母和数字组成,怎么还原成中文或 者说是原文呢,这里推荐使用我提供的从网上搜来的 源码还原,因为种种原因,这个没能整到电脑上面来 使用,只能在手机上面使用。它可以批量还原,相当 安逸。当你把需要反编译的文件反编译好后,就可以 传到手机上面一个单独的目录。然后运行软件选择相 应的目录,之后就等吧,不久就成功了。 附图: 在看下还原后的效果: 再给大家看张我用模拟器在电脑端运行我修改后的 py 代码的情况。 [ 本帖最后由 perfectswpuboy1 于 2009-8-28 19:19 编辑 ]

apk反编译步骤

apk反编译步骤 2011-02-24 21:17:25 标签:apk反编译休闲Android职场 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。 https://www.doczj.com/doc/785523719.html,/2400264/499893 对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式,然后解压缩可以看到内部的文件结构,类似Sun JavaMe的Jar压缩格式一样,不过不同的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些我们自己编写的跟踪程序。Google最然在Android Market上设置了权限保护app-private 文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取到需要的文件。 当然了,我们反编译的目的是为了学习。 1. Apk文件:自己准备apk文件。 2. 将xxx.apk扩展名修改为xxx.rar或者xxx.zip,用WinRar解压缩,你可以看到内部文件的结构,类似下图所示:

3. 直接打开AndroidManifest.xml会发现是乱码,这里面是二进制字符,需要用AXMLPrinter2.jar (https://www.doczj.com/doc/785523719.html,/p/android4me/downloads/list),下载AXMLPrinter2.jar文件,为了方便,这里我把它放到了Android SDK文件夹下面的tools文件夹中) 4. 逆向xml文件:把相应的AndroidManifest.xml放到AXMLPrinter2.jar同一目录,进入命令行模式,输入以下命令(注意空格):

E语言模块的破解反编译方法-悠悠原创

E语言模块的破解反编译方法-悠悠原创 一定有很多用E语言编写程序的人,对API函数不是很了解。 只能用别人编写的模块 但是呢。。。 别人的模块有要花钱。咱们都是没钱地穷人。 嘿嘿~~ 我个人是支持正版的,但是我更喜欢破解的。 所以今天就在这里教大家怎么去破解E模块!只是方法而已,别去乱用哦``要不偶是不负责地 废话不多说了我们开始(感谢百度提供了我很多资料)就用“xx海”的最新超级模块3.65版来下手吧! 1,先用C32打开易模块。然后在12字节处.把数值改为61 ,60字节处把数值改为EE ,124字节处数值改为1 然后保存!OK了。这样就把模块转变为源码。 2,用易语言把模块打开。然后就有很多子程序了。把开始注册的那个程序集全部删除掉。然后保存。! 3,再用C32把模块打开。然后在12字节处.把数值改为63 ,60字节处把数值改为EC,124字节处数值改为3 同样保存。可以了,这样就完成了破解了。可以无限制的用! 个人感觉C32很不好用,尤其是新人用起来不知道是什么。这里我编写了一个比较简单的程序“E 模块破解转换器-吾爱破解决v1.0版.exe” 作用就是用来把E模块转换为E源码,再把E源码反编译为E模块见下图

下载(15.68 KB) 2010-1-29 21:22 此软件方法很简单:1,点击模块反编译键就可以把模块转为E源码,然后你用E语言打开该模块,删除里面的加了限制的代码,然后保存。 2,再点击模块编译键把保存好的源码反编译为E模块 OK``破解完成了`` 怎么样`很简单吧

下载(221 KB) 2010-1-29 21:27

正版模块信息 下载(30.2 KB) 2010-1-29 21:28 把正版模块转换为E源码

反编译教程

Win7 Ultimate x64 Ubuntu 12.04 x86_x64 反编译工具包下载(2012-10-10更新) 一、Apk反编译得到Java源代码 下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。 apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件 源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码 dex2jar 和jdgui 最新版本下载,分别见google code: dex2jar(google code) jdgui(google code),最新版本请见官方 具体步骤: 首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。 在命令行下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex 生成 classes_dex2jar.jar 然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了,如下图:

HelloAndroid源码在反编译前后的对照如下: 二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件 如果是汉化软件,这将特别有用 首先还是要下载上述反编译工具包,其中最新的apktool,请到google code下载 apktool(google code) 具体步骤: 下载上述反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exe,apktool.bat,apktool.jar 注:里面的apktool_bk.jar是备份的老版本,最好用最新的apktool.jar 在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat d -f abc123.apk abc123,如下图:

反编译APK方法

一.反编译Apk得到Java源代码 转载自: https://www.doczj.com/doc/785523719.html,/%CB%BF%D4%B5%CC%EC%CF%C2/blo g/item/2284e2debafc541e495403ec.html 工具下载:需用到dex2ja r和JD-GUI这2个工具 dex2jar下载地址: https://www.doczj.com/doc/785523719.html,/files/dex2jar-0.0.7-SNAPSHOT. zip JD-GUI下载地址: windows版JD-GUI: https://www.doczj.com/doc/785523719.html,/files/jdgui.zip Linux版JD-GUI: https://www.doczj.com/doc/785523719.html,/files/jd-gui-0.3.2.linux.i686.tar. gz 步骤: 1.首先找到Android软件安装包中的classes.dex 把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件

2.把classes.dex拷贝到dex2jar.bat所在目录。 在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex ,生成 classes.dex.dex2jar.jar 3.运行JD-GUI工具(它是绿色无须安装的) 打开上面的jar文件,即可看到源代码 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 二.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件。 转载自: https://www.doczj.com/doc/785523719.html,/s/blog_5752764e0100kv34.html 工具下载: 在https://www.doczj.com/doc/785523719.html,/p/android-apktool/下载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip 两个包都要下。 步骤:

FC反编译的简单方法

FC反编译的简单方法: 适用范围:mapper=0,并且没有trainer 如何判断适用范围呢? 只要看文件头就知道了。用16进制编辑器打开ROM,查看前面的16个字节。 要求bit 7的高位(即D4-D7)为0,bit 6的高位(即D4-D7)为0,则mapper=0 要求bit 6的D2为0,则没有trainer 步骤 1.找出3个重要地址nmi, start, irp 2.提取程序部分 3.用工具反汇编 4.分析程序 祥细操作 1找出3个重要地址nmi, start, irq 可用16进制编辑器或”No$nes”,打开ROM,并跳到FFFA,记录下由FFFA开始的连续6个字节。ROM和别的程序一样,在记录地址时,总是先记录低位再记录高位的。 这6个字节分别是nmi, start, irq的低位和高位了。

Start一般是C000或者8000 (16进制的) 2提取程序部分 先要知道mapper=0,ROM的数据结构。 操作是: 去除ROM的文件头16个字节 去除由全是FF的部分到末尾的所有内容。 余下就是程序部分。 另存。 这个文件是ROM的一部分,我取后缀名叫part1 3用工具反汇编 打开“反汇编器.exe”,点右面”6502” 用这个“反汇编器.exe”打开这个.part1 选择文件时,选”ALL FILES”就可以显示了。 点打开后,选中”BIN文件”,并写入start的地址(见步骤1) 确定 4分析程序 由于程序一般中数据和程序混合的,自己要跟踪代码,分析那一段是数据,那一段是指令。一般程序是从第一行开始执行,并且不会拿数据来当指令执行。 也就是说从第一行开始,只要看“跳转”就可以知道程序经过的地址,没有经过的就是数据了。

Python反编译pyc完全教程

Python反编译pyc完全教程(两种方法) 写在前面:虽然手机上可以使用许多反编译的软件,但是受限于手机的运存,稍微大一点的pyc代码就不能反编译成功,或者要等很久,因此笔者特研究出怎样在电脑端用python反编译。 ---------------------------------------------------------- ********************************************** ************ QUOTE: 感谢真.天舞大哥提供的另外一种方法,就是使用电脑端的decompile代码,也可以实现反编译哈,感觉比较简单,大家选择一种使用吧。 先安装PY平台 这里下载2.2.3的平台 2.5的不行,用不了 安装完成再把反编译脚本复制到安装盘Lib文件夹里面 再打开“开始”,“程序”,“Python 2.2”,“IDLE (Python GUI)” 把下面编码复制到编辑器里面 >>> from decompile import main(这里按回车键跳下到下一行) >>> main('','.',['c:\\ped.pyc']) 注:c:\\ped.pyc是要编译的文件路径,实际操作的时候要把路径改为你要编译的脚本路径然后Enter键(回车键) 少等片刻........

到C盘看一看,ped.pyc_dis就是反编译出来的脚本了 把后缀改为ped.py就可以了 QUOTE: 最新发现,原来两种方法本质上是一样的,都是调用decompile文件夹里面的相应模块和函数,实现反编译。我写的那种方法其实就是真.天舞大哥说的那种方法的翻版。我写的那种方法是先将py_decompile 模块放在根目录下面,其实它的代码就三句: [Copy to clipboard][ - ] CODE: from decompile import main def decompile(path): main('','.',[path],none,0,0,0)

反汇编教程

BoXer's Blog @.@ 简单反汇编阅读系列教程— Skip to content ?Home ?关于我 Category Archives for 简单反汇编阅读系列教程简单反汇编阅读(十) 视频下载地址: https://www.doczj.com/doc/785523719.html,/donghua/g/19964.html 文本下载 大家好, 我是 BoXer , 今天为大家做的动画是简单反汇编阅读(十) 上一次我们反汇编分析了栈溢出原理 , 今天我们就来试试分析一下病毒 ------------------------------------------------------------------------------ 这里我随便找了一个病毒,没想到就是非常出名的 AV终结者 其实 AV终结者是一个下载者,那么我们现在就来看看它究竟干些什么坏事 用生成器生成一个病毒, 全部都勾上吧 生成的病毒, 查壳是 NsPacK V3.7 -> LiuXingPing * Sign.By.fly * 原来是北斗3.7 ,我们OD载入看看 F8 ,命令栏输入 hr esp 回车, F9 , F8 就这样很快可以到 OEP 了 这时候我们右键-分析-从模块删除分析 可以看到代码了, 这个oep有点奇怪啊...是不是加花呢???

不确定的话我们先dump出来看看 查壳发现是 Microsoft Visual C++ [Overlay] 现在可以断定是加花了,我们继续去花花 od载入,看到如下代码 0041C089 > $ 55 push ebp 0041C08A . 8BEC mov ebp, esp 0041C08C . 6A FF push -1 0041C08E . 68 66666600 push 666666 0041C093 . 68 88888800 push 888888 ; SE 处理程序安装 0041C098 . 64:A1 0000000>mov eax, dword ptr fs:[0] 0041C09E . 50 push eax 0041C09F . 64:8925 00000>mov dword ptr fs:[0], esp 0041C0A6 . 58 pop eax 0041C0A7 . 64:A3 0000000>mov dword ptr fs:[0], eax 0041C0AD . 90 nop 0041C0AE . 72 0C jb short 0041C0BC 0041C0B0 . 73 0A jnb short 0041C0BC 0041C0B2 > 90 nop 0041C0B3 . 90 nop 0041C0B4 . 90 nop 0041C0B5 . 90 nop 0041C0B6 . 72 10 jb short 0041C0C8 0041C0B8 . 73 0E jnb short 0041C0C8 0041C0BA . 0000 add byte ptr [eax], al 0041C0BC > 58 pop eax 0041C0BD . 58 pop eax 0041C0BE . 58 pop eax 0041C0BF . 58 pop eax 0041C0C0 .^ 72 F0 jb short 0041C0B2 0041C0C2 .^ 73 EE jnb short 0041C0B2 0041C0C4 . 0000 add byte ptr [eax], al 0041C0C6 . 0000 add byte ptr [eax], al 0041C0C8 > 90 nop 0041C0C9 . 90 nop 0041C0CA . 50 push eax 0041C0CB . 58 pop eax 0041C0CC . 90 nop 0041C0CD . 90 nop 0041C0CE . 83C4 01 add esp, 1

【技术贴】Android反编译教程

【技术贴】Android反编译教程 近来一直在学习安卓(android)编程,有时候需要很多精美的图片来美化程序。很多时候都是把别人应用里面的图片截取出来后进行PS处理,对于我这个PS技术小白来说,是一件头痛的问题。我以前不知从哪里得知:【.apk】格式其实就是一种压缩格式。于是就想:既然【.apk】格式是一种压缩格式,何不解压试一试?于是用【好压】进行了解压,果不其然,结果令人很吃惊,于是就有了下面的内容…… 说明: 这个教程演示了安卓手机应用反编译的过程。小白个人觉得最大的作用有两点: 1.去除应用中的广告; 2.汉化。 当然,个人觉得还是要支持一下广告,毕竟应用开发者不是那么容易的,广告费可能是部分个人开发者最主要的收入来源。同时,小白最反感的是把别人的应用进行反编译后当做自己的应用或者直接在应用上加入自己的广告,这种行为【……】(此处略去999999个字O(∩_∩)O) 不多说了,以下是正文内容。

步骤: 1.准备一些工具软件,网上很容易找到。 a.JRE(或JDK)提供Java运行环境 b.ApkTool apk打包工具 c.AutoSign 数字签名工具 2.安装JRE(或JDK),并配置环境变量(网上教程很多,自己去找一些)。(配置成功后方可进行下一步哦。。。) 3. 对【ApkTool】进行解压。 进入【ApkTool】的目录下,并把需要反编译的apk放在这个目录下,如下图所示: 说明:【test.apk】是需要重新打包的文件。 4.打开系统的控制台【命令提示符】 方法有很多,这里只推荐一种比较简单的方式,方便理解。 推荐方式:

【开始】->【所有程序】->【附件】->【命令提示符】如图所示: 其他方式: a.【开始】->(搜索栏)->输入【cmd】->【确定】; b.【开始】->【运行】->输入【cmd】->【确定】; c.【win+R】->(运行)->输入【cmd】->【确定】. 截图如下:

反汇编入门经典教程

反汇编入门教程 仅以此文来描述如何反汇编一个EXE程序,这里采用的是静态反汇编,也就是先把整个程序全部反汇编成汇编语言后进行修改,这个例子很简单,首先是我从看雪论坛上下载到的一个C RACK M E.EXE程序 然后我们使用W32D ASM.EXE打开它,可以看到这个EXE程序在反编译以后的内容 双击正式启动这个程序,随便输入注册码123,点击C HECK

这里可以看到程序在输入错误后提示的内容 然后我们使用"串式数据参考",找到这个字符串的位置 这个位置如下 可以看到在我程序的0040段,15B9这个偏移地址下程序输出了这个字符串,然后我们考虑一下,程序在我输入了错误的注册码,并且点击了CHECK以后,弹

出了这个字符串,我们向上找,应该可以找到一个跳转,类似JE,JNE,JMP之类的东西,跳转到此处,位置如下 可以看到在偏移地址15AB下有一个入口,注意R EFERENCED BY .....这句,是说"有人从这里插队了" 到底是谁"插队"到这里了呢,是00401595这个代码. 现在我们跳转到这个位置去追踪它 输入00401595

可以看到是个JNE(不等跳转),我们只要把这个JNE改成JE就可以了 使用HIEW打开这个程序 打开以后看到一堆乱码,这是因为它是用文本方式打开了一个EXE程序这里我们按F4,选择DECODE(反汇编)模式

这回看到的就都是机器码了 然后按F5,输入1595(刚才我们找到的那个语句地址),找到那个位置 就是这个7516的JNE命令,我们要把它改成JE,这里直接把7516这个机器码修改成7416

安卓反编译教程

2.手把手教你配置java环境变量 难度系数:1 失败概率:3 危险系数:0 (满分为5) 本帖隐藏的内容 这一步比较简单,基本度娘可以帮你解决一切,但是要求细心。新手配置的时候很可能会失败的,所以失败概率为3。 至于java环境配置的意义,我想也不用多说了。安卓是基于java语言的,因此apk需要在java环境里头进行编译跟反编译。所以,配置好java环境变量是所有工作的第一步。 配置步骤(win7,32位为例): 第一步,下载jdk1.7 ,我网盘里头提供下载。 第二步,然后安装,建议默认目录,当然也可以自己选择,安装后要记住安装的路径。 第三步,安装成功之后可以进行配置,右键我的计算机-属性-高级系统选项,如图:

第四步,点开环境变量选项卡 新建变量 1.变量名:JAVA_HOME 值:C:\Program Files\Java\jdk1.7.0 (以你安装目录为准,确认里面有bin和lib,jre等多个文件夹) 2.变量名:CLASSPATH 值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;(千万别漏了开

头的小点) 如果变量目录下没有PATH这个变量,还需要新建一个 3.变量名:PATH 值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 如果已经存在PATH,就在值前面加上面的一段路径就可以了,末尾有;隔开。 用表格表示可能会比较清晰... JAVA环境变量到此配置完成,结果只有两个,成功,与失败。 下面是检验方法:打开开始菜单,输入cmd,输入javac 如果出现以下中文提示,恭喜你,你成功了。如果你失败了,从新检查环境变量的值。很容易错的。

Android反编译教程

息,但实在是不好读啊~~~~ 二、dex2jar + XJad 方法 该方法是使用dex2jar.jar包,将classes.dex文件解包成jar,在通过XJad(或者其他class反编译工具)进行java反编译。如: 1、dex2jar.bat d:\play\classes.dex 默认的输出路径同classes.dex,生成的文件名为classes.dex.dex2jar.jar 2、使用XJad反编译该jar包 之后的使用方法,大家都懂的:) 该方法的好处在于,通过XJad反编译后,大家可直接开到java源文件,缺点在于只能反编译出开发时的java文件,而开发时使用的lib包不能反编译出来。 三、AXMLPrinter2.jar + baksmali.jar + smali.jar 方法 这个方法就强大了,AXMLPrinter2是还原AndroidManifest.xml和main.xml的工具,直接打开这两个xml文件是乱码,而通过还原之后,可以很明白的看到里面的内容(我猜测还是使用了字节异或的方式加的密)。 baksmali.jar是反解析dex的工具,smali.jar则是再还原成dex的工具 操作方式如下: 1、java -jar AXMLPrinter2.jar D:\play\AndroidManifest.xml > AndroidManifest.txt 2、java -jar AXMLPrinter2.jar D:\play\res\layout\main.xml > main.txt 3、java -jar baksmali-1.2.5.jar -o classout/ d:\play\classes.dex baksmali可解析(注意,是解析,不是反编译)原java包以及引用的lib包,解析出的文件认真看还是能看懂,比如以下片段: view plaincopy to clipboardprint? .class Lcom/paul/test/a; .super Landroid/view/View; # static fields .field private static final a:Landroid/graphics/Typeface; # instance fields .field private b:I .field private c:I .field private d:Z .field private e:J .field private f:I .field private l:[Ljava/lang/String; # direct methods .method static constructor ()V .registers 2 sget-object v0, Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface; const/4 v1, 0x0 invoke-static {v0, v1}, Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface; move-result-object v0

abel的反编译操作方法

abel的反编译操作方法 ABEL4系统提供了一个反编译程序,如果种种原因希望从JED烧录文件获得可以编辑修改的AHDL文件,则可以通过下面的操作获得: 1。将准备进行反编译的jed文件放到abel目录下面: X:\Abel4\abel4\decode.jed; 2。打开uedit软件,在高级-->执行dos命令: a)选择要执行的文件:X:\Abel4\abel4\JED2AHDL.EXE b)选择工作目录:X:\Abel4\abel4\ c)在执行文件的后面添加参数,命令部分就表示为: X:\Abel4\abel4\JED2AHDL.EXE decode.jed d)确定。开始运行反编译,输出一屏提示信息: JED2AHDL JEDEC to ABEL-HDL translator ABEL 4.00 Copyright 1987-1990 Data I/O Corp. All Rights Reserved Input JEDEC file is: decode.jed. // File decode.abl already exists, it will be renamed to decode.bak Output AHDL file is: decode.abl. Device type is: P16V8R. Processing Reading Device Library Reading JEDEC Input File Extracting PLD Circuit Model Writing Output File DECLARATIONS Section EQUATIONS Section TEST_VECTORS Section JED2AHDL complete. Time: 1 seconds. 查看X:\Abel4\abel4\目录下已经生成了新文件:decode.abl,这个就是abel 的源代码文件。 注意:[1] 反编译产生的所谓源文件与实际源代码在表示方法上会有些不同,一般都以直接的逻辑表达式给出每一个输入输出间的逻辑关系, 与原作者的源代码会有出入,但逻辑原理是一样的,不影响使用。 [2] 如果是编译产生的jed文件,则反编译以后的引脚和变量命名也会相同。如果是破解从芯片读取的jed,则系统自动赋以默认的名 称,需要你自己分析以后重新手工处理。

ILSpy反编译工具

Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图 这里的Name,是标识一个程序集的完整标识,当GAC中存在程序集的多个版本时,这个名称是唯一的识别名称。 但是,Reflector很早就转向收费软件了,需要购买许可才可以使用。对于耻于用盗版的朋友,通常会放弃。有朋友说,Reflector 并没有增加更霸道的功能,却转向收费,令人费解。再看看市场上的.NET反编译软件,被Reflector击溃。 一提到Reflector,说到.NET反编译,Reflector常常是默认的首选工具。 这里提起一下Visual Studio的垄断。Visual Studio占据了.NET开发工具系列的绝对垄断地位。在.NET 1.x时代,还有C# Builder,https://www.doczj.com/doc/785523719.html,来使用和体验,一争高低。可是到后来,.NET Framwork更新频繁,动辙在编译器级别,和语言层面做更新,这令第三方的软件开发工具商非常苦恼,这些工具也从市场上慢慢消声匿迹,几乎没有第三方的软件开发商愿意开发.NET 开发工具与Visual Studio一争高低。没有了竞争,进步的速度要慢很多。Visual Studio 2008差不多就是Visual Studio 2005+SP的替代品,在工具层面,Visual Studio 2005 SP1加上了Web Application,就是Visual Studio 2008。虽然说语言层面是进步了很多,.NET 3.0,.NET 3.5,LINQ, 框架方法增加:WCF,WPF,WF,但是,我一直认识从2005到2008,它在工具层面没有什么进步。 SharpDevelop 是除Visual Studio外,另一个可选择的唯一的.NET开放工具,并且它是开源的。它提供的功能也相当不错,几乎就是在重写Visual Studio。最新的版本中,直接增加了对Visual Studi o的解决方安案文件和项目文件的支持。ILSpy是SharpDevelop小组的反编译工具,也是开放源代码的,今天来介绍一下它的调试器和反编译器,以让那个收费的,却没有增加霸道功能的Reflector out。

反汇编入门教程

仅以此文来描述如何反汇编一个exe程序,这里采用的是静态反汇编,也就是先把整个程序全部反汇编成汇编语言后进行修改,这个例子很简单,首先是我从看雪论坛上下载到的一个CrackMe.exe程序 然后我们使用W32Dasm.exe打开它,可以看到这个exe程序在反编译以后的内容 双击正式启动这个程序,随便输入注册码123,点击Check

这里可以看到程序在输入错误后提示的内容 然后我们使用"串式数据参考",找到这个字符串的位置 这个位置如下

可以看到在我程序的0040段,15B9这个偏移地址下程序输出了这个字符串,然后我们考虑一下,程序在我输入了错误的注册码,并且点击了check以后,弹出了这个字符串,我们向上找,应该可以找到一个跳转,类似je,j ne,jmp之类的东西,跳转到此处,位置如下 可以看到在偏移地址15AB下有一个入口,注意Referenced by .....这句,是说"有人从这里插队了" 到底是谁"插队"到这里了呢,是00401595这个代码. 现在我们跳转到这个位置去追踪它 输入00401595

可以看到是个jne(不等跳转),我们只要把这个jne改成je就可以了 使用hiew打开这个程序 打开以后看到一堆乱码,这是因为它是用文本方式打开了一个exe程序这里我们按F4,选择decode(反汇编)模式

这回看到的就都是机器码了 然后按F5,输入1595(刚才我们找到的那个语句地址),找到那个位置

就是这个7516的jne命令,我们要把它改成je,这里直接把7516这个机器码修改成7416 按F3进入编辑模式 然后按F9保存 这回再次打开修改后的程序,重新输入123,可以看到crack后的结果是 完成!

apktool反编译工具使用教程(软件汉化修改)

apktool反编译工具使用教程 随着安卓的普及,用户群越来越大,软件的要求也越来越高,写篇反编译教程,大家自己捣鼓修改软 件吧。(说白了就是解包和打包APK文件) 一:首先下载附件: APKTool.zip (2.73 MB) 二:(1)解压APKTOOL到电脑(我的是F盘),打开电脑开始--运行CMD命令 (2)在窗口中输入命令定位到文件夹

命令说明:apktool d DJ.apk apktool d为反编译命令,其中d代表decode DJ.apk为被反编译的apk安装包的文件名(可以自己定义) 反编译后大家可以看到F盘,apktool文件夹内出现一个DJ文件夹,具体文件夹结构说明在本文结 束有讲解

三:编译打包:(重新把修改过的文件打包为APK格式) 打包命令为:apktool b DJ(DJ为刚才的文件夹名称) 重新编译完成后,DJ文件夹内会新增一个dist文件夹,里面的DJ.apk文件就是重新编译好的apk 安装包,签名后即可安装。

签名工具下载:地址:https://www.doczj.com/doc/785523719.html,/file/bhgviics# APK文件结构说明(来源于互联网) AndroidManifest.xml 该文件是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,如要把apk上传到Google Market上,也要对这个xml做一些配置。在apk中的AndroidManifest.xml是经过压缩的,可以通过AXMLPrinter2工具解开,具体命令为:java -jar AXMLPrinter2.jar AndroidManifest.xml META-INF目录 META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse 编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码,或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保 护系统的安全。 res目录 res目录存放资源文件。包括图片,字符串等等。 lib目录 lib目录下的子目录armeabi存放的是一些so文件。这个地方多讲几句,都是在开发过程中摸索出来的。eclipse在打包的时候会根据文件名的命名规则(lib****.so)去打包so文件,开头和结尾必须分别为“lib”和“.so”,否则是不会打包到apk文件中的。其他非eclipse开发环境没有测试过。如果你是用SDK和NDK开发的话,这部分很

相关主题
文本预览
相关文档 最新文档