我是这么设计高性能海量数(ku)据(zi)查询系统的(一)

哎呀,一不小心就2014年了呢~回来看看博客,都长草了_(:з」∠)_。一转眼又要考试了,于是匆匆忙忙码了篇文出来(尼不就是想炫耀下你的裤子么)

另外在乌云也发了篇~希望各位菊苣也去看看~

群众:尼的Java反编译系列教程呢?那边还没坑玩,怎么有开了个坑!!

Ovear:啊哈哈哈哈,今天的天气真不错啊,来看文

群众:滚尼玛(西瓜皮,胖次,带血的胖次)

Ovear:呃,别扔了。咦等等,欧尼sama带血的胖次,啧啧,欧尼sama的血,舔 咳咳咳。。。

6467271020120811120612017

反编译使用Classloader加密的Java class(适合所有带虚拟机的语言)(一)

(看到这个 一 感觉肯定没好事发生)
众所周知,Java是一个实时编译型的语言,其编译后的产物,class文件也是Bytecode,字节码。
很容易被反编译工具反编译,而传统的Java源代码保护方法基本都是采用混淆的方式,
但这样会带来很多麻烦,而且也不能真正保护class文件。
于是,市面上出现了很多采用jni技术定制classloader调用经过加密的class来动态解密,运行class文件的加密器。
所以加密后的文件,根本就不是合法的class文件,自然目前大部分Java反编译器都无法反编译啦,所以也在一定程度上保证Java程序不被轻易逆向。

于是呢,就有了这篇文章

首先来分析下

从上面说的可以看出,经加密过的类字节码 其实已经不是[Java字节码]文件了,那么这样奇葩的二进制文件是怎么被java虚拟机成功加载的呢?
其实就是————>通过Java虚拟机所提供的参数,来设定解密程序(启动的时候需要指定): -agentlib:classloader.dll

简单的来讲,这个agentlib相当于给Java虚拟机做了一个‘Plugin’(插件),Java虚拟机在把Class字节码读入内存的时候,就会先尝试把Class字节码先交给这个Plugin处理再交给系统本身的Classloader(类装载器)加载、执行。
所以嘛,确定了一点:Java虚拟机把读到”奇怪的字节码”交给之前提到的加密器提供的classloader.dll,然后这个dll文件再将这段“奇怪的字节码”解密,然后把解密后的Bytecode再交给Java虚拟机来进行下一步,Java虚拟机就可以正常使用系统的Classloader加载这个类了。当然这个加密器的任务也就结束了。

可以看到,无论加密方式多么屌炸天,都在最后一个环节,[解密]上薄弱了,因为你不管怎么样,都要交给系统的Classloader来加载,也就是说,系统必须认得,既然系统认得了,那么自然在内存中的信息就是你想要的啦。

所以照这个思路下去,任何只要带虚拟机的语言,什么c#啦,什么python啦,什么什么的,都可以按照这个思想来反编译。

那么通用的,也是最简单的解密方法也出来了,酱酱酱酱—–
那就是:请听下回分解。(去尼玛,还下回分解,明明是想偷懒好不好,鬼知道你下回又是什么时候写了,看看你上一篇认真写的文章是什么时候发布的,喂,别走啊~)

一些随笔

也许真的是五月病的原因,最近心情一直很糟糕,我也不知道为什么。但是打心底有一股失落感和挫败感,挥之不去,我累了。

正文
这是在我之前推荐的一本书,看到非常不错的一段,特此记下来

指间的戒指不再闪亮

婚纱在衣柜早就尘封

我们的容颜都已慢慢的苍老

但那份心情,却依旧没有改变

感谢你带给我的每一天

正是因为你

我才有勇气说

“永远,永远”

“永远,永远”

最近发生的一些事

