현재 공유 라이브러리를 만들 때 동일한 객체 파일 내의 함수가 함께 거짓말을합니다. 함수 위치를 분리하여 퍼뜨리는 데 좋은 소스 파일을 포함하지 않는 좋은 해결책이 있습니까? 우리는 현재 gcc 및 gnu 도구의 4.2.1 버전을 크로스 컴파일 된 것으로 사용하고 있습니다.공유 라이브러리의 무작위 화 기능 등 위치
1
A
답변
0
GNU-ld 링커 스크립트를 사용하여 원하는대로 할 수 있지만 (GNU ld가 작동하는 플랫폼에있는 경우) 이식 할 수 없습니다.
또한, 완전히 쓸데없는 노력입니다. 소금을 소중하게 여기는 해커는 함수를 움직이는 데 신경을 쓰지 않을 것입니다. 코드를 리버스 엔지니어하는 데 (또는 라이센스 스키마를 무시하기 만하면) er을 열심히 만들고 싶다면 예를 들어 훨씬 더 강력한 기술을 사용해야합니다. here.
Arguably, 여전히 많은 노력이 필요합니다.
+0
감사합니다. 나는 크래커들과 싸우는 것이지는 싸움이라는 주장을 이해합니다. 즉,이를위한 추진 중 일부는 관리 중심이며 개발자가 주도하지는 않습니다. – vol
왜이 작업을 수행 하시겠습니까? – Nate
끔찍한만큼 안전합니다. 라이센싱 문제 등. 나는 서로의 바로 옆에있는 함수 A, B, C가 모두 관련된다는 점에서 공격자를 단서 짓지는 않을 것입니다. 아시다시피, 그것은 끔찍한 이유이며, 실제로 많이하지는 않지만, 조금이라도 도움이 될 수 있습니다. – vol