多維能用數(shù)字使用加密加密加強(qiáng)混淆和還原的思路
2021-07-27
曾經(jīng),作者也是一名中青年商業(yè)軟件開發(fā)者。該軟件總是被別人破解,所以我花了幾個月的時間研究它。這套項目也已經(jīng)有償提供給了很多人,不過網(wǎng)上的破解應(yīng)該不少。該項目的主要目的是為大家提供一個加密混亂和恢復(fù)的想法。 // 嚴(yán)禁用于非法用途。
加密效果
如何使用
'./.php';
$ = (
//混淆方法名 1=字母混淆 2=亂碼混淆
'ob_function' => 2,
//混淆函數(shù)產(chǎn)生變量最大長度
'ob_function_length' => 3,
//混淆函數(shù)調(diào)用 1=混淆 0=不混淆 或者 array('eval', 'strpos') 為混淆指定方法
'ob_call' => 1,
//隨機(jī)插入亂碼
'insert_mess' => 0,
//混淆函數(shù)調(diào)用變量產(chǎn)生模式 1=字母混淆 2=亂碼混淆
'encode_call' => 2,
//混淆class
'ob_class' => 0,
//混淆變量 方法參數(shù) 1=字母混淆 2=亂碼混淆
'encode_var' => 2,
//混淆變量最大長度
'encode_var_length' => 5,
//混淆字符串常量 1=字母混淆 2=亂碼混淆
'encode_str' => 2,
//混淆字符串常量變量最大長度
'encode_str_length' => 3,
// 混淆html 1=混淆 0=不混淆
'encode_html' => 2,
// 混淆數(shù)字 1=混淆為0x00a 0=不混淆
'encode_number' => 1,
// 混淆的字符串 以 gzencode 形式壓縮 1=壓縮 0=不壓縮
'encode_gz' => 0,
// 加換行(增加可閱讀性)
'new_line' => 1,
// 移除注釋 1=移除 0=保留
'remove_comment' => 1,
// debug
'debug' => 1,
// 重復(fù)加密次數(shù),加密次數(shù)越多反編譯可能性越小,但性能會成倍降低
'deep' => 1,
// PHP 版本
'php' => 7,
);
$file ='/1.php';
$='/2.php';
($file, $, $);
回歸測試腳本:
你可以把要測試的代碼放進(jìn)去php 代碼混淆,然后運(yùn)行命令:
php .php
程序會自動進(jìn)行回歸測試,我也在里面放了一些要測試的腳本
附言
本來也實現(xiàn)了goto+xor的變種,但是兼容性和性能有點(diǎn)差,等有時間有精力再研究一下...
一些注意事項
如何讓加密更強(qiáng)大?
盡量將全局邏輯轉(zhuǎn)為類方法,類加密會有更好的加密混淆效果
對于變量的初始化php 代碼混淆,請放在()方法中
對于多維數(shù)組,盡量使用數(shù)字。
使用注解加密增強(qiáng)混淆強(qiáng)度
混淆類名時,代碼一定要順序:
我{
function init($a, $b);
}
ii i {
// PHP 中繼承的參數(shù)名可以不一樣
function init($b, $c) {
echo $b, $c;
}
}
一個{
class b{
}
# 正確
$b = new \a\b();
# 錯誤
#$b = new b():
}
使用注釋語法加密字符串(支持字符串+數(shù)字):
//格式://第二次混淆的內(nèi)容//
$a = //"明文數(shù)據(jù) 1"http://;
echo //2//;
(//"明文數(shù)據(jù)3"http://);
使用注釋語法刪除代碼:
回聲1;
回聲2;
回聲3;
//格式://要隱藏的代碼//