Mq4 보호 방법.. - 페이지 4

 
mql 코드를 보호하려면 전문적인 솔루션이 필요합니다. 쉽지 않은 주제입니다. 이 모든 논의된 dll 항목은 코드를 보호하는 데 쓸모가 없습니다.
 

다음 사항을 고려한 적이 있습니까?

평소대로 MetaTrader를 실행하십시오. 지독하게 보호된 표시등을 로드하세요. 프로세스 덤핑 도구를 실행하고 terminal.exe 프로세스의 전체 메모리를 파일로 덤프합니다.

나는 이것을 시도하지 않았지만 저수준 프로그래밍(680x0 어셈블러, powerpc 등)에 대해 거의 30년의 지식을 가지고 있습니다.

행복한 사냥.

:)

 

좋아, 나는 이 스레드에 답장을 할 때 조금 서둘러서 몇 줄을 늘리고 싶었다. 실제 코드 보호와 같은 것은 존재하지 않습니다. 코드를 암호화, 이동, 회전, 복사 잠금할 수 있지만 결국에는 다시 알몸이 됩니다.

예를 들면: 예전에 나는 프로그램을 작성했고 코드의 시작과 끝 주소를 파일에 덤프했습니다. 코드 내부의 모든 점프는 상대 오프셋으로 설정되었고 코드(결국 일반 데이터임)는 1비트 회전되었습니다. 따라서 코드는 더 이상 존재하지 않습니다. 로더 부분을 코드에 추가하고 다시 회전을 해제하고 레이블의 주소를 다시 할당하도록 할 수 있습니다(일반적으로 덩어리에서 발견됨). 항목으로 이동하여 프로그램을 다시 실행합니다.

따라서 대다수의 사람들은 crypt(실행 파일)에서 레이블이나 기타 항목을 읽을 수 없기 때문에 프로그램이나 표시기가 잘 보호되어 있다고 믿을 것입니다. 마지막에 다시 보입니다. 일단 실행하고 프로세스(또는 프로그램)를 통해 실행하면 볼 수 있습니다.

원하는 만큼 절름발이, 코드 이동 및/또는 보호를 수행할 수 있습니다. 프로그램이 실행되면 대부분의 보호 기능이 다시 사라집니다(키 파일 또는 일련 번호와 같은 일부 예외는 제외).

따라서 지표에 대해서도 동일하다고 가정합니다. 그들은 예 컴파일됩니다. 바이너리인가요? 모르겠어. 바이트코드인가요? 나도 몰라. 그러나 일단 terminal.exe에서 실행하고 표시기에 대해 terminal.exe가 할당한 메모리 영역을 덤프하면 코드의 흔적을 얻을 수 있을 것이라고 확신합니다. 또는 유사).

*.mql4 파일에서와 같이 일종의 코드를 다시 얻을 수 있습니다. 아마 당신은하지 않습니다. 바이트코드를 얻을 수도 있고 아닐 수도 있습니다. 어쩌면 당신은 뭔가를 얻을 수 있습니다. 아마도 terminal.exe에는 metaeditor.exe에 의해 생성된 코드를 해석하여 terminal.exe가 이해할 수 있도록 자체 코드 해석기가 내부에 있을 수 있습니다. 전에 말했듯이 나는 그것을 시도하지 않았습니다.

내가 설명하고 싶은 것은 코드를 암호화하거나 보호하려는 경우 항상 한쪽에서 코드를 볼 수 없다는 것입니다(예: 메타에디터가 컴파일하고 일부 알 수 없는 코드로 덮은 ex4 파일. 다른 쪽에서도 참조하십시오. 당신이 그것을 실행하면, 당신의 보호된 코드는 다시 벗겨집니다. 그리고 이것은 그것에 손가락을 대는 부분 중 하나입니다. 작동할 수 있습니다. 안 됩니다.

실행 중인 코드의 시작 주소와 끝 주소를 덤핑하는 한 가지 부정적인 영향은 다음과 같습니다. 모든 것이 초기화됩니다. 배열은 값으로 채워지고 자리 표시자는 값 등을 가질 수 있습니다.

 

좋은 지적 알리. 감사해요.

메모리 덤프의 마이닝은 비용이 많이 드는 솔루션인 것 같습니다. 지금까지 유일한 저렴한 솔루션은 Metaquotes의 지식 누출에서 나왔습니다. 메모리 코드 마이닝이 가능한 누군가가 적은 노력으로 처음부터 MQL4를 직접 코딩할 수 있기를 바랍니다. 새로운 지식 누출이 값싼 디코더를 가능하게 하는 것처럼 보일 때까지 현재 안전하다고 느끼게 합니다. 그런 다음 계획 B가 옵니다. 디스어셈블된 코드를 변조하여 높은 비용을 들일 수 있는 방식으로 코딩합니다.