barriers / 阅读 / 详情

php代码混淆_obfuscate怎么还原

2023-07-19 22:24:08
共1条回复
nicehost

这代码也没啥区别呀,不是一样看得懂吗?这有什么问题吗??在我看来感觉还是一样的,只是变量名乱了些长了些而已, 你将相关变量名对应重新命一下名不就全出来了吗??

相关推荐

php正则表达式过滤某些HTML标签代码

php 有自带函数strip_tags
2023-07-19 18:11:075

这个PHP的加密代码怎样破解,这个是什么原码来的?

最好把原网页地址发过来,这样容易看出加密方法
2023-07-19 18:12:113

php文件被加密怎么破解

可以用黑刀Dezender来试试,我不担保可以解出来的哦,从黑刀Dezender4.3版之后,将着力对混淆函数以及自定义函数的解密进行应对。大家下载压缩包并解压后,会发现有一个“config.ini”的文件,这就是混淆函数库啦!打开后,可自行编辑其中的内容,当然,也可以通过黑刀Dezender的升级程序直接下载官方最新的混淆函数库文件。这个混淆函数库就相当于是一个字典文件了,在保证格式不变的情况下,大家可以在【黑刀部落】下载《黑刀超级字典生成器》生成字典来挂入主程序进行解密,正确步骤为:先备份、改名自己的config.ini文件,生成的字典文件在第一行加入“[OBFUSCATE_NAME]”,将字典文件改名为config.ini,开始解密。同时,黑刀部落网站的“项目中心”栏目也开设了用户提交自己已知程序被混淆的函数列表,这样的话,就能让Dezender变得越来越强了。再也不怕混淆函数了。呵呵。什么是混淆函数?混淆函数,是从Zend Guard 4.0之后新增的一项功能,能把PHP文件中的所有函数名都进行混淆,混淆后变成以“_OBFUSCATE_”开头的一串“乱码”,这种加密方式感觉有点类似Md5,因为函数名已经不是原来的样子了,所以解密出来的PHP文件是不能正常执行的。黑刀Dezender在4.3版之后,新增加了挂入混淆函数库参与解密的功能,而混淆函数库,就像是一个包含了已知函数名的字典,利用这个字典,来与被混淆了的函数名(就是所谓的“乱码”)进行比对,如果比对结果相同,则解密出来的文件,基本上就可以恢复到加密前的样子了。如果混淆函数库中没有包含该PHP文件中使用的函数名,那么解密结果依然还是会存在“乱码”的。掌握了这个原理,我们就可以去想办法解决问题了。方式有以下几种:第一,使用黑刀超级字典生成器产生一个字典,字典的内容可以自己把握,修改字典文件名为“config.ini”,然后打开字典文件,在第一行插入“[OBFUSCATE_NAME]”标记(注意,方括号也是需要的,也就是引号内的内容都要加进去),将字典文件拷贝入黑刀Dezender主程序所在目录,同时注意备份原有的config.ini文件。这种办法费时费力,也要看运气,不过却是最实际的解决办法。第二,常看别人源代码的朋友,可以把自己已经掌握了的混淆函数的真实函数名提交到我的网站上来。操作步骤:进入网站首页,进入项目中心的“DeZender混淆函数库更新表”,提交。我会定期查看大家提交上来的数据,加入到官方的混淆函数库中,不断的增强和完善官方混淆函数库,大家可以利用黑刀Dezender的自动升级功能对其进行升级!
2023-07-19 18:12:181

config.ini文件怎么解密

自解密文件和标准加密有什么区别? 可以用黑刀Dezender来试试,我不担保大家下载压缩包并解压后,会发现有一个“config.ini”的文件,这就是混淆
2023-07-19 18:12:292

英语单词关于迷惑

addle v.使昏乱;使腐坏 (addled adj.头脑混乱的) baffle v.使困惑,难倒 (baffling adj.令人困惑的) befuddle v.使迷惑,使为难;使酒醉昏迷 befuddlement n.迷惑不解 bemused adj.茫然的,困惑的 bewilder v.迷惑,混乱 bewildering adj.令人迷惑的,费解的 captivate v.迷惑,吸引 (captivation n.吸引力,魅力) confound v.使迷惑,搞混 daze v.使茫然,使眩晕 delirious adj.精神错乱的 delirium n.精神错乱 deranged adj.精神错乱的,有精神病的 derangement n.精神错乱 discombobulate v.使困惑,扰乱 discombobulated adj.扰乱的,打乱的 discomfited adj.困惑的,尴尬的 elude v.搞不清;逃避 enthrall v.迷惑,迷住 fascinate v.迷惑,迷住 illusive adj.迷惑人的,迷幻的 muddle n.迷惑,混乱 nonplus v.使窘困迷惑;n.迷惑,窘境 (nonplussed adj.窘困迷惑的) obfuscate v.使困惑,使迷惑 (obfuscation n.昏迷,困惑) obsess v.使…困窘,使…烦扰;迷住 quandary n.困惑,进退两难 stupefy v.(使)茫然,吓呆 (stupid adj.愚笨的)
2023-07-19 18:12:371

lua 怎么反编译