转眼就就到5月份了,说真的,时间总是过的这么快。明明之前还在想着2012世界末日,一转眼那就到2013年5月了。看着10年最后一次在QQ空间里更新的日志,回想起来,自己天天在说忙忙忙,但是真的没有在忙什么。最初计划好的PLAN,一个都没有完成,都是嘴上说说罢了。
我是一个拖延症晚期患者,什么事都可以拖,明明决定了要做的,但是却可以一直拖。真不知道有没有朋友给Ovear一点战胜拖延症的方法呢?
虽然说时间过的很快,但是事情还是经历了不少。不知道为什么,Ovear到这年龄了,中二病还依然这么严重?2月份开始,就没好过,这不5月份到了,以前从未出现过的5月病也在Ovear身上出现了。反正Ovear现在是什么事都不想做,就想睡觉,对自己的严重不满。以前倒也不是没出现过这种情况,但是都是睡一觉就好了,或者找方法转化为动力,比如说:正因为如此我才要努力的啊!
但是中二病和五月病一起来,Ovear真的很头痛。三次元生活真的变得一团糟了,也许是Ovear自身的适应调节能力比较弱的原因,也许是因为Ovear的性格问题。总之,Ovear感觉自己很失败,做什么事都做不好。。。只希望五月过去后症状能缓解一点。
扯玩这些蛋疼的,Ovear给大家推荐两本最近在看的书,Ovear认为挺不错的。
《内向者优势》《天才在左,疯子在右》
这两本书看起来还是挺有意思的。

那么作为结尾,Ovear就再中二一次吧,把以前不敢说的话都说出来。
————————以下内容严重中二——————————-
Warning 侦测到在途的中二打击!

其实Ovear在看天才在左,疯子在右的时候,偶尔还真会跟作者描写出的精神病人产生一些共鸣,我也不知道为什么。也许是中二的原因,也许是Ovear真的在三次元受到刺激了。不然Ovear怎么会天天躲在二次元的温室里面呢?
不过说真的,宅在家里真的不好,作为一个前辈,我必须告诉大家,千万不要长时间一个人对着电脑!!!!!千万不要!!!!!!
Ovear现在感觉自己严重不合群,跟别人根本找不到话题。表情也一直是无表情状态,虽然在网络上打着“哈哈”,“卧槽”,之类的词语,但是脸上的表情真的很少。如果你跟Ovear一样,那么Ovear强烈提醒你要注意了!
好了继续扯回来,Ovear为什么说会有共鸣呢?其实Ovear还真想过自己是这个世界的主角,Ovear很小的时候就在想,为什么自己会出生在这里,为什么偏偏是这个时间。之类的问题,到现在有时候也还在想,为什么是现在,不是以前,不是以后,不是未来?(Ovear有点语无伦次了。。。)但是Ovear真的就在想这些问题,每次想都可以向上很久,感觉非常有意思。我以前甚至认为,这个世界是虚构的,一闭上放眼这个世界就会消失,之类的问题,或者自己是这个世界的发条,只有自己存在,这个世界才会跟着运动。虽然非常中二,但是Ovear现在还是非常喜欢想这些问题的,大概也就是中二的妄想吧。
)喂,你没事吧,没有精神分裂前兆吧。。。。

好吧,就扯到这里了,这么晚了,Ovear的作业还没写完呢。。。另外,各位技术宅,ACG宅,Ovear求勾搭~~

各位我又回来了~

小朋友们,大家好,还记得我是谁么?对了,对了,对了,我就是为葛平配音的演员——超威蓝猫。
好了好了,不闹了~2333333。看看上一篇文章,已经过了差不多6个月的时间)喂,喂,你那上一篇文章分明就是转载的,坑谁呢?
嘛,三次元事情比较多,各种忙啊什么的,域名都要过期了,还不知道,真是的)分明是你懒B好不好,天天上线就聊天不写博客,玩游戏什么的。
我说。。。导演,能不能去掉画外音,好鬼烦的。
啥,问我去哪了,还能去哪,Ovear就是一个苦逼的学生仔啊,不上学还能干嘛。而且逛好最近中二期又来了,这玩意就像大姨妈一样,每个月总有那么几天,总会来的。
俗话也说得好嘛,没有中二的人生是不完整的嘛~)喂,喂,你不要在写博客的时候中二啊
导演!!!画外音不是去掉了么,为什么还会出现
回头看看,自己写博客也有差不多3 4年了,博客这个东西,真是个好东西。现在往回看看,还真的是一个不错的记忆,好啦~不看以前了,看现在~
Ovear最近其实也没怎么闲着,弄了个小电台http://atv.ac 大家也多来捧场哈~会定期更新的~
那么mina桑~今天我又正式回来了,为此我特意换了个新皮肤(你那还没开始做吧。。。),,希望大家喜欢~也希望大家多来这里做做客~好的~各位下篇博客再见~
PS:各位技术宅,各种宅,大神啊,弱B啊,求勾搭啊,Ovear已经严重跟这个时代脱节了~欢迎在留言区留下你的伊妹儿和Blog~Ovear非常期待你们的留言呢~
大家对Ovear的博客有什么建议也可以提出来呢~~

