PHP 용 코드 난독 화 장치가 있습니까? [닫은]
PHP에 좋은 난독 화기를 사용한 사람이 있습니까? 나는 몇 가지를 시도했지만 그들은 큰 프로젝트에서 작동하지 않습니다. 예를 들어 한 파일에 포함되어 있고 다른 파일에 사용 된 변수는 처리 할 수 없습니다.
아니면 코드 확산을 막을 수있는 다른 방법이 있습니까?
PHP 코드를 난독 처리하는 무료 PHP 난독 화기 인 PHP protect 를
사용해 볼 수 있습니다
.
편집 :이 서비스는 더 이상 살지 않습니다.
매우 좋고 사용하기 쉽고 무료입니다.
혼란 스러울 수 있기 때문에 난독 화를 사용하지 않는 것에 대해 다른 사람들이 여기에 쓴 것에 관해서는 :
나는 대답 할 단 한 가지가 있습니다-누군가가 자물쇠를 집을 수 있기 때문에 집 문을 잠그지 마십시오.
이것은 정확히 그렇습니다. 난독 화는 100 % 코드 도난을 방지하기위한 것이 아닙니다. 시간이 많이 걸리는 작업 만하면되므로 원래 코더를 지불하는 것이 더 저렴합니다. 도움이 되었기를 바랍니다.
사람들은 난 독자를 제공하지만 난독 화로 인해 누군가가 귀하의 코드를 얻는 것을 막을 수는 없습니다. 없음 컴퓨터에서 실행할 수 있거나 영화와 음악의 경우 재생할 수있는 경우 컴퓨터를 사용할 수 있습니다. 기계 코드로 컴파일해도 작업이 조금 더 어려워집니다. 난 독자를 사용하면 자신을 속이는 것입니다. 게다가 사용자가 버그를 수정하거나 수정하지 못하도록 막고 있습니다.
음악 및 영화 회사는 아직이 용어에 동의하지 않았지만 여전히 DRM에 수백만 달러를 소비합니다.
PHP와 Perl과 같은 해석 된 언어에서는 사소합니다. 펄은 많은 코드 난독 화를 가지고 있었지만, 사소하게 디 컴파일 할 수 있다는 것을 깨달았습니다.
perl -MO=Deparse some_program
PHP에는 DeZender 및 Show My Code가 있습니다.
나의 충고? 면허를 작성하고 변호사를 구하십시오. 다른 옵션은 코드를 제공하지 않고 대신 호스팅 된 서비스를 실행하는 것입니다.
주제에 대한 perlfaq 항목 도 참조하십시오 .
완벽한 것은 없습니다. 프로그래머가 아닌 사람들을 막을 무언가를 원한다면 다음과 같이 쓸 수있는 작은 스크립트가 있습니다.
<?php
$infile=$_SERVER['argv'][1];
$outfile=$_SERVER['argv'][2];
if (!$infile || !$outfile) {
die("Usage: php {$_SERVER['argv'][0]} <input file> <output file>\n");
}
echo "Processing $infile to $outfile\n";
$data="ob_end_clean();?>";
$data.=php_strip_whitespace($infile);
// compress data
$data=gzcompress($data,9);
// encode in base64
$data=base64_encode($data);
// generate output text
$out='<?ob_start();$a=\''.$data.'\';eval(gzuncompress(base64_decode($a)));$v=ob_get_contents();ob_end_clean();?>';
// write output text
file_put_contents($outfile,$out);
해석 된 언어의 난독 화를 무의미하다고 레이블 할 수 있는지 확실하지 않습니다 (Schwern의 게시물에 주석을 추가 할 수 없으므로 여기에 새로운 항목이 있습니다).
누군가가 코드를 난독 화하려는 가능한 모든 시나리오를 알고 있다고 가정하면 약간 근시안적이라고 생각합니다. 누군가 코드를 난독 화하면 누군가가 필요한 길이로 실제로 기꺼이 갈 것이라고 가정합니다. 내 현재 시나리오를 고려하십시오.
크고 복잡한 PHP 기반 사이트를 개발하는 컨설팅 회사에서 일합니다. 이 프로젝트는 다른 컨설턴트가 개발 한 다른 사이트를 호스팅하는 클라이언트 서버에서 호스팅됩니다. 기술적으로 우리가 작성하는 코드는 클라이언트가 소유하므로 라이센스를 부여 할 수 없습니다. 그러나 서버에 대한 액세스 권한이있는 다른 컨설턴트 (경쟁 업체)는 먼저 클라이언트의 허가없이 코드를 복사 할 수 있습니다. 따라서 우리는 난독 화의 진정한 이유가 있습니다. 경쟁 업체가 작업의 사본을 처음부터 새로 만드는 노력보다 코드를 이해하는 데 필요한 노력을 기울이는 것입니다.
See our SD Thicket PHP Obfuscator for an obfuscator that works just fine with arbitrarily large sets of pages. It operates primarily by scrambling identifier names. With modest to large applications, this can make the code extremely difficult to understand, which is the entire purpose.
It doesn't waste any energy on "eval(decode(encodedprogramcode))" schemes, which a lot of PHP "obfuscators" do [these are "encoder"s, not "obfuscator"s], because any clod can find that call and execute the eval-decode himself and get the decoded code.
It uses a language-precise parser to process the PHP; it will tell you if your program is syntactically invalid. More importantly, it knows the whole language precisely; it won't get lost or confused, and it won't break your code (other that what happens if you obfuscate "incorrectly", e.g., fail to identify the public API of the code correctly).
Yes, it obfuscates identifiers identically across pages; if it didn't do that, the result wouldn't work.
The best I've seen is Zend Guard.
Try this one: http://www.pipsomania.com/best_php_obfuscator.do
Recently I wrote it in Java to obfuscate my PHP projects, because I didnt find any good and compatible ready written on the net, I decided to put it online as saas, so everyone use it free. It does not change variable names between different scripts for maximum compatibility, but is obfuscating them very good, with random logic, every instruction too. Strings... everything. I believe its much better then this buggy codeeclipse, that is by the way written in PHP and very slow :)
The PHP Obfuscator tool scrambles PHP source code to make it very difficult to understand or reverse-engineer (example). This provides significant protection for source code intellectual property that must be hosted on a website or shipped to a customer. It is a member of SD's family of Source Code Obfuscators.
Using SourceGuardian is good as it comes with a cool and easy to use GUI.
But be aware:
Pay attention to its -rather funny- licensing terms.
- You are only allowed to run 1 per machine -so far this is acceptable
- If you want to run the command line interface on another machine, say your web server, YOU WILL NEED ANOTHER LICENSE (Yes, it's funny and I can hear you laughing too).
Obfuscation is only adding another layer of potential bugs and security vulnerabilities to your program. Please don't do it.
The kind of people who write obfuscation software usually seem very sketchy and non-skilled anyway.
If your code is "great", crackers will go through great lengths to spread it, regardless of whether or not it is obfuscated. If nobody knows/cares about your code, they probably won't, either.
참고URL : https://stackoverflow.com/questions/232736/is-there-a-code-obfuscator-for-php
'IT story' 카테고리의 다른 글
PHP를 사용한 가장 간단한 양방향 암호화 (0) | 2020.05.01 |
---|---|
속성 서명에서 C #의 => 할당은 무엇입니까? (0) | 2020.05.01 |
자식 기록에서 특정 개정을 어떻게 제거합니까? (0) | 2020.05.01 |
전략 디자인 패턴과 상태 디자인 패턴의 차이점은 무엇입니까? (0) | 2020.05.01 |
matplotlib의 반전 컬러 맵 (0) | 2020.05.01 |