summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2021-10-19 11:31:44 +0300
committerluwenpeng <[email protected]>2021-10-28 15:44:26 +0300
commit02535d246767c0efedce5f99ce36d8fb1b18537c (patch)
treeaa241b14375484af606f710dfab7f4c740d576c3
parentc86d0fda0f73a704a5b5308940361c55f22b4d25 (diff)
TSG-8063 build-env基础镜像中增加对可执行程序/动态库加壳的功能
-rw-r--r--Dockerfile23
-rw-r--r--GEEDGE.hvc1
-rwxr-xr-xSentinel-LDK-8.0.1.tar.gzbin0 -> 236497362 bytes
-rw-r--r--aksusbd-8.23-1.x86_64.rpmbin0 -> 8839644 bytes
-rw-r--r--rebuildrpm_and_envelope.sh35
5 files changed, 56 insertions, 3 deletions
diff --git a/Dockerfile b/Dockerfile
index affc8b8..b39750b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,6 +6,10 @@ COPY CentOS-Base.repo /tmp/CentOS-Base.repo
COPY CentOS-SCLo-scl.repo /tmp/CentOS-SCLo-scl.repo
COPY netrc.conf /root/.netrc
COPY cmake /tmp/build_cmake
+COPY Sentinel-LDK-8.0.1.tar.gz /tmp/Sentinel-LDK-8.0.1.tar.gz
+COPY GEEDGE.hvc /tmp/GEEDGE.hvc
+COPY rebuildrpm_and_envelope.sh /root/rebuildrpm_and_envelope.sh
+COPY aksusbd-8.23-1.x86_64.rpm /tmp/aksusbd-8.23-1.x86_64.rpm
RUN rm -rf /etc/yum.repos.d/* && \
cp /tmp/*.repo /etc/yum.repos.d/ && \
@@ -13,14 +17,27 @@ RUN rm -rf /etc/yum.repos.d/* && \
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo && \
cd /tmp/build_cmake && \
tar xf cmake-3.12.4-Linux-x86_64.tar.gz && \
- cp -r cmake-3.12.4-Linux-x86_64/* /usr/local/ && \
- cp /usr/local/bin/cmake /usr/local/bin/cmake3 && \
+ cp -r cmake-3.12.4-Linux-x86_64/* /usr/local/ && \
+ cp /usr/local/bin/cmake /usr/local/bin/cmake3 && \
yum install -y python3-pip && \
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple httpie && \
- curl -sL https://sentry.io/get-cli/ |sed 's#downloads\.sentry-cdn\.com#npm\.taobao\.org\/mirrors#g'|bash && \
+ curl -sL https://sentry.io/get-cli/ |sed 's#downloads\.sentry-cdn\.com#npm\.taobao\.org\/mirrors#g'|bash && \
yum install -y devtoolset-7 devtoolset-7-libasan-devel && \
yum install -y libasan libasan4 && \
+ yum install -y rpmrebuild && \
+ mkdir -p /opt/VendorCodes/ && \
+ mv /tmp/GEEDGE.hvc /opt/VendorCodes/GEEDGE.hvc && \
+ mkdir -p /opt/Sentinel/ && \
+ tar xf /tmp/Sentinel-LDK-8.0.1.tar.gz -C /opt/Sentinel/ && \
+ yum localinstall -y /tmp/aksusbd-8.23-1.x86_64.rpm && \
+ chmod o+x /opt/Sentinel/Linux/VendorTools/Envelope/linuxenv && \
+ chmod o+x /root/rebuildrpm_and_envelope.sh && \
yum clean all && \
rm -rf /var/cache/yum
+ # 为二进制程序加壳示例
+ # in: 设置开发商文件
+ # in: 设置 feature_id
+ # /opt/Sentinel/Linux/VendorTools/Envelope/linuxenv -v:/opt/VendorCodes/GEEDGE.hvc -f:100 --msg-out:4 --debug --memdump --randomize:1 /opt/MESA/bin/minidump-2-core /opt/MESA/bin/minidump-2-core_protected
+
CMD [ "/bin/bash" ]
diff --git a/GEEDGE.hvc b/GEEDGE.hvc
new file mode 100644
index 0000000..0967977
--- /dev/null
+++ b/GEEDGE.hvc
@@ -0,0 +1 @@
+r2LBW6gbZPJWitRjL9om2fSlXP5TohlpU2NaI8Dmmzp/HMZ3RcqUiD6IV4EcdvTyiX2H8n1lfuTUzF/d5egHTVt38iSZ+tHkzyqJ2UOMPcJImshcOH2htvG1YwdjFWmUYg1hRTTr+7fiBhD4luQ53o33zzSEL513IPaF3U/yf2zScJruyyrQP2QOvQ1XhgIl5hF/1rEwjGgzNM8SQGlgqseM+Gh1ODFWlW7Squ8wj0qpxlEJYLVmFNtncLTg5ICpVUMhBnWRLP6cb7bzDLpRGQk3jPOco5pcfnG6SGsZO1GWhAhTti+uHIWQdxDjJj1l6t3LvR0mnZkKy7qcTyTL59/GfNRMyGV/6EYZrHpb0E+hmsbzItQf1aDOBd4mmUGpV+vn8Kg0KDpidGhSM2Xs12TiNcRU/y90UdJ/v6hpuoWsSR7jmh7NxEr3dpuK65SJZKVwtC8oz/yGlfAcFa9u0Uyl3csHglNFROuSnbMCVPquG5Eg1nvSorxAa86gPBvCiJp2ZeAZ95AKm/K994ei4XKpeDdWF1Uwjfv2xMwuPKAPIcAYTJFHdqSG2i98VKTtlPzT/q05ZHMH+mRLYN28VFXMo2xKSYJavUIOxUTy7GJvLTmYX9of3NyOVMHwI7AtoafRf9iVzHrf6fH91QmCADFFq0wqmH0DE4A5kSr9mKUUa0ddZheFgr/sHL003XmPvfeK+JLD9v+fFxhSqZBH7wc7UzjcDeHqngmLogCOe2NsJEZq7IGUT1WQEJpMoonMQY7e8YDU6V1m1zMbV8KEpPLt8q54KBXEP4OpJ7DMmaHNBZEB5EY/zD587iKsJNXm64d0vShQGDaoq0En1Ts36znjfMVqLkZX6jKSDZyF3EmZ3aUULwEG7gqwAH2OUV/3XCo5UUboxAtlxBLWI7TNnjzqQO31ON6ZORuVMECJSSZNkiCvb2TDOU0Bs92Mzel+NDmC0GhcGWzs7DAyznJA3Q== \ No newline at end of file
diff --git a/Sentinel-LDK-8.0.1.tar.gz b/Sentinel-LDK-8.0.1.tar.gz
new file mode 100755
index 0000000..087ca9d
--- /dev/null
+++ b/Sentinel-LDK-8.0.1.tar.gz
Binary files differ
diff --git a/aksusbd-8.23-1.x86_64.rpm b/aksusbd-8.23-1.x86_64.rpm
new file mode 100644
index 0000000..392efec
--- /dev/null
+++ b/aksusbd-8.23-1.x86_64.rpm
Binary files differ
diff --git a/rebuildrpm_and_envelope.sh b/rebuildrpm_and_envelope.sh
new file mode 100644
index 0000000..9004670
--- /dev/null
+++ b/rebuildrpm_and_envelope.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+RPM_FULL_PATH=$1
+BIN_TO_PROTECT=$2
+FEATURE_ID=$3
+
+RPM_DIR=`dirname $RPM_FULL_PATH`
+RPM_FILE=`basename $RPM_FULL_PATH`
+echo "RPM_FULL_PATH : $RPM_FULL_PATH"
+echo "RPM_FILE : $RPM_FILE"
+echo "RPM_DIR : $RPM_DIR"
+echo "BIN_TO_PROTECT : $BIN_TO_PROTECT"
+echo "FEATURE_ID : $FEATURE_ID"
+
+RPM_TYPE=`ls ${RPM_FILE} | awk -F '.rpm' '{print $1}'`
+REBUILD_DIR="/root/rpmbuild/"
+REBUILD_ROOT="${REBUILD_DIR}BUILDROOT/${RPM_TYPE}"
+REBUILD_SPECS="${REBUILD_DIR}SPECS/app.spec"
+REBUILD_UNPROTECT_BIN="${REBUILD_ROOT}${BIN_TO_PROTECT}"
+REBUILD_PROTECT_BIN="${REBUILD_UNPROTECT_BIN}_protected"
+
+rm -rf ${REBUILD_DIR}
+mkdir -p ${REBUILD_DIR}SPECS/
+mkdir -p ${REBUILD_ROOT}
+rpmrebuild -s ${REBUILD_SPECS} -p $RPM_FULL_PATH
+cd ${REBUILD_ROOT}
+rpm2cpio ${RPM_FULL_PATH} | cpio -dium
+
+/opt/Sentinel/Linux/VendorTools/Envelope/linuxenv -v:/opt/VendorCodes/GEEDGE.hvc -f:$FEATURE_ID --msg-out:4 --debug --memdump --randomize:1 ${REBUILD_UNPROTECT_BIN} ${REBUILD_PROTECT_BIN}
+echo "Envelope Bin: `md5sum ${REBUILD_PROTECT_BIN}`"
+mv ${REBUILD_PROTECT_BIN} ${REBUILD_UNPROTECT_BIN}
+rpmbuild -bb ${REBUILD_SPECS}
+
+mv ${REBUILD_DIR}RPMS/x86_64/${RPM_FILE} ${RPM_DIR}/envelope-${RPM_FILE}
+echo "Envelope RPM: ${RPM_DIR}/envelope-${RPM_FILE}"