推荐科幻小说之——(三)《乡村教师》——孤独的进化

作者附言:
这篇小说同我以前的作品相比有一些变化,主要是不那么 “硬”了,重点放在营造意境上。不要被开头所迷惑,它不是你 想象的那种东西。我不敢说它的水准高到哪里去,但从中你将看 到中国科幻史上最离奇最不可思议的意境。

         ※       ※       ※

他知道,这最后一课要提前讲了。

又一阵剧痛从肝部袭来,几乎使他晕厥过去。他已没能气力 下床了,便艰难地移近床边的窗口。月光映在窗纸上,银亮亮的, 使小小的窗户看上去象是通向另一个世界的门,那个世界的一切 一定都是银亮亮的,象用银子和不冻人的雪做成的盒景。他颤颤 地抬起头,从窗纸的破洞中望出去,幻觉立刻消失了,他看到了 远处自己渡过了一生的村庄。

村庄静静地卧在月光下,象是百年前就没人似的。那些黄土 高原上特有的平顶小屋,形状上同村子周围的黄土包没啥区别, 在月夜中颜色也一样,整个村子仿佛已溶入这黄土坡之中。只有 村前那棵老槐树很清楚,树上干枯枝杈间的几个老鸦窝更是黑黑 的,象是滴在这暗银色画面上的几滴醒目的墨点……其 实村子也有美丽温暖的时候,比如秋收时,外面打工的男人女人 们大都回来了,村里有了人声和笑声,家家屋顶上是金灿灿的玉 米,打谷场上娃们在桔杆堆里打滚;再比如过年的时候,打谷场 被汽灯照得通亮,在那里连着几天闹红火,摇旱船,舞狮子。那 几个狮子只剩下卡嗒作响的木头脑壳,上面油漆都脱了,村里没 钱置新狮子皮,就用几张床单代替,玩得也挺高兴……

推荐科幻小说之——(二)《致命接触》——崩溃的星空

《致命接触》作者:[英] 史蒂芬·巴克斯特
  编者按:
  英国科幻作家史蒂芬·巴克斯特被誉为近二十年来最优秀的硬科幻作家之一。和许多硬科幻作家一样,他的科学底子十分扎实:拿过剑桥的数学学位,又在南安普顿大学拿过工程学位,此后长期从事数学、物理、信息工程方面的教学工作,还申请当宇航员,想亲自飞进太空!(可惜第一轮就被刷下来了。)
  软科幻常常依靠情感推动故事,而硬科幻大多以科学理论为情节动力。理工出身的巴克斯特尤擅此道。以《致命接触》为例,其设定在科幻小说中并不鲜见,但作者以现有的科学理论、猜想为基础,不仅实现了小说的“自洽”,而且富于张力,充分显示出科学理论本身的魅力。

推荐科幻小说之——(一)《镜子》——刘慈欣

随着探索的深入,人们发现量子效应只是物质之海表面的涟漪,是物质更深层规律扰动的影子。当这些规律渐渐明朗时,在量子力学中飘忽不定的实在图象再次稳定下来,确定值重新代替了概率,新的宇宙模型中,本认为已经消失了的因果链再次浮动并清晰起来。

第一章——追捕