lua源文件--obfuscate-->lua源文件(混淆后)--compile-->luac文件(带调试用的变量名和行号)--strip-->luac文件(不带调试信息)lua/luac--加密/打包-->数据文件数据文件--解包/解密-->lua/luac-->lua虚拟机1. 跟踪,脱壳,解包,解密,获得 luac追 luaL_loadbuffer luaL_loadfile lua_load 应该可以找到 解密函数。hook 这3个函数,导出解密后的数据,直接就是 luac 文件。如果没编译甚至是 lua源文件。hook luaV_execute 可以拿到 Proto* ,想办法用 luaU_dump 导出。luaD_precall 应该没必要搞。2. 非标准 luac 处理我们有两种方案来处理得到的 luac1. 得到一个能够执行上述非标 luac 的 lua 版本搞清楚编译方式,改 lua 源文件,编译出一个,这样做什么都可以,还能编译出对应的 luadec 。如果能找到 lua51.dll 之类的就直接调用吧。但是,只能用于导出 luac 对比文件格式,或者执行找到的几个关键函数。2. 将非标 luac 转换成标准格式 luac,正所谓:山不来就我,我便去就山非标准 luac 是怎么做的:1. bad header 改文件头#define LUA_SIGNATURE "33Lua" // lua.h2. bad header 改数据类型// luaconf.h#define LUA_NUMBER_DOUBLE#define LUA_NUMBER doubleLUA_NUMBER to floatLUA_NUMBER_SCAN to "%f"LUA_NUMBER_FMT to "%.7g"l_mathop(x) to (x##f)lua_str2number to use strtof3. bad code OpCode 重定义// 改有 "ORDER OP" 的地方/* grep "ORDER OP" if you change these enums */enum OpCode; // lopcodes.hconst lu_byte luaP_opmodes[]; // lopcodes.cconst char *const luaP_opnames[]; // lopcodes.c
2023-07-19 18:12:461

加密的php文件怎么解密

只是用了一些特殊符号作为array的key和function的参数罢了,没啥好研究的,可以直接把这些特殊符号替换成英文就好了
2023-07-19 18:13:092

以o开头的单词有哪些?

obeisance n. 鞠躬;敬礼; obelisk n. 方尖石塔;短剑号;疑问记号; obese adj. 极肥胖的; obesity n. 肥胖; obey vt.顺从 vi.服从 扩展资料   obfuscate v. 使困惑;使迷惑;   obigor n.债务人;欠债者;   obituary a. 死亡的;   object n.物;物体;目的";   objection n.反对;异议;不喜欢;   objectionable adj. 令人厌恶的;   objective a.客观的;无偏见的;   objurgate v. 怒斥;谴责;   objurgation n. 叱责;非难;   oblation n. 宗教的供品;祭品
2023-07-19 18:13:191

非公开的加密算法比公开的加密算法安全么?

Kerckhoffs原则:秘密寓于密钥。换句话说,一个密码系统的安全性,应该仅仅依靠“密钥没有泄漏”这个前提。即使整个系统落到了敌人的手上,敌人了解了整个系统的所有细节,但如果敌人不知道密钥,你的传输还是安全的。满足这样严苛的条件的密码系统才是安全的。无论是在战争还是和平时期,你不能把保密的希望寄于你的系统/算法的秘密性。机械的可以拆解,软件的可以直接看汇编。你的密码系统的所有细节总会被有心人所一一拆解。这个时候,如果你的系统符合Kerckhoffs原则,那么即使敌人拆解了你的系统但不知道密钥,他也没有办法破译加密的信息。而在这点上,非公开和公开算法的区别就体现出来了:因为系统总会被别人知道,所以安全性就寓于算法是否符合Kerckhoffs原则。公开算法受全世界的密码学者研究,经受了很大的考验,有很多弱的算法就舍弃掉了,应用的时候对于算法的局限性了解得比较多,用起来可以更留心(用更长的密钥之类);非公开算法的话,因为除了作者之外别人都不知道,所以基本上没有人看过,加密的强度谁都不知道,可能有很好的攻击但是作者没发现所以以为很安全,但实际上一攻就破。这种非公开算法被破解的例子是很多的,不过我知道的都是中古的……比如说一个报纸有个公告栏,有些情侣会用自己的密码在上面调情,有一次一对情侣用自创密码讨论私奔的事情,然后好事的密码分析师花了点时间破解了,然后用这个密码体系发了一段加密信息,劝他们不要私奔……二战的话,Enigma密码机本来也想秘密化的,不过怎奈何间谍们啊……但现在的密码学不仅仅是加密信息,还有身份认证啊数字签名啊之类的。这些可以通过基本的密码学primitive再加上semantic security来做,具体可以查维基。这些东西的话,用自己的一套方法基本上就是死路一条……因为从系统的角度出发,自己设计的系统很难堵住每一个漏洞,而设计出来了的话也大概跟sematic security的系统差不多……你同学的想法有个学名,叫security through obscurity。实际上这个也不是不能用,但是不能将整个系统的关键凭托在非公开的系统上面。不过要是将AES啊RSA啊之类的算法很好地obfuscate,然后装成很无辜的数学计算模块,同时伪装另一套实际上不会用到的加密系统,假装整个系统都依赖于它,这种也构成很好的obscurity式防御。不过,这种防御也只能是一层外壳,整个系统实质上也应该依赖于AES或者RSA之类好算法的安全性。这样的话,即使伪装被去除,敌人也对AES或者RSA束手无策。
2023-07-19 18:13:291

打包混淆时出错,怎么搞都不行

  ProGuard来进行混淆打包,大大的优化Apk包的大小。但是注意ProGuard对文件路径的名名很有讲究,不支持括号,也不支持空格。在混淆过后,可以在工程目录的proguard中的mapping.txt看到混淆后的类名,方法名,变量名和混淆前的类名,方法名,变量名。  在使用Eclipse新建一个工程,都会在工程目录下生产配置project.properties和proguard-project.tx。  # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):  #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt  # Project target.  target=android-10  project.properties用于配置Android工程的一些属性,#号的话表示当前行是注释,这里的proguard.config就用于指定ProGuard的混淆配置文件,并对使用release方式打包应用程序时开启代码混淆功能。对于是否是使用release方式打包,和AndroidManifest.xml中application的android:debuggable属性有很多关系。如果该值为android:debuggable="true",那么最终就是debug方式打包。最明智的方式就是在AndroidManifest.xml并不显示的指定它,而是是打包工具在打包时来决定它最终的值。对于ant就是ant release或ant debug。而对于直接在Eclipse中使用run 或debgu来打包的话就是debug,使用export的话就是release.  proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt  这里的话指定了混淆的基本配置文件proguard-android.txt,和混淆的个性化配置文件proguard-project.txt。
2023-07-19 18:13:481

