phpc.sinaapp.com见过的有2种加密;
- 一种是单文件加密,没有_inc.php文件
- 一种是含有_inc.php的加密方式
前几天在服务器上上发现了用phpc.sinaapp.com加密过的木马文件,就把文件拷了下来,百度了一些文章发现都没有什么用,于是只能自己动手去破解了
经过简单转换后可以发现如下函数
function fun003()
{
$var87='6f'.$var88.'6e'.$var89.'66'.$var90.'72'.$var91.'36'.$var92.'34'.$var93.''.$var94.'';
$var95='p'.$var96.'a'.$var97.''.$var98.''.$var99;
//[144][140][178]A[172][206]9[166]B[140][200][168][172][140][178]CB[238][170][144]A1[156][176][170][140]1[168][170][162][162]DB[140][162][142][170][162][180][164][172][140][140][162][146][183][136][215][157];
$var100='7'.$var101.'3'.$var102.'7'.$var103.'4'.$var104.'7'.$var105.'2'.$var106.'5'.$var107.'f'.$var108.''.$var109.'';
$var110='H'.$var111.'*';
//[144][140][170][144]A[172]B[176]AA0A[176]A[162]B[172][140][146][138][172][206][164][170]AA[216][168][172][216][154]DA[238]5[176][172]A[146][140]A1[138][144][174][243][171][130][164][219][217];
$var95.='c'.$var112.'k'.$var113.''.$var114.'';
//[144]A[198][158][174]1[162][146][170][238][178][158]A[238][154]B[176][140][138][150][170][172][156][174]B[162][138]CD[238]8DA[206]8[142][170]1[164][176][170][140][178][142][142][255][203][148][163][229][247][166][146];
$var87.='5f'.$var115.'71'.$var116.'72'.$var117.'70'.$var118.'62'.$var119.'71'.$var120.'72'.$var121.''.$var122.'';
//[144]A[198][160]A[172][170][142][170][162][178]C[176][140][238]C[170][172][156][172]A[162][198][138]A[216]1[172]D1[164][170]DA[154][140]BA[164][194][172][140][200][168][160][206][230][168][223][157][175][183][186][148][217][231][136];
$var100.='72'.$var123.'6f'.$var124.'74'.$var125.'31'.$var126.'33'.$var127.''.$var128.'';
$var129=$var95($var110,$var100);
$var65=$var129($var95($var110,$var87));
//[144][140][178][142][172][140][146][146][172][162][156][168][170][216]0[144][170][140][172][166]A1[146][138][172][162]4[142][172][216][162]C[172]1[198][156]A[172][180][174]B[162][148][164][171][223][194][228][146][207][227][220][226][134][193][218][172];
return$var65;
//[144][140][172][164][174][216][198][148][170][238][138][138][170][172]B[194][170][172][222]AD[162][200][164]C[172][230][144][172]A9[164]A[162][162][142]A[162][148][166]B[172]9[162][141][242][133][243][154][227][144][201][155];
}
把无关紧要的注释掉, 输出这个函数【echo fun003()】就是“base64_decode”
$var95 就是拼接的pack,中间穿插了很多没有定义的变量,只起到混淆作用
$var129 解密后是str_rot13;
base64_decode字符串 就是使用pack和str_rot13解密出来的;