办公室中竖立中竖立着国旗和党旗,宽大的办公桌旁有两个人。
“我知道首长很忙,但这件事必须汇报,说真的,我从来没遇到过这种事。”桌前一位身着二级警监警服的人说,他年近50,但身躯挺拔,脸上线条刚劲。
“继风啊,我清楚你最后这句话的分量,三十年的老刑侦了。”首长说,他说话的时候看着手中的一只缓缓转动的红蓝铅笔,仿佛专心评价削出的笔尖形状。大多数时间他都是这样将自己的目光隐藏起来,在过去的岁月中陈继风能记起来的首长直视自己不超过三次,每一次都是自己一生的关键时刻。
“每次采取行动之前目标总能逃脱,他肯定预先知道。”
“这事你不是没碰到过吧?”
“当然,要只是这个倒没什么,我们首先想到的就是内部问题。”
“你手下这套班子,不太可能。”
“是不可能。按您的吩咐,这个案子的参与范围已经压缩到最小,组里只有4个人,真正知道全部情况的人只有两个。不过我还是怕万一,就计划召集开一次会议,对参加人员逐个盘查。我让沈兵召集会议,您认识的,十一处很可靠的那个,宋诚的事就是他办的……但这时,邪门的事出现了……您,可别一位我是在胡扯,我下面说的决对是真的。”陈继风笑了笑,好象对自己的辩解很不好意思似的,“就在这时,他来了电话,我们的追捕目标给我来了电话!我在手机里听到他说:你们不用开这个会,你们没有内奸。而这个时刻,距我向沈兵说出开会的打算不到30秒!”
首长手中的铅笔停止了转动。
“您可能想到了窃听,但不可能,我们谈话提点是随意选的,在一个机关礼堂中央,礼堂里正在排演国庆大合唱,说话凑到耳根儿才能听清。后来这样的怪事连接发生,他给我们来过8次电话,每次都谈到我们刚说过的话或做过的事。最可怕的是,他不仅能听到一切,还能看到一切!有一次,沈兵决定对他父母家进行搜查,组里两个人刚起身,还没走出局里的办公室呢,就接到他的电话,他在电话里说:‘你们搜查证拿错了,我的父母都是细心人,可能以为你们是骗子呢。’沈兵掏出搜查证一看,首长,他真的拿错了。”
首长轻轻将铅笔放在桌上,沉默的等待陈继风继续说下去,但后者好象已经说不出什么了。首长拿出一枝烟,陈继风忙拍拍衣袋找打火机,但没有找到。
桌上两部电话中的一部响了。
“是他……”陈继风扫了一眼来电显示后低声说。首长沉着的示意了一下,他按下免提键,立刻有话音响起——声音听上去很年轻,有一种疲惫无力感:
“您的打火机放在公文包里。”
陈继风和首长对视了一下,拿起桌上的公文包翻找起来,一时找不到。
“夹在一份文件里了,就是那份关于城市户籍制度改革的文件。”目标在电话中说。
陈继风拿出那份文件,啪的一声,打火机掉到了桌面上。
“好东西,法国都彭牌的,两面各镶有30颗钻石,整体用钯金制成,价格……我查查,视三万九千九百六十元。”
首长没动,陈继风却打量了一下办公室,这不是首长的办公室,而是事先在大办公楼上任意选的一间。
目标在继续炫耀自己的力量:“首长,您那盒中华烟还剩五根,您上衣袋中的降血脂麦非奇罗片只剩一片了,再让秘书拿些吧。”
陈继风从桌上拿起烟盒,首长则从衣袋中掏出药的包装盒,都证实了目标所说准确无误。
“你们别再追捕我了,我现在也很难,不知道该怎么办。”目标继续说。
“我们能见面谈谈吗?”首长问。
“请您相信,那对我们双方都是一场灾难。”说完电话挂断了。
陈继风松了一口气,现在他的话得到了证实,而让首长认为他在胡扯,比这个对手的诡异更让人不安,“见了鬼了……”他摇摇头说。
“我不相信鬼,但看到了危险。”首长说,有生以来第四次,陈继风看到那双眼睛直视着自己。