O开头的所有动词

自己查字典你 几年级?难道纸制的字典都没有?
2023-07-19 18:14:154

boost::bind是做什么的?为什么要使用它?

比如:这个是我写的:找出大于3小于6且能被2整除的数:#include <iostream>#include <functional>#include <algorithm>#include <boost/bind.hpp>using namespace std;using boost::bind;int main(){ int a[] = {0,1,2,3,4,5,6,7,8,9}; int* p = find_if(a, a+10, bind(logical_and<bool>(), bind(logical_and<bool>(), bind(greater<int>(), _1, 3), bind(less<int>(), _1, 6)), bind(logical_not<bool>(), bind(modulus<int>(), _1, 2)))); cout << *p;}以下为参考资料:#include <iostream>#include "boost/bind.hpp"void nine_arguments( int i1,int i2,int i3,int i4, int i5,int i6,int i7,int i8, int i9) { std::cout << i1 << i2 << i3 << i4 << i5 << i6 << i7 << i8 << i9 << " ";}int main() { int i1=1,i2=2,i3=3,i4=4,i5=5,i6=6,i7=7,i8=8,i9=9; (boost::bind(&nine_arguments,_9,_2,_1,_6,_3,_8,_4,_5,_7)) (i1,i2,i3,i4,i5,i6,i7,i8,i9);}又比如:#include <iostream>#include <string>#include <map>#include <algorithm>#include "boost/lambda/lambda.hpp"#include "boost/lambda/bind.hpp"int main() { using namespace boost::lambda; typedef std::map<int,std::string> type; type keys_and_values; keys_and_values[3]="Less than pi"; keys_and_values[42]="You tell me"; keys_and_values[0]="Nothing, if you ask me"; std::cout << "What"s wrong with the following expression? "; std::for_each( keys_and_values.begin(), keys_and_values.end(), std::cout << "key=" << bind(&type::value_type::first,_1) << ", value=" << bind(&type::value_type::second,_1) << " "); std::cout << " ...and why does this work as expected? "; std::for_each( keys_and_values.begin(), keys_and_values.end(), std::cout << constant("key=") << bind(&type::value_type::first,_1) << ", value=" << bind(&type::value_type::second,_1) << " "); std::cout << " "; // Print the size and max_size of the container (std::cout << "keys_and_values.size()=" << bind(&type::size,_1) << " keys_and_values.max_size()=" << bind(&type::max_size,_1))(keys_and_values);}How Does the Bind Library Improve Your Programs?Adapts functions and function objects for use with Standard Library algorithmsConsistent syntax for creating bindersPowerful functional compositionWhen using the algorithms from the Standard Library, you often need to supply them with a function or a function object. This is an excellent way of customizing the behavior of algorithms, but you often end up writing new function objects because you don"t have the tools necessary for functional composition and adaptation of argument order or arity. Although the Standard Library does offer some productive tools, such as bind1st and bind2nd, this is rarely enough. Even when the functionality suffices, that often implies suffering from awkward syntax that obfuscates the code for programmers who are not familiar with those tools. What you need, then, is a solution that both adds functionality and normalizes the syntax for creating function objects on-the-fly, and this is what Boost.Bind does.In effect, a generalized binder is a sort of lambda expression, because through functional composition we can more or less construct local, unnamed functions at the call site. There are many cases where this is desirable, because it serves three purposesreducing the amount of code, making the code easier to understand, and localizing behavior, which in turn implies more effective maintenance. Note that there is another Boost library, Boost.Lambda, which takes these properties even further. Boost.Lambda is covered in the next chapter. Why shouldn"t you just skip ahead to that library? Because most of the time, Boost.Bind does everything you need when it comes to binding, and the learning curve isn"t as steep.One of the keys to the success of Bind is the uniform syntax for creating function objects and the few requirements on types that are to be used with the library. The design takes focus away from how to write the code that works with your types, and sets it to where we are all most interestedhow the code works and what it actually does. When using adaptors from the Standard Library, such as ptr_fun and mem_fun_ref, code quickly becomes unnecessarily verbose because we have to provide these adaptors in order for the arguments to adhere to the requirements of the algorithms. This is not the case with Boost.Bind, which uses a much more sophisticated deduction system, and a straightforward syntax when the automatic deduction cannot be applied. The net effect of using Bind is that you"ll write less code that is easier to understand.How Does Bind Fit with the Standard Library?Conceptually, Bind is a generalization of the existing Standard Library functions bind1st and bind2nd, with additional functionality that allows for more sophisticated functional composition. It also alleviates the need to use adaptors for pointers to functions and pointers to class members, which saves coding and potential errors. Boost.Bind also covers some of the popular extensions to the C++ Standard Library, such as the SGI extensions compose1 and compose2, and also the select1st and select2nd functions. So, Bind does fit with the Standard Library, and it does so very well indeed. The need for such functionality is acknowledged, and at last in part addressed by the Standard Library, and also in popular extensions to the STL. Boost.Bind has been accepted for the upcoming Library Technical Report.
2023-07-19 18:14:321

英语Changes will remain in memory only怎么翻译?

变化只是个记忆罢了。
2023-07-19 18:14:4112

goagentx 用不了,出现以下内容是为什么?

socket.error: [Errno 48] Address already in use这个就是错误的原因,通信的端口已经被占用了。你之前应该是开过一次goagent了吧,并且没有关掉。看文件路径应该是Mac下吧,你可以打开终端,敲ps回车看一下:是不是也有中间那个有Python的那一行。不出意外的话应该是有的,说明你的goagent已经开了,你可以kill掉这个进程,然后就可以重开了。
2023-07-19 18:15:031

unity iap 可以直接在unity调试吗

不能直接在Unity中调试,因为最终调试环节必须是需要靠真机的。所以建议在模拟器中调试无误后,在进行真机调试
2023-07-19 18:15:191

