컴파일 전 소스 코드 보호 - 페이지 7

 
pako :
너는 대답하지 않았어
이 주제가 해킹에 관한 것이 아니라 반대로 개발자를 위한 추가 보호를 위해 만들어졌으며 동적 암호화 알고리즘 테스트가 포함된다는 점을 모든 사람이 고려하도록 하는 큰 요청입니다.
 
Vladimir Pastushak :

불행히도 귀하의 암호화기는 어떤 이점도 제공하지 않으며 MT4 및 MT 5 터미널 개발자는 이미 최대 이점을 제공했습니다.

+1

블라디미르 파투샤크 :

나는 정말로 정말로 강한 것을보고 싶지만.

제외된

 
Pavel Izosimov :
이 주제가 해킹에 관한 것이 아니라 반대로 개발자를 위한 추가 보호를 위해 만들어졌으며 동적 암호화 알고리즘 테스트가 포함된다는 점을 모든 사람이 고려하도록 하는 큰 요청입니다.
아무것도에 대해
 
Pavel Izosimov :
이 주제가 해킹에 관한 것이 아니라 반대로 개발자를 위한 추가 보호를 위해 만들어졌으며 동적 암호화 알고리즘 테스트가 포함된다는 점을 모든 사람이 고려하도록 하는 큰 요청입니다.
불행히도 난독화된 코드의 결과에 따르면 다음 트릭을 사용하고 있는지 명확하지 않습니다.

1) 함수의 본문은 여러 부분으로 나뉩니다(실행 흐름 분석이 필요함).
 // для примера

void func()
  {
   // часть #1
   // декларация переменных 

   // часть #2
   // инициализация цикла

   // часть #3
   // тело цикла

   // часть #4
   // инкременты цикла

   // часть #5
   // выход из функции
  }
2) 전역 배열 ExecutePath가 선언되고 일부 값으로 초기화됩니다.
3) 함수 본문을 ExecutePath 배열의 스위치가 있는 주기로 바꿉니다.
4) 결과:
ExecutePath[]={ PART_3,PART_2,PART_1,PART_4, PART_N };

void func()
  {
   for ( int i= 0 ;;i++)
     {
       switch (ExecutePath[i])
        {
         case PART_3:
             // выполняем часть 1 нашей функции

         ...
  
         case PART_N:
             // выполняем часть N нашей функции


           case PART_RET:
             // выполняем часть с кодом выхода из нашей функции
        }
     }
  }

5) 블록에 추가하여 원래 기능, 스위치에 코드가 있는 블록이 생성되며, 그 실행은 절대 도달하지 않습니다.
 
Ilyas :
불행히도 난독화된 코드의 결과에 따르면 다음 트릭을 사용하고 있는지 명확하지 않습니다.

1) 함수의 본문은 여러 부분으로 나뉩니다(실행 흐름 분석이 필요함).
2) 전역 배열 ExecutePath가 선언되고 일부 값으로 초기화됩니다.
3) 함수 본문을 ExecutePath 배열의 스위치가 있는 사이클로 교체합니다.
4) 결과:
5) 블록에 추가하여 원래 기능, 스위치에 코드가 있는 블록이 생성되며, 그 실행은 절대 도달하지 않습니다.
저와 이 프로젝트의 구현에 관련된 개발자 팀의 리더는 우리 주제에 대한 실용적인 접근 방식에 대해 진심으로 감사드립니다!

귀하가 제안한 유용한 트릭은 다른 칩과 함께 다음 수준의 보호 수정 계획에 있습니다.

잘 아시다시피 사용된 알고리즘의 전체 목록을 공개할 수는 없지만 초기 난독화 코드의 결과에 따르면 사용된 것이 더 이상 명확하지 않다는 사실은 기뻐하지 않을 수 없습니다. :)
 
Pavel Izosimov :

이고르, 좋은 오후!

필요한 모든 정보, 파일의 몇 가지 예, 기본 소스에 대한 직접 링크는 이 주제의 맨 처음에 MQL 관리자 Renat에게 제공되었습니다.

호기심을 보이는 사람과 동료의 슬픔을 공유할 계획이 없기 때문입니다. 우리가 표시한 리소스는 여전히 갓 해킹된 수많은 제품으로 가득 차 있습니다.

우리는 동료를 존중하며 그들의 제품을 불법적으로 배포하지 않을 것입니다!

우리는 또한 Metatrader 터미널의 개발자를 존경하며, 그들이 요청에 따라 코드를 보호하고 필요한 모든 정보를 제공하기 위해 많은 일을 한다고 믿습니다.

이 주제가 해킹에 관한 것이 아니라 반대로 개발자를 위한 추가 보호를 위해 만들어졌으며 동적 암호화 알고리즘 테스트가 포함된다는 점을 모든 사람이 고려하도록 하는 큰 요청입니다.