博客访问速度全面升级啦

嘿嘿,搬家了,Ovear也不能偷懒啦,肯定是得发动终极奥义——二连发~

Ovear最近给网站调优的时候发现,国外wait时间过长会大大给访客体验打折扣,就是因为国外waiting时间过长,receiving时间也过长

相对于国内的20ms 100ms 300ms,国外的清一色的是800ms 900ms 1000ms,而且线路差的receiving还慢的要死。

所以Ovear就有一个想法,把这些静态资源重定向回国内,而又不使用80端口,这样既可以规避白名单\备案的问题 又可以享受到国内的服务器的速度,实现类似CDN的功能,简直是“一举三雕”啊!

于是乎,Ovear的博客就被Ovear当做第一个试验品啦,欢迎大家测试。

联动:http://www.90.cx/cdn-advance-notice/

联动2:诶?地址呢?什么,历史记录不见了。。。

博客复活记——解决Apache ServerName错误

今天Ovear把博客从单线浙江服务器迁移到河南景安”云”服务器

Ovear也不知道是不是真的云起来,别像之前盛大一样 是一朵乌云就不好了,优点就是BGP哈,缺点就是坑爹的尼玛才几M的宽带,不过Ovear也用不完哈.

然后就是装KLOXO啦,这玩意真的BUG比较多啊,Ovear折腾了半天,终于迁移过来了.刚迁过来还没神马事,准备上来码一篇文章的,发现blog后台白屏了.吓了Ovear一跳,什么情况,都是kloxo不应该啊。然后第一个想到的就是插件,难道是昨天删插件的时候删错了还是怎么回事,不过之前也没挂呢.

经过Ovear排查,出问题的竟然是大名鼎鼎的Akismet 插件,这可是Wordpress内置的插件 怎么可能这么不稳定呢.不过果然还是这个的问题,一启动Ovear的博客就白屏。这可不行啊,这个插件可是防御垃圾评论的最好插件呢,Ovear就准备深入(咳咳)下去,查查到底是怎么回事.

首先先把”wp-config.php”里面的debug打开,一进后台,我了个去这么多警告?仔细一看 是wordpress的警告

有一句错误最显眼

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in /home/*****/function.php(忘记了)

这不科学啊,内存怎么会不足呢,但是Ovear还是抱着试一试的信息 复原了这个文件,无效啊。然后就去百度了一番,看看怎么解决

然后一位博主就给出了以下解决方法,Ovear放出来给大家参考下.

因为Ovear使用的是Wordpress3.X,就放3.X的解决方法啦,2.X的(估计没人用了吧)就麻烦自己找一下哈.

首先 找到 WordPress根目录下 wp-includes/default-constants.php 这个文件

将原内容

function wp_initial_constants( ) {
	global $blog_id;

	// set memory limits
	if ( !defined('WP_MEMORY_LIMIT') ) {
		if( is_multisite() ) {
			define('WP_MEMORY_LIMIT', '64M');
		} else {
			define('WP_MEMORY_LIMIT', '32M');
		}
	}

改为

function wp_initial_constants( ) {
	global $blog_id;

	// set memory limits
	if ( !defined('WP_MEMORY_LIMIT') ) {
		if( is_multisite() ) {
			define('WP_MEMORY_LIMIT', '128M');
		} else {
			define('WP_MEMORY_LIMIT', '64M');
		}
	}

 

一般就可以解决了,

然后Ovear开始重启apache,却发现apache怎么都起不来了)RP太差了吧

apache提示以下错误

Starting httpd: httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

Starting httpd: [Wed Feb 04 21:18:16 2004] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.16.1.100 (check DNS) -- or specify an explicit ServerName

Ovear尝试了各种方法 都没办法解决,后来还是从老服务器里面考了一份hosts过来才解决
Ovear就在这跟大家分享下
首先
备份/etc/hosts的内容
然后记住自己的主机名
打开/etc/hosts
确定格式是

127.0.0.1 自己的主机名 localhost什么什么什么的

然后在下面加入

公网IP 域名 主机名

然后重启服务器就可以啦.