android 应用依赖某个库怎么封装成sdk

  方法一  使用eclipse导出jar包:我们知道一个java项目是可以用eclipse导出jar包的,安卓工程也一样,只要按普通的方法export就可以了。不过,export出来的包是没有混淆过的,如果你要混淆,还需要单独对你的jar包执行一次proguard程序,可参考proguard使用指南。  方法二  使用脚本打包:我个人比较喜欢该方法,因为android工程项目并不是只有JAVA代码,有的资源也需要提供出来,而使脚本可以更加定制化一些。  android的SDK默认提供了一个ant打包的脚本,具体使用方法,可参考之前的BLOG,使用ant打包APK及依赖包最佳解决办法  我们可以看出,打包,最终调用的其实是android sdk下的ant脚本,既然安卓已经帮我们写好了ant脚本,我们就好好利用。  使用上面的BLOG中介绍的方法,先在工程目录中生成你的build.xml,然后自己写一个target  <target name="sdk"  depends="-set-release-mode, -release-obfuscation-check, -compile, -post-compile, -obfuscate">  </target>  这段target代码,就是只执行到了混淆的脚本。然后我们在build.xml中选择右键,run as, 第二个ant Build,然后选择要执行的target为我们加上的sdk。  等执行完成后,就会在project/bin/proguard/obfuscated.jar找到你所要的jar包。
2023-07-19 18:16:251

哪些英语单词中的“a”读[e]的音

appleegg
2023-07-19 18:16:364

打包混淆时出错,怎么搞都不行

 ProGuard来进行混淆打包,大大的优化Apk包的大小。但是注意ProGuard对文件路径的名名很有讲究,不支持括号,也不支持空格。在混淆过后,可以在工程目录的proguard中的mapping.txt看到混淆后的类名,方法名,变量名和混淆前的类名,方法名,变量名。  在使用Eclipse新建一个工程,都会在工程目录下生产配置project.properties和proguard-project.tx。  # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):  #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt  # Project target.  target=android-10  project.properties用于配置Android工程的一些属性,#号的话表示当前行是注释,这里的proguard.config就用于指定ProGuard的混淆配置文件,并对使用release方式打包应用程序时开启代码混淆功能。对于是否是使用release方式打包,和AndroidManifest.xml中application的android:debuggable属性有很多关系。如果该值为android:debuggable="true",那么最终就是debug方式打包。最明智的方式就是在AndroidManifest.xml并不显示的指定它,而是是打包工具在打包时来决定它最终的值。对于ant就是ant release或ant debug。而对于直接在Eclipse中使用run 或debgu来打包的话就是debug,使用export的话就是release.  proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt  这里的话指定了混淆的基本配置文件proguard-android.txt,和混淆的个性化配置文件proguard-project.txt。
2023-07-19 18:16:421

U3D如何做代码混淆

提供几个代码混淆方案:1.Unity官方提供代码混淆服务,收费的2.CodeGuard.unitypackage插件,出包是混淆,方便,提供多种混淆选择,灵活,插件有破解版,测试可行,个人比较推荐.3.Crypto Obfuscator for .Net,但是不支持Mac
2023-07-19 18:17:082

eclipse打开几个安卓工程时提示的错误(如图),怎么解决,万分感谢。

adb update server
2023-07-19 18:17:153

如何混淆代码和相关配置

项目发布之前混淆是必不可少的工作,混淆可以增加别人反编译阅读代码的难度,还可以缩小APK包。 使用步骤: 1、修改project.properties文件: Java代码 收藏代码# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): # proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 去掉proguard.config一行前面的#注释; 2、配置proguard-project.txt文件: 这个是主配置文件,里面配置哪些需要混淆,哪些不需要混淆的选项; 提供给外部的类、方法、变量等名字不能混淆; 在AndroidManifest中配置的类(Activity、Service等的子类及Framework类默认不会进行混淆) 不混淆Parcelable的子类,防止android.os.BadParcelableException Jni中调用的类 反射用到的类 项目中的实体类 3、导出项目: export签名项目。 4、查看是否混淆成功: 用反编译工具反编译并对比未混淆的代码; 5、运行ProGuard及其生成的文件介绍 在以release模式下打包apk时会自动运行ProGuard,这里的release模式指的是通过ant release命令或eclipse project->android tools->export signed(unsigned) application package生成apk。在debug模式下为了更快调试并不会调用proguard。 如果是ant命令打包apk,proguard信息文件会保存于<project_root>/bin/proguard文件夹内;如果用eclipse export命令打包,会在<project_root>/proguard文件夹内。其中包含以下文件: mapping.txt表示混淆前后代码的对照表,这个文件非常重要。如果你的代码混淆后会产生bug的话,log提示中是混淆后的代码,希望定位到源代码的话就可以根据mapping.txt反推。 dump.txt描述apk内所有class文件的内部结构 seeds.txt列出了没有被混淆的类和成员 usage.txt列出了源代码中被删除在apk中不存在的代码目前市面上有很多第三方应用加固的平台, 如果新应用发布前需要扫描或者加固的话,可以先试试免费的,例如腾讯御安全,建议自己先去加固测试下。
2023-07-19 18:17:221

freedom to operate opinion求翻译

自由表达观点。
2023-07-19 18:17:386

拜托那位英语高手帮我翻译下啊 ~急用 别用翻译软件啊!