제품을 보호하려면 해커가 사용하는 방법을 알아야 합니다. 나는 당신 자신이 어딘가에서 찾은 방법을 공유하도록 요청하는 것이 아니라 이미 공개적으로 전시된 방법만 공유하도록 요청합니다. 결국, 당신에 따르면 강도는 공개적으로 행동했습니다. 이것은 이 정보가 이미 네트워크에 있으며 귀하는 어떤 비밀의 확산에도 기여하지 않을 것임을 의미합니다. 게다가 난독화기에서 논의 중인 해커의 방법을 이미 고려했습니다.

결국 링크를 공유하면 여기에서 말하는 모든 것에 무게를 실을 수 있습니다.

해커가 아니라 개발자로서 관심이 있습니다. 다른 사람의 프로그램을 해킹하는 길은 절대 가지 않을 것입니다. 왜냐하면 이것은 파괴적인 길이기 때문입니다. 발전과 반대되는 방향으로 나아가고 있습니다.

 
Игорь Герасько :

제품을 보호하려면 해커가 사용하는 방법을 알아야 합니다. 나는 당신 자신이 어딘가에서 찾은 방법을 공유하도록 요청하는 것이 아니라 이미 공개적으로 전시된 방법만 공유하도록 요청합니다. 결국, 당신에 따르면 강도는 공개적으로 행동했습니다. 이것은 이 정보가 이미 네트워크에 있으며 귀하는 어떤 비밀의 확산에도 기여하지 않을 것임을 의미합니다. 게다가 난독화기에서 논의 중인 해커의 방법을 이미 고려했습니다.

결국 링크를 공유하면 여기에서 말하는 모든 것에 무게를 실을 수 있습니다.

Igor, 내가 당신을 화나게하고 싶다고 생각하지 마십시오. 그러나 우리는 무게가 필요하지 않습니다. 우리는 우리 자신의 실제 사용을 위해 그것을하고 많은 개발자에게 유용 할 것이라고 확신합니다.

우리는 아무 것도 설득하지 않고 누군가가 무언가를 원하지 않는 것처럼 단순히 작업을 수행합니다.

똑똑한 사람들은 그러한 결정을 비판하는 것이 나중에 그 결정으로 고통을 받아야 하는 사람들, 즉 "바리케이드"의 반대편에 있는 사람들의 이익을 위한 것임을 이해합니다. "해킹" 전문가

우리 쪽에서는 가능한 모든 것을 시도하여 그들에게 속하지 않은 것을 부수는 것이 "불편한" 것이 되도록 할 것입니다. :)

 
Pavel Izosimov :

Igor, 내가 당신을 화나게하고 싶다고 생각하지 마십시오. 그러나 우리는 무게가 필요하지 않습니다. 우리는 우리 자신의 실제 사용을 위해 그것을하고 많은 개발자에게 유용 할 것이라고 확신합니다.

우리는 아무 것도 설득하지 않고 누군가가 무언가를 원하지 않는 것처럼 단순히 작업을 수행합니다.

똑똑한 사람들은 그러한 결정을 비판하는 것이 나중에 그 결정으로 고통을 받아야 하는 사람들, 즉 "바리케이드"의 반대편에 있는 사람들의 이익을 위한 것임을 이해합니다. "해킹" 전문가

우리 쪽에서는 가능한 모든 것을 시도하여 그들에게 속하지 않은 것을 부수는 것이 "불편한" 것이 되도록 할 것입니다. :)

어떻게 ? 나는 시장에서 퍼블리싱하는 개발자입니다. 이것이 나에게 어떤 도움이 될까요?
 
Игорь Герасько :

다른 사람의 프로그램을 해킹하는 길은 절대 가지 않을 것입니다. 이것은 파괴적인 길이기 때문입니다. 발전과 반대되는 방향으로 나아가고 있습니다.

절대 말하지마
 
Vladimir Pastushak :
어떻게 ? 나는 시장에서 퍼블리싱하는 개발자입니다. 이것이 나에게 어떤 도움이 될까요?

우리는 또한 시장에 출판하지만 시장을 통해 모든 것을 출판하는 것이 항상 적절한 것은 아닙니다.

예를 들어, 최종 제품을 게시하기 전에 네트워크에서 개발에 대한 공개 테스트를 조직하고 시험판을 발행하며 우리와 협력하는 사용자의 특정 계정에 라이선스를 부여합니다.

또는 예를 들어 특정 사용자 그룹에 대한 제품을 만듭니다.

시장을 통해 출판하는 것이 적절하지 않은 경우가 모두 그런 것은 아닙니다.