存档

2013年4月 的存档

WebQQ hash加密算法PHP版

2013年4月27日 4 条评论

由于最近QQ垃圾信息群发严重,官方选择将WebQQ部分功能实现细节方面做了点手脚。其中获取好友的POST值多了一个hash参数。
这个hash是在js里加密完成的。
以下是js源码

<script type="text/javascript">
function getHash(b, i) {
    for (var a = i + "password error",
    s = "", 
    j = [];;) if (s.length <= a.length) {                                                                                                        
        if (s += b, s.length == a.length) break
    } else {
        s = s.slice(0, a.length);
        break
    }   
    for (var d = 0; d < s.length; d++) j[d] = s.charCodeAt(d) ^ a.charCodeAt(d);
    a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
    s = ""; 
    for (d = 0; d < j.length; d++) s += a[j[d] >> 4 & 15],
    s += a[j[d] & 15];
    return s;
}
</script>

转成PHP版本处理,源码如下

4[......]

Read more

分类: JavaScript, PHP 标签: ,

基于WebQQ3.0协议写一个QQ机器人

2013年4月21日 12 条评论

一个偶然的机会,在某群看到一个类似QQ机器人的玩意在骚动,问那哥们回答说是JAVA写的,原来QQ还能这样玩儿。于是乎,我也就开始骚动了。Let’s go

1.WEBQQ3.0登陆协议

进入WEBQQ, http://web.qq.com/
通过工具分析,可以知道,用户在输入密码之前(也就是输入[......]

Read more

分类: PHP 标签: , ,

PHP检查模块是否存在以及显示版本相关信息

2013年4月19日 没有评论

如果你需要检查给定的PHP模块/扩展是否存在,下面一行代码就能派上用场,不需要使用phpinfo()。
检查现有的模块:

$ php -m | grep xdebug | wc -l
1

检查不存在的模块:

$ php -m | grep mongo | wc -l
0

[......]

Read more

分类: PHP 标签: ,

PHP获取函数的所在模块

2013年4月18日 没有评论

查看PHP函数的源代码时非常有用

#!/usr/bin/php
<?php
if (empty($argv[1])) exit("Must be defined in PHP function\n");
$function_name = $argv[1];
$extensions = get_loaded_extensions();
 
foreach ($extensions as $m)
{
	$func = get_extension_funcs($m);
	if( ! is_array($func)) continue;
	if (in_array($name, $func))
	{
		printf("%s was defined in Module: %s\n", $name, $m);
		exit;
	}
}
echo "This function is not found.\n";
 
/* End of file get_function.php */

用法:./get_function.php function_name

分类: PHP 标签: ,

PHP pcntl_fork 多进程下载网页图片

2013年4月17日 没有评论

pcntl_fork — 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程号,而子进程得到的是0。

4d927491492d25a390509194ebc0ad72014[......]

Read more

分类: PHP 标签: , ,

JavaScript操作JSON总结

2013年4月5日 没有评论

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
本文主要对[......]

Read more

分类: JavaScript 标签: ,

shell脚本实现ssh自动登陆

2013年4月2日 没有评论

必要软件包:expect
ssh连接远程主机时候会询问密码,跟su、sudo命令的默认行为一样,是不从stdin读入数据的,传说是为安全考虑,但是有时候在脚本当中确实需要无人守值的登陆。
搜索一下不难找到类似的例子,使用expect来完成密码应答:

4d927491492d25a3905091[......]

Read more

分类: Linux 标签: ,