3.5如何文件明智 生命太短,写crap ,没有人会读;如果你写crap ,没有人 会阅读它。因此,有点好文件是最好的。管理者往往 不明白这一点,因为即使是坏的文件,让他们有一个虚假的安全感 安全,他们不依赖于他们的程序员。如果有人 绝对坚持认为你写真正无用的文件,说是“和 悄悄地开始寻觅工作做得更好。 没有什么能比得上作为有效的把准确估计有关 大量的时间将会采取何种措施产生良好的文件成为一个估计 放松的需求文档。事实是,冷战和努力:文件, 想测试,可以采取许多倍的时间比发展中国家的代码。 17 良好的书面文件, _rst所有,良好的写作。我建议你 _nd书籍,写作,研究,和实践。不过,即使你是一个糟糕的 作家或有穷人的指挥语言,在其中你必须的文件, 金科玉律是所有你真的需要: 己所不欲,正如你将有 他们己所不欲,你“需要一段时间真的觉得谁在将读您的 文件,他们所需要的失控,以及您如何可以教导,以 他们。如果你这样做,你将是一个高于平均水平的文件作家,和 一个很好的程序员。 当谈到,其实记录代码本身,作为反对生产 文件指出,其实是可以阅读的非程序员,最好的程序员 我从未已知举行一个普遍的感受:写自我解释性代码 只有文件的代码的地方,你不能作出澄清,以书面 代码本身。有两个很好的理由。第一,谁需要 看到代码级别的文件将在大多数情况下,能够和喜欢阅读 代码无论如何。诚然,这似乎更容易向有经验的程序员 比对初学者。更重要的,但是该守则和 文件不能不一致的,如果没有文件。来源 代码可以在最坏的错误的和混乱。文件,如果不写 完美,可以说谎,这是一个几千倍更糟。 这并不使其更易于对负责的程序员。请问1 写自我解释性代码?这代表了什么,甚至什么意思?这意味着: _写代码知道会有人要读它; _应用的金科玉律; _使用什么规则,良好的写作,你可能有教训; _选择的解决办法很简单,即使您可以得到与 另一种解决办法更快; _ sacri_cing小优化,模糊码; _思考的读者和消费您的一些宝贵的时间 使其更易于对她的; _不要使用函数名称一样, 富“ , 网吧” ,或经济部“ !
2023-07-19 18:18:072

代码混淆 proguard怎么写

具体混淆的步骤简单。首先,我们需要在工程描述文件project.properties中,添加一句话,启用ProGuard。如下所示:[java] view plain copy# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system edit # "ant.properties", and override values to adapt the script to your # project structure. # # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. target=android-19 这样,Proguard就可以使用了。当我们正常通过Android Tools导出Application Package时(或者使用ant执行release打包),Proguard就会自动启用,优化混淆你的代码。导出成功后,你可以反编译看看混淆的效果。一些类名、方法名和变量名等,都变成了一些无意义的字母或者数字,证明混淆成功
2023-07-19 18:18:141

php报错:Undefined variable和 No database selected 数据库 不存在,哪个高手帮忙解释下

一楼的 XXXX 1046是行数?一点一点检查 exit
2023-07-19 18:18:213

这一段怎么翻译?金融的!帮帮忙(请不要用机器翻译)

识别和分析复杂的金融监管机构的目标并不是一件易事。在金融监管发展的上个10至20年里,它被号召奉行的政策目标越来越广泛,而这些政策目标又并不一定存在于每条商业主线或者是相涉及的国家,而它们也并不总是相容一致的。一个平常的目标概述不应该混淆它们之间的相互依赖和相互作用,也不应模糊它们之间可能存在的冲突。如同总体政策目标一样,人们可以识别金融体系的整体稳定性,以及旨在建立对金融体系能够运作或存活的公众信心的核心元素。虽然这其中有很多中间目标---尤其是关系到诸如机构偿付能力,或者存款人、投资方或投保人的利益保障---但是,其最终目标仍在于确保作为核心的“公共利益”的金融稳定。正如金融危机反复证明的那样,这种公共利益显然并不能由市场独力承担,必须得有某种形式的政府当局的介入,包括限制商业活动以为全局稳定保驾护航的指导。因此,金融监管通常被认为是强制性的,或者,正如欧洲传统里涉及的思想一样,隶属于“公共治安”:公共团体执行其规定,违反则将受到刑事或民事制裁,而抵触条款将被宣布无效。
2023-07-19 18:18:291

foreign actors 除了外国演员有元首之类的意思吗?字典上只有演员的意思,英语翻译不出来

关联者,行动者,参与者亲:祝你学习进步,每天都开心V_V!望采纳,thx!
2023-07-19 18:18:363

android 代码混淆算法有哪些

  根据 SDK 的版本不同有 2 中不同的代码混淆方式,以上的 proguard.cfg 参数详解中所涉及到的信息是在较低版本 SDK 下的混淆脚本,事实上在高版本的 SDK 下混淆的原理和参数也与低版本的相差无几,只是在不同 SDK 版本的环境下引入混淆脚本的方式有所不同。具体方法如下:  低版本 SDK 下,项目中同时包含 proguard.cfg 和 project.properties 文件,则只需在 project.properties 文件末尾添加 proguard.config=proguard.cfg 再将项目 Export 即可。  高版本 SDK 下,项目中同时包含 proguard-project.txt 和 project.properties 文件,这时需要在 proguard-project.txt 文件中进行如下信息的配置,然后再将项目 Export 即可。下面以真实的文件进行演示说明。  复制代码  # This file is automatically generated by Android Tools.  # Do not modify this file -- YOUR CHANGES WILL BE ERASED!  #  # This file must be checked in Version Control Systems.  #  # To customize properties used by the Ant build system edit  # "ant.properties", and override values to adapt the script to your  # project structure.  #  # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):  #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt  proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt  # Project target.  target=android-16  复制代码  以上的配置信息即是 project.properties 文件中内容,蓝色文字为我们在代码混淆过程中需要添加的配置信息,其中:sdk.dir 为你在当前机器上 SDK 的安装路径。如果想保留某个包下的文件不被混淆,可以在 proguard-project.txt 文件中加入保留对应包名的语句即可。  复制代码  # To enable ProGuard in your project, edit project.properties  # to define the proguard.config property as described in that file.  #  # Add project specific ProGuard rules here.  # By default, the flags in this file are appended to flags specified  # in ${sdk.dir}/tools/proguard/proguard-android.txt  # You can edit the include path and order by changing the ProGuard  # include property in project.properties.  #  # For more details, see  # http://developer.android.com/guide/developing/tools/proguard.html  # Add any project specific keep options here:  -dontwarn com.cnki.android.cnkireader.**  -keep class com.cnki.android.cnkireader.** { *; }  # If your project uses WebView with JS, uncomment the following  # and specify the fully qualified class name to the JavaScript interface  # class:  #-keepclassmembers class fqcn.of.javascript.interface.for.webview {  # public *;  #}  复制代码
