电脑端反编译pyc完全教程(两种方法)
反编译详细教程
.去震动教程.时间居中教程,时间显示到秒且居中在通知栏增加模拟时钟透明状态栏代码修改字体颜色修改关于运营商图标修改可以ctrl+F,按需搜索一:去震动教程:一、首先是配置编译和反编译环境,具体方法如下:1、在电脑上下载安装JRE(/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) )打开这个文件。
Python的逆向工程与反编译
Python的逆向工程与反编译在计算机科学领域中,逆向工程(Reverse Engineering)是一种通过分析软件系统的输出、结构、功能以及内部设计来了解其工作原理的过程。
而反编译(Decompilation)则是逆向工程的一种具体技术手段,通过将已编译的机器码还原为高级程序设计语言的源代码,从而使得程序员能够更好地理解和修改原有的程序。
Python作为一种简洁而强大的编程语言,备受开发者的青睐。
尽管Python代码经过解释器的解释才能运行,但是仍然可以通过逆向工程和反编译的方式来分析和了解Python代码的执行流程、数据结构和算法等相关方面。
本文将探讨Python的逆向工程与反编译,介绍其原理、应用场景以及一些工具和技术。
一、逆向工程与反编译的原理逆向工程是通过分析已有的软件系统,尤其是其输出结果和执行逻辑,来推测或还原出软件系统的内部结构、工作原理以及设计思想。
逆向工程常常需要深入研究和分析程序的二进制文件、配置文件以及与其他组件之间的交互等方面。
反编译是逆向工程的一种具体技术手段,主要用于还原已编译的机器码为高级程序设计语言的源代码。
在Python中,通常使用反编译来还原出Python代码的源文件,使程序员能够更好地理解和修改原有的代码。
二、逆向工程与反编译的应用场景1. 破解与保护逆向工程和反编译可以应用于软件破解和保护领域。
黑客可以通过逆向工程和反编译来破解商业软件的保护机制,从而非法使用软件或窃取相关知识产权。
而软件开发者则可以借助逆向工程和反编译的技术来检测并修复软件的漏洞,提高软件的安全性和稳定性。
2. 代码分析与调试逆向工程和反编译可以帮助开发人员分析和调试Python代码。
对于没有源代码的第三方库或开源项目,通过逆向工程和反编译可以还原出其源代码,从而更好地理解其内部工作原理和实现细节。
同时,开发人员还可以通过逆向工程和反编译来分析和调试自己编写的Python 代码,提高程序的性能和稳定性。
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
PyInstaller 将Python ⽂件打包为exe 后如何反编译(破解源码)以及防⽌反编译环境:win7+python3.5(anaconda3)理论上,win7及以上的系统和python 任意版本均可。
⾸先我们构建⼀个简单的脚本,⽐如输出⼀串数字、⽂本之类,这⾥我们输出⼀串⽂字的同时计算⼀下3次⽅好了。
1234567891011121314151617181920# -*- coding: utf-8 -*-"""Created on Wed Aug 29 09:18:13 2018@author: Li Zeng hai """def test(num): print('num={n}, {n}^3={n2}'.format(n=num, n2=num**3)) if __name__ == '__main__':while 1:try:num = input('提⽰:输⼊"q"退出程序。
\n 请输⼊⼀个数字:')if num.lower() == 'q':breaknum = float(num)print(num) except: print('输⼊的数字不正确!') continuetest(num)把这段脚本保存为mylib.py ,运⾏⼀下这个脚本:可以看到,脚本正常运⾏了。
为了演⽰,我们把下⾯的脚本新建到main.py 脚本⽂件中,并且从mylib 中引⼊测试函数。
123456789# -*- coding: utf-8 -*-from mylib import *while 1: try: num = input('提⽰:输⼊"q"退出程序。
\n 请输⼊⼀个数字:') if num.lower() == 'q': breaknum = float(num)910111213num = float(num) print(num) except: print('输⼊的数字不正确!')continuetest(num)使⽤如下命令,将其打包为单⼀exe (去掉-F 则不是单⼀exe )pyinstaller -F main.py打包过程如下:E:\t>pyinstaller -F main.py505 INFO: PyInstaller: 3.3.1505 INFO: Python: 3.5.5505 INFO: Platform: Windows-7-6.1.7601-SP1505 INFO: wrote E:\t\main.spec505 INFO: UPX is not available.505 INFO: Extending PYTHONPATH with paths['E:\\t', 'E:\\t']505 INFO: checking Analysis505 INFO: Building Analysis because out00-Analysis.toc is non existent505 INFO: Initializing module dependency graph...521 INFO: Initializing module graph hooks...521 INFO: Analyzing base_library.zip ...6269 INFO: running Analysis out00-Analysis.toc6269 INFO: Adding mon-Controls to dependent assemblies of final executablerequired by d:\anaconda3\python.exe6956 INFO: Caching module hooks...6956 INFO: Analyzing E:\t\main.py6956 INFO: Loading module hooks...6956 INFO: Loading module hook "hook-pydoc.py"...6956 INFO: Loading module hook "hook-xml.py"...7283 INFO: Loading module hook "hook-encodings.py"...7533 INFO: Looking for ctypes DLLs7549 INFO: Analyzing run-time hooks ...7549 INFO: Looking for dynamic libraries7720 INFO: Looking for eggs7720 INFO: Using Python library d:\anaconda3\python35.dll7720 INFO: Found binding redirects:[]7720 INFO: Warnings written to E:\t\build\main\warnmain.txt7751 INFO: Graph cross-reference written to E:\t\build\main ref-main.html7767 INFO: checking PYZ7767 INFO: Building PYZ because out00-PYZ.toc is non existent7767 INFO: Building PYZ (ZlibArchive) E:\t\build\main\out00-PYZ.pyz8345 INFO: Building PYZ (ZlibArchive) E:\t\build\main\out00-PYZ.pyz completed successfully.8345 INFO: checking PKG8345 INFO: Building PKG because out00-PKG.toc is non existent8345 INFO: Building PKG (CArchive) out00-PKG.pkg9954 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.9954 INFO: Bootloader d:\anaconda3\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe9954 INFO: checking EXE9954 INFO: Building EXE because out00-EXE.toc is non existent9954 INFO: Building EXE from out00-EXE.toc9954 INFO: Appending archive to EXE E:\t\dist\main.exe9954 INFO: Building EXE from out00-EXE.toc completed successfully.E:\t>最终在⽬录下⽣成build、disk⽂件夹。
反汇编入门教程(适合新手看)
反汇编入门教程(适合新手看)反汇编入门教程学习各种高级外挂制作技术,马上去百度搜索(魔鬼作坊),点击第一个站进入,快速成为做挂达人。
仅以此文来描述如何反汇编一个exe程序,这里采用的是静态反汇编,也就是先把整个程序全部反汇编成汇编语言后进行修改,这个例子很简单,首先是我从看雪论坛上下载到的一个CrackMe.exe程序然后我们使用W32Dasm.exe打开它,可以看到这个exe程序在反编译以后的内容双击正式启动这个程序,随便输入注册码123,点击Check这里可以看到程序在输入错误后提示的内容然后我们使用"串式数据参考",找到这个字符串的位置这个位置如下可以看到在我程序的0040段,15B9这个偏移地址下程序输出了这个字符串,然后我们考虑一下,程序在我输入了错误的注册码,并且点击了check以后,弹出了这个字符串,我们向上找,应该可以找到一个跳转,类似je,jne,jmp之类的东西,跳转到此处,位置如下可以看到在偏移地址15AB下有一个入口,注意Referenced by.....这句,是说"有人从这里插队了"到底是谁"插队"到这里了呢,是00401595这个代码.现在我们跳转到这个位置去追踪它输入00401595可以看到是个jne(不等跳转),我们只要把这个jne改成je就可以了使用hiew打开这个程序打开以后看到一堆乱码,这是因为它是用文本方式打开了一个exe 程序这里我们按F4,选择decode(反汇编)模式这回看到的就都是机器码了然后按F5,输入1595(刚才我们找到的那个语句地址),找到那个位置就是这个7516的jne命令,我们要把它改成je,这里直接把7516这个机器码修改成7416按F3进入编辑模式然后按F9保存这回再次打开修改后的程序,重新输入123,可以看到crack后的结果是完成!学习各种高级外挂制作技术,马上去百度搜索(魔鬼作坊),点击第一个站进入,快速成为做挂达人。
学习使用代码编辑器中的代码反编译工具
学习使用代码编辑器中的代码反编译工具随着技术的不断发展,许多开发人员和研究人员在日常工作中需要处理大量的代码。
而在处理代码时,常常会遇到需要分析和理解他人编写的代码的情况。
为了更好地理解代码的工作原理、排查问题、进行程序优化等,代码反编译工具成为了必备的利器。
本文将探讨如何学习使用代码编辑器中的代码反编译工具,以提高开发效率和技术能力。
一、代码反编译工具的作用和优势代码反编译工具是一种将机器码转化为人类可读的源代码的工具。
它可以将编译后的二进制文件或者字节码文件还原成高级语言代码,如Java、C++等,使得开发人员能够更好地理解他人编写的代码。
使用代码反编译工具有以下几个优势:1. 理解代码:反编译工具可以将复杂的二进制文件还原成源代码,帮助开发人员理解他人编写的代码逻辑和实现方式。
2. 找出问题:通过对代码进行反编译,可以更快速地定位和排查代码中的问题,如潜在的逻辑错误、性能瓶颈等。
3. 学习借鉴:借助反编译工具,可以学习他人的编码技巧和设计思路,提升自己的编程能力。
二、使用代码编辑器中的代码反编译工具现代代码编辑器通常都内置了一些常用的代码反编译功能,如IntelliJ IDEA、Visual Studio等。
下面以IntelliJ IDEA为例,介绍如何使用其中的代码反编译工具。
1. 安装和配置:首先,需要下载并安装最新版本的IntelliJ IDEA。
安装完成后,打开软件,进入“Preferences”或者“Settings”界面,找到“Plugins”选项。
在插件列表中搜索并安装名为“Java Bytecode Decompiler”的插件。
2. 反编译代码:在IntelliJ IDEA的编辑界面中,打开想要反编译的代码文件。
通过按下快捷键“Ctrl + Shift + A”或者点击顶部菜单栏中的“Help” -> “Find Action”来打开“Find Action”窗口。
python编写的程序反编译
Python编写的程序反编译1. 介绍Python编程语言是一种广泛应用于软件开发、数据分析和科学计算的高级编程语言,其简洁、易读、易学的特点使其受到了广泛的欢迎。
然而,与其他编程语言一样,Python编写的程序也可能存在源代码泄露、代码安全性等问题,因此需要对Python程序进行反编译以确保代码的安全性和合法性。
2. Python程序的反编译Python程序的反编译是指将已编译的Python程序文件(.pyc文件)转换为可读、可编辑的源代码文件(.py文件)的过程。
通过反编译,开发人员可以查看源代码、进行代码审计、修复bug、逆向工程等操作。
黑客也可能利用反编译技术来窃取软件源代码、篡改程序逻辑、进行恶意攻击等行为。
Python程序的反编译技术既是一项重要的软件开发工具,也是一项安全领域的关键技术。
3. 反编译技术的原理和方法Python程序的反编译主要依赖于Python解释器和反编译工具。
一般来说,反编译的过程包括以下几个步骤:(1)识别目标文件:首先需要识别目标文件并确认其是否为合法的Python程序文件。
(2)解析字节码:利用Python解释器解析目标文件中的字节码,获取程序的执行流程、变量、函数定义等信息。
(3)重构源代码:根据字节码信息,反编译工具可以尝试重构源代码,并生成与原始源代码相近的代码文件。
目前,Python程序的反编译工具主要有upyle6、PyPy、PyInstaller等,它们在反编译速度、准确性、兼容性等方面各有优劣。
另外,由于Python语言的动态特性和逆向工程的复杂性,完全还原原始源代码是一项极具挑战性的任务,因此反编译工具的效果也往往受到程序复杂度、代码混淆等因素的影响。
4. 反编译的应用场景Python程序的反编译在软件开发、安全审计、逆向工程、学习教学等领域都有着广泛的应用。
具体来说,反编译可以用于以下几个方面:(1)源代码审计:开发人员可以利用反编译工具查看第三方库、开源软件、遗留代码的源代码,以了解其运行机制、修复漏洞、改进性能等。
Python中如何安全地进行编译和反编译?
Python中如何安全地进⾏编译和反编译?⽤Python写脚本,⼩程序可谓⾮常⽅便,但它需要有特定的python环境才能运⾏,因此如果你想在别的电脑上运⾏时就会出现许多问题,就算已经安装了Python,但版本可能相差较⼤,且相关的依赖库没有安装,同那有没有⼀种⼯具能把我们写的代码和依赖库以及编译环境打包到⼀起呢?答案是肯定的,Pyinstaller就是⼀款不错的⼯具,可以⼀键把你的代码打包成exe⽂件。
下⾯就先来聊⼀聊pyinstaller的使⽤⽅法。
⼀、⽤Pyinstaller打包python代码1. 安装Pyinstaller安装过程⾮常简单,在命令⾏中运⾏:pip install pyinstaller即可完成安装。
2. 打包代码我写了⼀段简单的代码作为例⼦,为了更清晰地演⽰打包过程,我将main()函数写在了单独的⽂件中,并将mylib.py作为⼀个库引⼊。
# mylib.py#import timedef myfunc(): now = time.time() time_str = time.strftime('%Y-%m-%d %H:%M', time.localtime(now)) print('现在是' + time_str) print('Have a nice day!')# main.py#import mylibimport osif __name__ == '__main__': mylib.myfunc() os.system('pause')这时只需要在命令⾏中运⾏:pyinstaller.exe -F yourcode.py即可。
会看到⼀下输出:PS D:\⽂档\tmp\test> pyinstaller.exe -F main.py580 INFO: PyInstaller: 3.6582 INFO: Python: 3.7.3585 INFO: Platform: Windows-10-10.0.18362-SP0592 INFO: wrote D:\⽂档\tmp\test\main.spec596 INFO: UPX is not available.611 INFO: Extending PYTHONPAT \\tmp\\test']612 INFO: checking Analysis614 INFO: Building Analysis because Analysis-00.toc is non existent614 INFO: Initializing module dependency graph...620 INFO: Caching module graph hooks...657 INFO: Analyzing base_library.zip ...13893 INFO: Caching module dependency graph...14161 INFO: running Analysis Analysis-00.toc14233 INF Controls to dependent assemblies of final executable required by d:\programfiles\python\python.exe15748 INFO: Analyzing D:\⽂档\tmp\test\main.py15751 INFO: Processing module hooks...15752 INFO: Loading module hook 'hook-encodings.py'...16003 INFO: pydoc.py'...16011 INFO: Loading module hook 'hook-xml.py'...16916 INFO: Looking for ctypes DLLs16917 INFO: Analyzing run-time hooks ...16925 INFO: Looking for dynamic libraries17373 INFO: Looking for eggs17374 INFO: Using Python library d:\programfiles\python\python37.dll17374 INFO: Found binding redirects:[]17377 INFO: Warnings written to D:\⽂档\tmp\test\build\main\warn-reference written to D:\⽂档\tmp\test\build\main ref-main.html17506 INFO: checking PYZ17507 INFO: Building PYZ because PYZ-00.toc is non existent17508 INFO: Building PYZ (ZlibArchive) D:\⽂档\tmp\test\build\main\PYZ-00.pyz18600 INFO: Building PYZ (Z 00.pyz completed successfully.18637 INFO: checking PKG18639 INFO: Building PKG because PKG-00.toc is non existent18640 INFO: Building PKG (CArchive) PKG-00.pkg22329 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.22332 INF packages\PyInstaller\bootloader\Windows-64bit\run.exe22334 INFO: checking EXE22335 INFO: Building EXE because EXE-00.toc is non existent22336 INFO: Building EXE from EXE-00.toc22416 INFO: Appending archive to EXE D:\⽂档\tmp\test\dist\main.ex 00.toc completed successfully.你将在当前⽂件夹下看到如下⽂件:D:.│ main.py│ main.spec│ mylib.py├─build│└─main│ Analysis-00.toc│ base_library.zip│ EXE-00.toc│ main.exe.manifest│ PKG-00.pkg│ PKG-00.toc│ PYZ-00.pyz│ PYZ-00.toc│ warn-main.txt│其中dist⽂件夹中就是⽣成的exe⽂件。
Python程序编译与反编译
Python程序编译与反编译众所周知,Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNU General Public License)协议。
那么很自然会有人有这样的疑问:难道Python程序只能以源代码的方式来运行吗,能不能通过某种方式来保护自己的源代码呢?答案是肯定的。
这方面的技术主要有两种:一种方法是把Python程序伪编译成扩展名为.pyc的字节码文件,一种是通过py2exe、pyinstaller或者cx_Freeze对Python程序进行打包。
之前的文章中Python安装扩展库与打包成exe可执行文件的方法已经介绍了打包的有关内容,本文主要介绍Python代码编译与反编译。
可以使用py_compile模块的compile()函数或compileall模块的compile_file对Python源程序文件进行编译得到扩展名为.pyc的字节码以提高加载和运行速度,同时还可以隐藏源代码。
以Stack.py 文件为例,常用的编译方法有(假设已导入py_compile模块):•py_pile('Stack.py')这种形式等价于pile_file('Stack.py'),也等价于在命令提示符环境中执行命令python -m py_compile Stack.py,都会在Python安装路径下的__pycache__文件夹中生成文件Stack.cpython-35.pyc。
•py_pile('Stack.py', optimize=1)这种形式等价于pile_file('Stack.py', optimize=1),也等价于在命令提示符环境中执行命令python -O -m py_compile Stack.py,属于优化编译,会在Python安装路径下的__pycache__文件夹中生成Stack.cpython-35.opt-1.pyc文件。
手机,电脑反编译apk教程
手机,电脑反编译apk教程电脑端反编译教程:用apktool反编译工具1.Windows徽标键+R 弹出运行对话框输入cmd ,回车;会弹出命令提示符窗口2.输入:“E:”回车(其中E为盘符,apktool在哪个盘就输入哪个盘的盘符)3.输入:“cd apktool”回车(其中apktool为反编译工具所在文件夹)4.提取手机framework文件夹里面的framework-res.apk和mediatek-res.apk放到apktool文件夹中去5.输入命令:“apktool if framework-res.apk”回车;等他结束后继续输入:“apktool if mediatek-res.apk”同样回车6.进入正题!反编译命令:“apktool d 程序名.apk” 例如:apktool d Settings.apk为反编译Settings.apk回编译命令:“apktool b 要回编译的文件夹” 例如:apktool b Settings为回编译Settings文件夹为apk安装包文件7.反编译工具下载地址:/s/1mUjFY下载后解压缩,有文件夹apktool 直接放到本地硬盘里面,例如E 盘的根目录若把apktool文件夹放到了文件夹里面,那么在cmd窗口里时输命令就要多增加一步cd到文件夹的步骤教程到此结束!手机端反编译教程工具:apktool3.2操作步骤:1.下载工具,地址:/s/1cVHA解压缩“手机apktool3.2.7z”把里面的apktool文件夹直接放到手机内存卡的根目录2.在手机上打开刚刚的apktool文件夹,安装里面的Apktool3.2.apk3.用re管理器把system\framework\framework-res.apk复制到刚刚的apktool文件夹中重命名为framework.apk4.打开手机菜单,点击运行安装好的Apktool进入到内存卡的apktool文件夹中,按下菜单键,有个“安装framework”,点击它!会弹出一些帮助信息,在此不介绍了,按照它说的做5.可以正式开始反编译了!把要反编译的apk放到apktool目录下,运行Aapktool软件,进入apktool目录,单击欲反编译的那个apk 安装包,选择反编译全部,然后就等他搞定!6.搞定后会生成一个文件夹,名称格式为“被反编译的文件名_src”例如:Settings_src 这个文件夹就是被反编译后的apk的目录7.回编译的话你就点击“被反编译的文件名_src”例如:Settings_src ,点击后有一个“编译”选项,点击它!等待回编译结束。
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 maindef decompile(path):main('','.',[path],none,0,0,0)之后再调用里面的decompile函数,也就是换汤不换药。
python反编译和防破解
python反编译和防破解python是一种解释型语言,但是与javascript这种纯脚本语言不同,python提供了一种编译成字节码运行的方法,编译之后就得到pyc文件,这点和java编译成class文件再用jvm解释运行很类似,但是与java不同的是,python编译字节码不是一个强制的操作,事实上,编译是一个自动的过程,一般不会在意它的存在。
编译成字节码可以节省加载模块的时间,提高效率。
除了效率之外,字节码的形式也增加了反向工程的难度,可以保护源代码。
这个只是一定程度上的保护,反编译还是可以的。
py pyc pyo pyd分别是什么文件•py: python脚本源文件。
•pyc: python源文件经过编译得到的字节码, 二进制文件。
•pyo: python脚本文件开启优化编译(-O)得到的字节码,二进制文件(python -O test.py)。
•pyd: python的动态链接库,Windows DLL文件。
编译py文件生成pyc我们编写两个py脚本mylib.py:包含一个函数,打印一行文字.def keyFun(): print('keyFun is running')main.py:程序运行入口,调用mylib种的keyFun函数from mylib import keyFunif __name__ == '__main__': keyFun()编译所有文件,在脚本目录执行以下命令:python -m compileall .可以看到生成了相对应的两个pyc文件编译生成pyc文件此时执行main.cpython-38.pyc会提示找不到mylib模块,需要将文件名中的.cpython-38删掉.执行pyc文件反编译pyc反编译pyc的工具很多,我用的是python3.8,这里介绍几种可以反编译python3.8的工具.•在线反编译网站: https://tool.lu/pyc/•python-decompile3工具: https:///rocky/python-decompile3•Easy Python Decompiler: https:///projects/easypythondecompiler/ 本文作为演示,使用在线网站反编译mylib.py,可以看到下图反编译代码与实际代码一模一样.反编译pyc结果反编译pyinstaller打包的exe文件我们使用pyinstaller将main.py打包成exe文件pyinstaller -F main.pypyinstaller打包exe并执行反编译pyinstaller打包的exe需要用到pyinstxtractor(https:///extremecoders-re/pyinstxtractor).将main.exe复制到pyinstxtractor文件夹,执行python pyinstxtractor.py main.exepython pyinstxtractor.py main.exe反编译exe可以看到pyinstxtractor已经提示入口文件为main.pyc.我们反编译main.pyc就可以看到pyc引入可哪些模块,这个例子可以从反编译代码中看到引入了mylib模块,再接着反编译mylib.pyc就可以了.Cython编译pyd文件从上面的反编译pyc文件结果可以看出,pyc很容易就被反编译,无法保护我们的代码.这里我们介绍使用Cython将python文件编译成pyd文件的方法.首先安装Cython(Anaconda自带Cython的话不需要安装)pip install Cython在mylib.py所在目录新建build_pyd.py文件from distutils.core import setupfrom Cython.Build importcythonizesetup( ext_modules = cythonize([ 'mylib.py' ]),)#1.执行python build_pyd.py build_ext --inplace#2.再把.cp38-win_amd64删掉 python renamepyd_file.py执行python build_pyd.py build_ext --inplace.将会为mylib.py 生成对应的.c文件和.pyd文件Cython生成pyd文件与上文提到的pyc文件无法直接执行一样,pyd文件也需要删除文件名中的.cp38-win_amd64.这样main.py才能找到对应的mylib.pyd.import oslists = os.listdir('./')for item in lists: try: if '.cp38-win_amd64.pyd' in item: # 重命名文件 fileName = item.replace('cp38-win_amd64.', '') files = os.rename(item, fileName) except Exception as e: print(e)执行main.py,此时main.py引用的是编译后的mylib.pyd.如果修改了mylib.py中的代码,需要删除pyd文件后调试,不然不会看到改动后的效果.编译成pyd后再用pyinstaller打包使用上文中的方法将python文件编译为pyd文件后,再用pynstaller打包,这时候我们反编译就只能看到pyd文件了,要想破解pyd文件就需要使用汇编级别的破解技术,如果你的代码需要别人这样去破解的话,那恭喜你了,哈哈.需要注意的是,编译为pyd再用pyinstaller打包,可能会出现模块无法被打包进去的情况,这时候需要编辑spec文件,将mylib模块添加到hiddenimports中.a = Analysis(['main.py'], pathex=['E:\\playground\\decompiletest'], binaries=[], datas=[], //这里引入mylib模块hiddenimports=['mylib'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False)更多pyinstaller的高级技巧可以看我之前的一篇文章pyinstaller 打包python程序高级技巧。
中端技术系列教程第二讲——反编译、编译和签名
中端技术系列教程第二讲——反编译、编译和签名№.1反编译1、反编译:高级语言源程序经过“ 编译” 变成可执行文件,反编译就是逆过程。
但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。
2、通过反编译我们都能做什么:简单的说通过反编译我们可以修改任意参数来使其达到我们预想中的效果,比如修改 APP 名字3、 APK 的反编译(APKTool)3.1、APKTool 的使用环境配置请参见第一讲:在 PC 端搭建 JAVA 环境3.2、下载所需附件①打开地址:/p/android-apktool/downloads/list②下载两个文件“ apktool1.4.3.tar.bz2” 和“ apktool-install-windows-r04-brut1.tar.bz2”3.3、安装 APKTool(其实算不上“ 安装”)①解压上一步下载的两个文件,得到三个文件,如图所示②将解压出来的三个文件移动到 C 盘的 windows 目录下③打开 CMD 命令(方法在第一讲中有介绍),直接输入“ apktool”,然后“ 回车”如果没有提示错误信息,就说明安装成功(如下图)3.4、反编译 .apk 文件(以“ MiuiMusic.apk ” 为例)①打开 CMD 命令(方法在第一讲中有介绍),输入代码:apktool dD:\MiuiMusic.apk D:\APK▲这里第一个 D 表示要反编译的 apk 文件所在的目录,所以首先要将 apk 文件放到 D 盘里再举个例子,假如我把 apk 文件放到了 D 盘的“ abcd ” 文件夹里了,那么我要输入的代码就应该是:apktool d D:\abcd\MiuiMusic.apk D:\APK▲这里第二个 D 表示反编译 apk 后的目录,意思就反编译到 D 盘的 APK 文件夹里再举个例子,假如我要把 apk 文件反编译到 E 盘的“ abcd ” 文件夹里,那么我要输入的代码就应该是:apktool d D:\MiuiMusic.apkE:\abcd②对于这段代码的详细解释,如下图所示▲输出目录文件夹名字可以自定义,输入代码后,会自动在指定目录下创建文件夹③代码输入完成后“ 回车”,稍等片刻,即可反编译完成那么这个时候在代码中所指定的目录里就可以找到反编译后的文件了!3.5、有些 apk 需要 framework 框架支持,下面说说如何导入该框架①用压缩软件打开 apk 文件所在 ROM(这里以 MIUI ROM 为例)如图所示②打开文件夹system\framework,找到文件“ framework-res.apk”,并将它复制到 C 盘的 Windows 文件夹里③打开 CMD 命令,输入代码:apktool if C:\windows\framework-res.apk,然后“ 回车”瞬间就会完成,如下图所示,即导入框架成功!4、 JAR 的反编译(JD-GUI)这里仅介绍 JD-GUI 这个软件,其他更复杂的修改在以后我会继续为大家带来教程这款反编译器叫 "Java Decompiler", 由 Pavel Kouznetsov开发,目前最新版本为0.3.3;它由 C++开发,并且官方可以下载 windows、linux和苹果Mac Os三个平台的可执行程序。
代码被反编译了?这两个小技巧能帮到你
代码被反编译了?这两个小技巧能帮到你后台回复关键字 “黑魔法”,即可获取明哥整理的《Python黑魔法指南》谈到 Python 的文件后缀,说眼花缭乱也不为过,来看看你遇到过哪些类型!.py如果这个不知道,那请出门左拐,你还是充钱那个少年,没有一丝丝改变。
接着打游戏去吧….pyc这个后缀应该算是除了Python 的 py 代码外,遇到最多的一种文件类型了。
虽然 Python 被普遍认为是一种解释性语言,但谁说它就不能被编译后执行呢?Python 通过 compile 生成的 pyc 文件,然后由 Python 的虚拟机执行,相对于 py 文件来说,编译成 pyc 本质上和py 没有太大区别,只是对于这个模块的加载速度提高了,并没有提高代码的执行速度,通常情况下不用主动去编译pyc 文件。
那 pyc 文件存在的意义在哪里?除了略微提高的模块加载速度外,更多的当然是为了一定意义上的保护源码不被泄露了。
当然为什么说一定意义?因为既然有编译,就毕竟存在反编译喽,这个一会儿说…如何将 py 文件编译成 pyc 文件呢?方法有三:1、使用 Python 直接编译python -m sample.py2、py_compileimport py_compilepy_pile('sample.py')3、compileallimport compileallpile_file('sample.py')pile_dir(dirpath)三种方式一看便知,区别在于 compileall 可以一次递归编译文件夹下所有的 py 文件.pyopyo 是源文件优化编译后的文件,pyo 文件在大小上,一般小于等于 pyc 文件。
这个优化没有多大作用,只是移除了断言。
原文如下:When the Python interpreter is invoked with the -O flag, optimized code is generated and stored in.pyo files. The optimizer currently doesn’t help much; it only removes assert statements. When -O isused, all bytecode is optimized; .pyc files are ignored and .py files are compiled to optimized bytecode.使用方式:python -O -m py_compile sample.py.pyd看到了前几种,相信 d 这个字母大家猜猜就能想到,它是 Python的动态链接库;动态链接库( DLL )文件是一种可执行文件,允许程序共享执行特殊任务所必需的代码和其他资源。
Python-浅谈Python的编译与反编译
Python-浅谈Python的编译与反编译1 - Python编译过程涉及的⽂件py源代码⽂件,由python.exe解释,可在控制台下运⾏,可⽤⽂本编辑器进⾏编辑;pyc源代码⽂件经过编译后⽣成的⼆进制⽂件,⽆法⽤⽂本编辑器进⾏编辑;执⾏⼀个.py⽂件后,并不会⾃动⽣成对应的.pyc⽂件,需要指定触发Python来创建pyc⽂件;- pyc是由py⽂件经过编译后⽣成的⼆进制字节码(byte code)⽂件;- pyc⽂件的加载速度⽐py⽂件快;- pyc⽂件是⼀种跨平台的字节码,由python的虚拟机来执⾏;- pyc⽂件的内容跟python版本相关,不同的python版本编译⽣成不同的pyc⽂件,只能在相同版本环境下执⾏;pyo源代码⽂件经过优化编译后⽣成的⽂件,⽆法⽤⽂本编辑器进⾏编辑;Python3.5之后,不再使⽤.pyo⽂件名,⽽是使⽤类似“xxx.opt-n.pyc的⽂件名;pyd是python的动态链接库;动态链接库(DLL)⽂件是⼀种可执⾏⽂件,允许程序共享执⾏特殊任务所必需的代码和其他资源;pyd⽂件虽然是作为python的动态模块,但实质上还是DLL⽂件,只是后缀改为pyd;⼀般是⽤C、C++、D语⾔按照⼀定的格式编写;参考信息:https:///3/faq/windows.html?highlight=pyd#is-a-pyd-file-the-same-as-a-dllpyz从Python 3.5开始,定义了.pyz和.pyzw分别作为“Python Zip应⽤”和“Windows下Python Zip应⽤”的扩展名。
新增了内置zipapp模块来进⾏简单的管理,可以⽤Zip打包Python程序到⼀个可执⾏.pyz⽂件。
- zipapp — Manage executable python zip archives- https:///3/library/zipapp.html详细内容请见PEP441(https:///dev/peps/pep-0441/)2 - ⽣成pyc⽂件执⾏⼀个.py⽂件后,并不会⾃动⽣成对应的.pyc⽂件,需要指定触发Python来创建pyc⽂件。
电脑端反编译pyc完全教程(两种方法)
电脑端反编译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 maindef decompile(path):main('','.',[path],none,0,0,0)之后再调用里面的decompile函数,也就是换汤不换药。
关于Python的源文件编译看这一篇就够了
关于Python的源⽂件编译看这⼀篇就够了前提概要Python解释器版本:3.6.8操作系统:MacOS编译源⽂件的必要性在实际的项⽬部署时,为了保护源代码,我们通常会在部署项⽬之前将后端写好的py⽂件编译成pyc⽂件。
pyc⽂件是是⼀种⼆进制⽂件,是由py⽂件经过编译后⽣成的⽂件,是⼀种byte code。
py⽂件变成pyc⽂件后,加载的速度有所提⾼,⽽且pyc是⼀种跨平台的字节码,是由python的虚拟机来执⾏的,这个是类似于JAVA或者.NET的虚拟机的概念。
pyc的内容,是跟python的版本相关的,不同版本编译后的pyc⽂件是不同的,py2编译的pyc⽂件,py3版本的python是⽆法执⾏的。
当然pyc⽂件也是可以反编译的,不同版本编译后的pyc⽂件是不同的,根据python源码中提供的opcode,可以根据pyc⽂件反编译出 py⽂件源码,不过你可以⾃⼰修改python的源代码中的opcode⽂件,重新编译 python从⽽防⽌不法分⼦的破解。
总之,编译源⽂件后再去部署项⽬可以⼗分有效的保护项⽬的源代码不被外⼈所窥视。
测试的项⽬测试的项⽬⽬录结构如下:本⽂使⽤这个项⽬的⽬录结构作为测试的说明。
~/Desktop/pythonCompile.├── compile_test.py├── t3.py├── test1│├── t1.py│└── t2.py└── test2├── tt1.py└── tt2.py也许这样看的更清楚python默认情况下做的编译其实Python在模块导⼊的过程中会在当前脚本的项⽬的⽬录下⾃动⽣成⼀个名为__pycache__的⽬录,在这⾥⾯存放被导⼊模块的编译以后的pyc⽂件。
在上⾯的⽂件中我们做⼀下测试:test1⽬录下的py⽂件的内容如下:t1.py:# -*- coding:utf-8 -*-def func1():print("调⽤func1...")t2.py# -*- coding:utf-8 -*-from test1.t1 import func1ret1 = func1()print("在t2中调⽤t1的函数后执⾏...")test2⽬录下的py⽂件的内容如下:tt1.py# -*- coding:utf-8 -*-def func_tt1():print("调⽤tt1.....")tt2.py# -*- coding:utf-8 -*-from test2.tt1 import func_tt1func_tt1()print("调⽤tt1后执⾏...")t3.py⽂件中的内容如下 —— 注意模块导⼊的操作# -*- coding:utf-8 -*-import osimport sys### 将当前⽬录放在sys.path中才能正常导⼊模块BASE_DIR = os.path.dirname(os.path.abspath(__file__))sys.path.append(BASE_DIR)### 测试# 导⼊tt2会执⾏tt2中的内容from test2 import tt2然后我们执⾏⼀下t3.py,可以看到在test2中⽣成了__pycache__这个⽬录,让我们再看看⽬录中的内容:也就是说,在默认情况下,其实Python就为我们做了优化:只要源⽂件不改变,⽣成默认的pyc⽂件后以后会执⾏编译好的pyc⽂件中的内容,这样⼤⼤提⾼了程序执⾏的效率!⼿动⽣成pyc⽂件***Python内置了两个模块来帮助我们编译py源⽂件,⼀个是py_compile(编译单个⽂件),另外⼀个是compileall(编译⼀个⽬录下所有的⽂件)。
python逆向归纳
python逆向归纳Python逆向归纳Python是一种高级编程语言,因其简单易学、可读性强、功能强大而备受欢迎。
在Python编程中,逆向工程是一个重要的领域,它涉及到反汇编、反编译和调试等技术。
在逆向工程中,我们可以通过分析代码和程序行为来深入了解软件的内部结构和运作方式。
1. 反汇编反汇编是将机器语言指令转换成可读性更高的汇编语言指令的过程。
在Python中,我们可以使用dis模块进行反汇编操作。
dis模块可以将Python字节码转换成可读性更高的指令序列。
例如,我们可以使用以下代码对一个函数进行反汇编:```import disdef add(a, b):return a + bdis.dis(add)```输出结果如下:```3 0 LOAD_FAST 0 (a)2 LOAD_FAST 1 (b)4 BINARY_ADD6 RETURN_VALUE```从输出结果中可以看出,在add函数中,先将参数a和b加载到栈上,然后使用BINARY_ADD指令将它们相加并返回结果。
2. 反编译反编译是将已经被编译成二进制代码的程序重新转换成源代码的过程。
在Python中,我们可以使用反编译工具将.pyc文件转换成.py文件。
例如,我们可以使用以下命令将一个.pyc文件反编译成.py文件:import uncompyle6with open("test.pyc", "rb") as file:code = file.read()with open("test.py", "w") as file:uncompyle6.decompile(code, file)```这里我们使用了uncompyle6模块进行反编译操作。
uncompyle6模块可以将Python 2.7、3.2、3.3、3.4、3.5、3.6和3.7的.pyc文件转换成对应版本的.py文件。
python编译、运行、反编译pyc文件
运 行 pyc 文 件
命令行下:
python test.pyc
反 编 译 pyc
首先安装库 uncompyle
pip install uncompyle
查看 uncompyle 函数属性:
命令行下:
uncompyle6 test.pyc > test1.py
py文件以前一般使用打包成exe但是最近发现可以将其编译成二进制文件pyc虽然反编译难度不大但是也需要一些水平
python编译、运行、反编译 pyc文件
为了加密 .py 文件,以前一般使用打包成 exe ,但是最近发现可以将其编译成二进制文件 pyc ,虽然反编译难度不大,但是也需要一些水平
编 译 生 成 pyc:
单个文件 代码:
import py_compile py_pile("test.py")
命令行下:
python -m py_compile test.py
多个文件
import compileall pile_dir("存放海量py的目录")
命令行下:
和源文件对比:
python的exe反编译
python的exe反编译目录•python的exe反编译o方法一、使用archive_viewer.py提取pyco方法二、使用pyinstxtractor.py提取pycpython的exe反编译驱动人生样本为python打包的exe文件,尝试反编译为py文件。
使用pyinstxtractor.py生成pyc文件。
实际尝试发现,直接反编译会报错看到前面利用pyinstxtractor.py反编译的错误里有个提示“not a pyinstaller archive”,而用来提取的py脚本叫archive_viewer.py (使用archive_viewer.py要安装PyInstaller,通过pip install pyinstaller即可安装)方法一、使用archive_viewer.py提取pycarchive_viewer.py命令#这里是archive_viewer.py可以使用的命令,这里我们用“X”提取文件U: go Up one levelO <name>: open embedded archive nameX <name>: extract nameQ: quit由于用PyInstaller打包后,pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。
前四个字节为python编译的版本,后四个字节为时间戳。
(四个字节的magicnumber、四个字节的timestamp)想要获得编译版本可以查看打包文件里struct的信息,so这里还是提取出struct这个文件用16进制编辑器打开struct文件,复制其前8个字节添加到ii.pyc中然后使用工具反编译pyc即可得到py。
**可用uncompyle *.pyc反编译pyc文件得到py**方法二、使用pyinstxtractor.py提取pyc直接使用pyinstxtractor.py去提取exe文件中的pyc会报错,需要去掉签名信息后再使用pyinstxtractor.py解开首先去掉exe文件的签名查看pyinstaller源码得知,PyInstaller首先会通过读取程序最后的数据进行识别,如果是符合格式的才会进行解析(c/Program Files/Python/Python37/Lib/site-packages/PyInstaller/archive/reader.py)MAGIC是文件末尾开始识别的地方。
16进制文件反编译
16进制文件反编译
16进制文件反编译是指将已经被转换成16进制字符串形式的文件重
新转换为二进制或原始文件的过程。
反编译16进制文件最常见的原因是在文件无法正常打开或原始文件丢失的情况下,需要尝试还原原始
文件。
以下是几种将16进制文件反编译回原始文件的方法:
1. 使用在线工具:有许多在线工具可以将16进制文件反编译回原始文件。
将16进制代码粘贴到特定的页面上,点击反编译按钮即可。
但是在线工具的使用有一定的风险,因为在线工具可能存在安全风险,文
件的隐私也无法得到保护。
2. 使用计算机自带的程序:大多数现代计算机都自带控制台和命令行
界面,这些界面可以用来将16进制文件反编译回原始文件。
在控制台上输入特定的命令,就可以让计算机将文件还原成原始文件,该方法
比较安全,但需要有一定的计算机知识。
3. 使用第三方工具:第三方工具可以将16进制文件反编译回原始文件,这些工具为用户提供了更多的功能,可以自定义输出格式,增加安全
扫描功能等。
但同样需要注意工具的来源和安全性。
总之,将16进制文件反编译回原始文件是一个需要小心谨慎的过程,
可以使用第三方工具,但需要确定其来源和安全性。
最好的方法是使用计算机自带的程序或在线工具,但使用这些方法时必须小心谨慎。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由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 编辑 ]
附件 2009-8-27 09:10 PM 1.JPG (36.77 KB) 备用
2009-8-27 09:10 PM
2.JPG (31.58 KB) 备用
2009-8-27 09:10 PM
3.JPG (36.86 KB) 备用
2009-8-27 09:10 PM
4.JPG (44.7 KB) 备用
2009-8-27 09:10 PM 5.JPG (49.77 KB) 备用
2009-8-27 09:10 PM
6.JPG (109.9 KB) 备用
2009-8-27 09:10 PM
7.JPG (111.12 KB) 备用
2009-8-27 09:10 PM
8.JPG (76 KB) 备用
2009-8-27 09:16 PM 下载次数: 426 需要资源.part1.rar (1.39 MB) 需要资源 2009-8-27 09:16 PM 下载次数: 322
需要资源.part2.rar (1.39 MB) 需要资源 2009-8-27 09:16 PM 下载次数: 326 需要资源.part3.rar (1.39 MB) 需要资源 2009-8-27 09:16 PM 下载次数: 319 需要资源.part4.rar (1.39 MB) 需要资源 2009-8-27 09:16 PM 下载次数: 314 需要资源.part5.rar (1.39 MB) 需要资源 2009-8-27 09:16 PM 下载次数: 315 需要资源.part6.rar (262.19 KB) 需要资源 2009-8-27 11:55 PM 下载次数: 398 反编译脚本.rar (128.08 KB) 反编译脚本。