2023-07-19 18:18:451

Android怎么把一个现有工程打包成sdk

打包成aar
2023-07-19 18:18:552

Symbolic development

symbolism的发展不是symbolic development而是the development of symbolism,懂吗?symbolic development作为名词是一个学术用词,首先已经给你翻译过了
2023-07-19 18:19:032

如何根据mapping.txt还原混淆的代码

根据mapping.txt还原混淆的代码BEFOREHere"s the stack trace as obfuscated by ProGuard:Caused by: java.lang.NullPointerExceptionat net.simplyadvanced.ltediscovery.be.u(Unknown Source)at net.simplyadvanced.ltediscovery.at.v(Unknown Source)at net.simplyadvanced.ltediscovery.at.d(Unknown Source)at net.simplyadvanced.ltediscovery.av.onReceive(Unknown Source)AFTERAll you need to do is write one line in the command prompt, and the obfuscation will be removed, as you can see here:Caused by: java.lang.NullPointerExceptionat net.simplyadvanced.ltediscovery.UtilTelephony.boolean is800MhzNetwork()(Unknown Source)at net.simplyadvanced.ltediscovery.ServiceDetectLte.void checkAndAlertUserIf800MhzConnected()(Unknown Source)at net.simplyadvanced.ltediscovery.ServiceDetectLte.void startLocalBroadcastReceiver()(Unknown Source)at net.simplyadvanced.ltediscovery.ServiceDetectLte$2.void onReceive(android.content.Context,android.content.Intent)(Unknown Source)HOW TO DECODE STACK TRACEYou can choose either the command line method or GUI (Graphical User Interface) method.HOW TO DECODE STACK TRACE VIA GUI1) Open <android-sdk>/tools/proguard/bin/proguardgui.bat2) Select the “ReTrace” option on the left column.3) Add your mapping file and obfuscated stack trace.4) Click “ReTrace!”Thanks to David Bilik for mentioning this GUI method.HOW TO DECODE STACK TRACE VIA COMMAND LINE1) You will need your ProGuard"s mapping.txt file and the stack trace (Ex: stacktrace.txt) that you want to de-obfuscate.2) The easiest way to do the next step is copy both these files into your<android_sdk_root>/tools/proguard/bin.3) If you are on Windows, run the following command in the same directory as the files (make sure you change to your own file names):retrace.bat -verbose mapping.txt stacktrace.txt > out.txt4) out.txt will have the stack trace de-obfuscated. Now you can debug much easier and faster than before.
2023-07-19 18:19:251

高分英译汉!急!!!

上雅虎在线翻译
2023-07-19 18:19:343

代码混淆 proguard怎么写

具体混淆的步骤简单。首先,我们需要在工程描述文件project.properties中,添加一句话,启用ProGuard。如下所示:[java] view plain copy# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system edit # "ant.properties", and override values to adapt the script to your # project structure. # # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. target=android-19 这样,Proguard就可以使用了。当我们正常通过Android Tools导出Application Package时(或者使用ant执行release打包),Proguard就会自动启用,优化混淆你的代码。导出成功后,你可以反编译看看混淆的效果。一些类名、方法名和变量名等,都变成了一些无意义的字母或者数字,证明混淆成功。
2023-07-19 18:19:441

人民币贬值的原因是什么?

美国对中国商品加征关税导致的,美元越来越难赚了,自然就更值钱了,相对人民币就贬值了!
2023-07-19 18:10:393

full of hope除甲醛有效吗?

full of hope除甲醛这个产品还不错,有一定的效果。foh果冻整体采用食品级凝胶,PET瓶身以及环保包装,拥有清华大学权威机构检测报告。Foh除醛果冻不单单仅针对于甲醛,TVOC,苯等空气中的有害物质,对杀菌抑菌,改善空气环境也有明显的效果。full of hope喷雾可直接喷在释放甲醛源头上,利用抓取技术,中和甲醛分子形成无毒无害的大分子,从源头去除甲醛。对甲醛等有害物质具有很强的吸附和分解作用,放在装修后的房间里,会对房间的空气有改善作用,活性炭的颗粒越小吸附效果越好。Full of Hope(FOH)简介:Full of Hope(FOH)希望树创立于2019年,专注家庭空气治理领域,寻找来自大自然的植物精华,通过安全无害、绿色环保的方式,净化室内空气,为每一个家庭带来纯净的守护。FOH希望树产品线已覆盖除甲醛果冻、除醛急救喷雾、宠物除味喷雾等。
2023-07-19 18:10:391

关于c#中internal用法

难!
2023-07-19 18:10:433

如何知道手机被窃听

这个很难知道的,大部分人的通信基本还算是安全的,除非是有些重点人物。
2023-07-19 18:10:456

专家:执着于人民币汇率破7无意义,为什么这么说?对普通民众有无影响?

是的,因为我们国内现在的经济体系很完整,很稳定,是很难受到外界影响的
2023-07-19 18:10:474

安卓APP的主要开发原理以及其主要过程是什么?

开发原理:Android应用程序是用Java语言编写的。编译过后的字节码,以及应用程序要求的其他数据和资源文件,通过aapt工具被绑定在一起,称为 Android包,这是一个带.apk后缀的档案文件。这个文件也是用户下载到他们设备上的文件。所有的代码在一个单一的.apk文件中,组成一个“应用程序”。主要过程:1、需求分析:大部分创业型项目在这个阶段只是一些比较抽象的想法。有一份相对完善的需求文档,不仅有助于创业者自身对项目的理解和周全性分析,如果项目是交由设计公司去完成的话,也更有利于对方准确把握项目的定位和商业模式,以便给出专业的建议和解决方案。2、原型设计接下来会根据上面提到的具体需求文档,项目经理进行会进行原型图的设计。3、UI设计原型图经过反复推敲修正后,UI 设计师会进行UI界面相关的配色设计、功能具象化处理、交互设计、以及各种机型、系统的适配。UI 设计师经过多次与项目经理沟通修改后,最终的到定稿的高保真设计图。4、开发经过以上几个过程之后,会正式进入到开发阶段。5、测试调试APP 功能开发完成之后,测试人员会对整项目进行系统性测试。这个环节会调动起项目组内所有人相关人员。而测试这个环节的重要性不亚于前期功能的规划,如果团队没有经过专业系统性训练的测试人员,很可能会导致项目出现与设计初衷存在落差,以及遗漏下一些逻辑上的坑。6、发布app经过至少两轮的内部测试以及小范围外测(或者完成满足测试要求的周期)后,会进行最终版本的上架。扩展资料APP开发工具1、MOTODEV Studio for AndroidMOTODEV Studio for Android,这是基于Android的开发环境,为开发者们提供新的MOTODEV App Accelerator Program使他们可以开发出更适合摩托罗拉Android手机的应用程序。2、J2ME开发插件 Mobile Tools for JavaMobile Tools for Java (MTJ) 是Nokia公司开发的一款 Eclipse插件,用于支持 Java 手机应用程序开发。其前身就是大名鼎鼎的 EclipseME。3、apk文件修改工具 Root ToolsRootTools是一个新的工具软件,Android开发者可以在这一工具软件的支持下,对.apk格式的文件进行再次修改,让程序表现更加出色,满足用户的需求。Root Tools里面自带有很多工具,比如BusyBox,它里面集成压缩了很多Linux的工具和命令,这样软件开发者在对....4、IDEA的Android开发插件 idea-androididea-android 是在 IDEA 集成开发环境中开发 Android 应用程序的插件。参考资料百度百科-app开发
2023-07-19 18:10:491

三星手机出现downloading.怎么回事?

三星手机出现downloading.怎么回事?方法:1.点击手机桌面的“应用程序”,进入“小组件”一栏,找到“辅助光”组件。2.长按“辅助光”图标,在感受到机身有轻微振动后,拖动图标,将其拖到桌面上或者其他放的地方。3.要打开手电筒时,点击一下“辅助光”图标,手机背后的手电筒灯光就会亮起,再点一下则关闭。
2023-07-19 18:10:505

internal error什么意思?

Internal Server Error.内部服务器错误。双语例句1. Internal server error occured. Request aborted. 发生内部服务器错误.请求已终止.2. Internal server error occured when performing your search. 执行搜索时发生内部服务器错误.3. Internal application error: Could not create internal server object. Please quit the Configuration Wizard and rerun. 内部应用程序错误: 不能创建内部服务器对象. 请退出配置向导并重新运行.4. Internal error: not enough file descriptors to connect to server. 内部错误: 文件描述符不完整,无法连接服务器.5. Oops ! The server encountered an internal error and was unable to complete your request.服务器内部出现错误,无法完成您的请求.
2023-07-19 18:10:501

如何改变datagrid的columns

@author YHCDataGrid 列可以使用"columns" 属性简单的定义,如果你想动态的改变columns,那根本没有问题,改变columns ,你可以重新调用datagrid 方法和传递一个新的columns 属性,就o了.创建DataGrid[html] view plain copy print?<table id="tt" title="Frozen Columns" class="easyui-datagrid" style="width:550px;height:250px" url="data/datagrid_data.json" singleSelect="true" iconCls="icon-save"> </table> <table id="tt" title="Frozen Columns" class="easyui-datagrid" style="width:550px;height:250px" url="data/datagrid_data.json" singleSelect="true" iconCls="icon-save"> </table> [javascript] view plain copy print?$("#tt").datagrid({ columns:[[ {field:"itemid",title:"Item ID",width:80}, {field:"productid",title:"Product ID",width:80}, {field:"attr1",title:"Attribute",width:200}, {field:"status",title:"Status",width:80} ]] }); $("#tt").datagrid({ columns:[[ {field:"itemid",title:"Item ID",width:80}, {field:"productid",title:"Product ID",width:80}, {field:"attr1",title:"Attribute",width:200}, {field:"status",title:"Status",width:80} ]] }); 运行你的web页面,你将看见:查看 Demo
2023-07-19 18:10:551

Ed Sheeran的歌曲《photograph》的中文歌词

《Photograph》Ed Sheeran歌词如下:Loving can hurt爱会让人伤心Loving can hurt sometimes爱有时痛入人心But it"s the only thing that I know却是我了解的唯一一件事When it gets hard当爱深陷困境You know it can get hard sometimes或许这一切终会步入艰辛It is the only thing that makes us feel alive但这依旧是我们仅有的生命之源We keep this love in a photograph我们把爱保存在照片里We made these memories for ourselves存念仅属于我们的回忆Where our eyes are never closing不舍收起目光含情脉脉Our hearts were never broken未曾体会心碎之痛滴落And time‘s forever frozen still那一刻在时光中驻留,画面定格So you can keep me就这样将我长存Inside the pocket of your ripped jeans把我放进你的破洞牛仔裤的裤袋Holding me close until our eyes meet紧紧相拥直至视线交汇的那一瞬You won"t ever be alone不,你不会感到任何一刻孤独的留存Wait for me to come home亲爱的,安然等我回家Loving can heal情为良药Loving can mend your soul治愈灵魂之伤And it"s the only thing that I know爱是我所知的一切I swear it will get easier Remember that with every piece of ya (you)若我仅需缅怀与你的点滴,我想我也能更安然地面对And it"s the only thing we take with us when we die唔……当我们最终化为尘土,这些点滴会是我们最好的陪伴We keep this love in a photograph我们把爱保存在照片里We made these memories for ourselves珍藏这张回忆铸成的相片Where our eyes are never closing在那片净土,我们未曾合拢双眸Our hearts were never broken未曾心碎And time"s forever frozen still时光在此封存,穿过历史长河成为永恒So you can keep me inside the pocket of your ripped jeans如此这般,将我长存Holding me close until our eyes meet四目交视也紧紧偎依You won"t ever be alone孤独将永不与你为伴And if you hurt me何妨伤我之情that"s okay baby only words bleed不过言辞痛入人心Inside these pages you just hold me在照片中,就这样将你拥入我怀,单纯止此And I won"t ever let you go不顾时光奔流,吾爱不逝Wait for me to come home待我回家Wait for me to come home如同等待燕雀归巢Wait for me to come home如同静观日落西山Wait for me to come home静静地等我回家And you could fit me inside the necklace you got When you were sixteen还记得十六岁那年你的项链吗?我们如此般配Next to your heartbeat where I should be站在你左侧聆听心跳,就好像这是我命中注定Keep it deep within your soul爱深入灵魂And if you hurt me何妨伤我之情But that"s okay baby only words bleed宝贝,不过一字一句何必介意Inside these pages you just hold me像照片中那样,你会一直那样与我相拥And I won"t ever let you go不顾时光奔流,我爱不逝When I"m away若我乘风归去I will remember how you kissed me under the lamppost back on 6th street我会记得那夜第六大道的昏暗灯光下你在我唇上留下的气息Hearing you whisper through the phone听着你话筒传来的轻咛Wait for me to come home等我回家
2023-07-19 18:10:254

FOH除甲醛的,到底效果怎么样?

foh除甲醛果冻还是有一定的作用的。当然是主要是用来起到辅助作用的,因为除甲醛最好的效果还是打开门窗通风,因为这种果冻吸附甲醛的量是有限。甲醇过量氧化法甲醇过量氧化法即银催化氧化法,其采用银丝网或铺成薄层的银粒为催化剂,控制甲醇过量,反应温度约为600~720℃。银法工艺路线以德国BASF公司为代表。我国甲醛工业始于20世纪50年代,当时引进苏联技术,以浮石银为催化剂制备工业甲醛。随着人们对催化剂性能要求的不断提高,1977年我国复旦大学化学系与上海溶剂厂共同开发研制了新一代甲醛催化剂-电解银,其制备工艺一直沿用至今。
2023-07-19 18:10:241

电脑上显示qq for android下线是什么情况?

安卓模拟器就不是安卓了?不知道你还有什么疑问。
2023-07-19 18:10:222

如何防备手机被监听

阅读全文搜经验手机软件监听怎么防止被手机软件监听怎么防止被手机应用监听原创经验 江西的老表55怎么防止被手机上的软件应用监听1 /91最近,很多软件应用被传出开启麦克风功能非法窃听用户语音从而向用户进行精准推送的消息。但是这些精准推送过头了,用户只要一说某种物品这些应用马上就会推送相关信息,让很多用户开始怀疑是否被监听了。2 /92很显然,这些手机应用都有监听用户的可能,只是因为安装这些应用时你给了它们过多的权限。3 /93现在的手机上的软件应用安装时,都会要求你给它们一系列可能透露你的隐私的权限;如麦克风权限,定位权限,读取访问存储权限,甚至是系统修改的权限。4 /94那么怎么防止手机过分利用你给它们的权限,从而监听你甚至是查看你手机的隐私呢?5 /91首先,大家都知道的方法,限制应用权限,使用一个应用时有些权限这个应用根本就不会用到,但仍然要求你给权限就要小心了。6 /92尽量关闭应用的读取权限以及定位权限,实在要用到的时候可以暂时开启用完之后再关闭。除此之外,有些很手机上私密的内容可以添加访问权限不让这些内容被读取。 45 7 /9相关经验如何防止自己的手机被别人监听如何防止手机被监听如何知道手机被监听?360手机卫士如何设置通话防窃听?8 /9为你推荐输入手机号码,3秒查看老公老婆位置,守护家人安全!立即查看广告分享到您可以通过浏览器的分享按钮,将这篇经验分享到朋友圈您也可以复制以下链接,打开朋友圈后进行分享https://jingyan.baidu.com/album/d3b74d641999391f76e60964.html微博 空间 腾讯微博
2023-07-19 18:10:185

在C#中internal关键字是什么意思?

内部
2023-07-19 18:10:189

这个人物是谁?

我见崎鸣!
2023-07-19 18:10:168

为什么说没有 Taylor Swift 就没有 Ed Sheeran

从《everythinghaschanged》这首歌开始,taylorswift和edsheeran似乎就成了命中注定该在一起的金童玉女,相信无数的粉丝曾经都一度和小编一样坐等狗仔踢爆两人的恋情。结果无数场现场合唱都过去了,两人依旧保持着单纯;的朋友关系。然而近日英国一家名为star的杂志曝出了ted的&友情内幕!该杂志称:taylor和ed有过一个约定,如果30岁时候他们还在单身,那么他们将作为男女朋友开始约会!一个知情人士告诉杂;taylor和ed关系非常好,这也是为什么他们能毫无拘泥的讨论成为男女朋友可能性的原因。现在他们两个都还没到想安定下来的时候,这也就是为什么他们不希望发生危害彼此友情的事情。这么听起来,似乎非常有道理。虽然之前很多人都希望taylor和ed能成为ted,但是假若有一天他们两人分手,并且都发挥自己超凡的歌曲创作才能为对方写分手歌的话,估计我们都不会再相信爱情了!话虽如此,大家目测taylor和ed真的会等到彼此都30岁再约会吗?或者3个月之后霉霉和ed真的就是you"llbemineandi"llbeyours
2023-07-19 18:10:151

android中for如何使用?

EditText ip = (EditText) findViewById(R.id.ip_et);int number =Integer.valueOf(ip.getText().toString());for(int i=0;i<100;i++){if (i<number){Log.e("Jack","小与输入的数");}else{Log.e("Jack","大于等于输入的数");}}
2023-07-19 18:10:091