hane 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/README.md +32 -0
  2. package/binding.gyp +87 -0
  3. package/dist/index.d.ts +34 -0
  4. package/dist/index.js +1 -0
  5. package/package.json +33 -0
  6. package/src/native/addon.cc +231 -0
  7. package/src/native/zsign_driver.cc +87 -0
  8. package/src/native/zsign_driver.h +38 -0
  9. package/vendor/zlib/.cmake-format.yaml +245 -0
  10. package/vendor/zlib/.github/workflows/c-std.yml +230 -0
  11. package/vendor/zlib/.github/workflows/cmake.yml +112 -0
  12. package/vendor/zlib/.github/workflows/configure.yml +136 -0
  13. package/vendor/zlib/.github/workflows/fuzz.yml +25 -0
  14. package/vendor/zlib/.github/workflows/msys-cygwin.yml +77 -0
  15. package/vendor/zlib/BUILD.bazel +134 -0
  16. package/vendor/zlib/CMakeLists.txt +330 -0
  17. package/vendor/zlib/ChangeLog +1621 -0
  18. package/vendor/zlib/FAQ +367 -0
  19. package/vendor/zlib/INDEX +68 -0
  20. package/vendor/zlib/LICENSE +22 -0
  21. package/vendor/zlib/MODULE.bazel +9 -0
  22. package/vendor/zlib/Makefile.in +419 -0
  23. package/vendor/zlib/README +115 -0
  24. package/vendor/zlib/README-cmake.md +83 -0
  25. package/vendor/zlib/adler32.c +164 -0
  26. package/vendor/zlib/amiga/Makefile.pup +69 -0
  27. package/vendor/zlib/amiga/Makefile.sas +68 -0
  28. package/vendor/zlib/compress.c +75 -0
  29. package/vendor/zlib/configure +966 -0
  30. package/vendor/zlib/contrib/README.contrib +57 -0
  31. package/vendor/zlib/contrib/ada/buffer_demo.adb +106 -0
  32. package/vendor/zlib/contrib/ada/mtest.adb +156 -0
  33. package/vendor/zlib/contrib/ada/read.adb +156 -0
  34. package/vendor/zlib/contrib/ada/readme.txt +65 -0
  35. package/vendor/zlib/contrib/ada/test.adb +463 -0
  36. package/vendor/zlib/contrib/ada/zlib-streams.adb +225 -0
  37. package/vendor/zlib/contrib/ada/zlib-streams.ads +114 -0
  38. package/vendor/zlib/contrib/ada/zlib-thin.adb +142 -0
  39. package/vendor/zlib/contrib/ada/zlib-thin.ads +450 -0
  40. package/vendor/zlib/contrib/ada/zlib.adb +701 -0
  41. package/vendor/zlib/contrib/ada/zlib.ads +328 -0
  42. package/vendor/zlib/contrib/ada/zlib.gpr +20 -0
  43. package/vendor/zlib/contrib/blast/Makefile +8 -0
  44. package/vendor/zlib/contrib/blast/README +4 -0
  45. package/vendor/zlib/contrib/blast/blast.c +466 -0
  46. package/vendor/zlib/contrib/blast/blast.h +83 -0
  47. package/vendor/zlib/contrib/blast/test.pk +0 -0
  48. package/vendor/zlib/contrib/blast/test.txt +1 -0
  49. package/vendor/zlib/contrib/delphi/ZLib.pas +557 -0
  50. package/vendor/zlib/contrib/delphi/ZLibConst.pas +11 -0
  51. package/vendor/zlib/contrib/delphi/readme.txt +76 -0
  52. package/vendor/zlib/contrib/delphi/zlibd32.mak +99 -0
  53. package/vendor/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
  54. package/vendor/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
  55. package/vendor/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
  56. package/vendor/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
  57. package/vendor/zlib/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
  58. package/vendor/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
  59. package/vendor/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
  60. package/vendor/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
  61. package/vendor/zlib/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
  62. package/vendor/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
  63. package/vendor/zlib/contrib/dotzlib/DotZLib.build +33 -0
  64. package/vendor/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  65. package/vendor/zlib/contrib/dotzlib/DotZLib.sln +21 -0
  66. package/vendor/zlib/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  67. package/vendor/zlib/contrib/dotzlib/readme.txt +58 -0
  68. package/vendor/zlib/contrib/gcc_gvmat64/gvmat64.S +574 -0
  69. package/vendor/zlib/contrib/infback9/README +1 -0
  70. package/vendor/zlib/contrib/infback9/infback9.c +603 -0
  71. package/vendor/zlib/contrib/infback9/infback9.h +37 -0
  72. package/vendor/zlib/contrib/infback9/inffix9.h +107 -0
  73. package/vendor/zlib/contrib/infback9/inflate9.h +47 -0
  74. package/vendor/zlib/contrib/infback9/inftree9.c +319 -0
  75. package/vendor/zlib/contrib/infback9/inftree9.h +61 -0
  76. package/vendor/zlib/contrib/iostream/test.cpp +24 -0
  77. package/vendor/zlib/contrib/iostream/zfstream.cpp +329 -0
  78. package/vendor/zlib/contrib/iostream/zfstream.h +128 -0
  79. package/vendor/zlib/contrib/iostream2/zstream.h +307 -0
  80. package/vendor/zlib/contrib/iostream2/zstream_test.cpp +25 -0
  81. package/vendor/zlib/contrib/iostream3/README +35 -0
  82. package/vendor/zlib/contrib/iostream3/TODO +17 -0
  83. package/vendor/zlib/contrib/iostream3/test.cc +50 -0
  84. package/vendor/zlib/contrib/iostream3/zfstream.cc +479 -0
  85. package/vendor/zlib/contrib/iostream3/zfstream.h +466 -0
  86. package/vendor/zlib/contrib/minizip/CMakeLists.txt +380 -0
  87. package/vendor/zlib/contrib/minizip/Makefile +37 -0
  88. package/vendor/zlib/contrib/minizip/Makefile.am +45 -0
  89. package/vendor/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -0
  90. package/vendor/zlib/contrib/minizip/MiniZip64_info.txt +74 -0
  91. package/vendor/zlib/contrib/minizip/configure.ac +32 -0
  92. package/vendor/zlib/contrib/minizip/crypt.h +128 -0
  93. package/vendor/zlib/contrib/minizip/ints.h +57 -0
  94. package/vendor/zlib/contrib/minizip/ioapi.c +231 -0
  95. package/vendor/zlib/contrib/minizip/ioapi.h +183 -0
  96. package/vendor/zlib/contrib/minizip/iowin32.c +448 -0
  97. package/vendor/zlib/contrib/minizip/iowin32.h +28 -0
  98. package/vendor/zlib/contrib/minizip/make_vms.com +25 -0
  99. package/vendor/zlib/contrib/minizip/miniunz.c +647 -0
  100. package/vendor/zlib/contrib/minizip/miniunzip.1 +63 -0
  101. package/vendor/zlib/contrib/minizip/minizip.1 +46 -0
  102. package/vendor/zlib/contrib/minizip/minizip.c +512 -0
  103. package/vendor/zlib/contrib/minizip/minizip.pc.in +12 -0
  104. package/vendor/zlib/contrib/minizip/minizip.pc.txt +13 -0
  105. package/vendor/zlib/contrib/minizip/minizipConfig.cmake.in +35 -0
  106. package/vendor/zlib/contrib/minizip/mztools.c +288 -0
  107. package/vendor/zlib/contrib/minizip/mztools.h +37 -0
  108. package/vendor/zlib/contrib/minizip/skipset.h +361 -0
  109. package/vendor/zlib/contrib/minizip/test/CMakeLists.txt +121 -0
  110. package/vendor/zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +29 -0
  111. package/vendor/zlib/contrib/minizip/test/add_subdirectory_test.cmake.in +28 -0
  112. package/vendor/zlib/contrib/minizip/test/find_package_test.cmake.in +25 -0
  113. package/vendor/zlib/contrib/minizip/test/test_helper.cm +32 -0
  114. package/vendor/zlib/contrib/minizip/unzip.c +1981 -0
  115. package/vendor/zlib/contrib/minizip/unzip.h +441 -0
  116. package/vendor/zlib/contrib/minizip/zip.c +2199 -0
  117. package/vendor/zlib/contrib/minizip/zip.h +370 -0
  118. package/vendor/zlib/contrib/nuget/nuget.csproj +43 -0
  119. package/vendor/zlib/contrib/nuget/nuget.sln +22 -0
  120. package/vendor/zlib/contrib/pascal/example.pas +599 -0
  121. package/vendor/zlib/contrib/pascal/readme.txt +76 -0
  122. package/vendor/zlib/contrib/pascal/zlibd32.mak +99 -0
  123. package/vendor/zlib/contrib/pascal/zlibpas.pas +276 -0
  124. package/vendor/zlib/contrib/puff/Makefile +42 -0
  125. package/vendor/zlib/contrib/puff/README +63 -0
  126. package/vendor/zlib/contrib/puff/puff.c +840 -0
  127. package/vendor/zlib/contrib/puff/puff.h +35 -0
  128. package/vendor/zlib/contrib/puff/pufftest.c +169 -0
  129. package/vendor/zlib/contrib/puff/zeros.raw +0 -0
  130. package/vendor/zlib/contrib/testzlib/testzlib.c +275 -0
  131. package/vendor/zlib/contrib/testzlib/testzlib.txt +10 -0
  132. package/vendor/zlib/contrib/untgz/Makefile +14 -0
  133. package/vendor/zlib/contrib/untgz/Makefile.msc +17 -0
  134. package/vendor/zlib/contrib/untgz/untgz.c +667 -0
  135. package/vendor/zlib/contrib/vstudio/readme.txt +81 -0
  136. package/vendor/zlib/contrib/vstudio/vc10/miniunz.vcxproj +310 -0
  137. package/vendor/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters +22 -0
  138. package/vendor/zlib/contrib/vstudio/vc10/minizip.vcxproj +307 -0
  139. package/vendor/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters +22 -0
  140. package/vendor/zlib/contrib/vstudio/vc10/testzlib.vcxproj +412 -0
  141. package/vendor/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters +55 -0
  142. package/vendor/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj +310 -0
  143. package/vendor/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters +22 -0
  144. package/vendor/zlib/contrib/vstudio/vc10/zlib.rc +32 -0
  145. package/vendor/zlib/contrib/vstudio/vc10/zlibstat.vcxproj +449 -0
  146. package/vendor/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters +74 -0
  147. package/vendor/zlib/contrib/vstudio/vc10/zlibvc.def +161 -0
  148. package/vendor/zlib/contrib/vstudio/vc10/zlibvc.sln +135 -0
  149. package/vendor/zlib/contrib/vstudio/vc10/zlibvc.vcxproj +633 -0
  150. package/vendor/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters +115 -0
  151. package/vendor/zlib/contrib/vstudio/vc11/miniunz.vcxproj +314 -0
  152. package/vendor/zlib/contrib/vstudio/vc11/minizip.vcxproj +311 -0
  153. package/vendor/zlib/contrib/vstudio/vc11/testzlib.vcxproj +418 -0
  154. package/vendor/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj +314 -0
  155. package/vendor/zlib/contrib/vstudio/vc11/zlib.rc +32 -0
  156. package/vendor/zlib/contrib/vstudio/vc11/zlibstat.vcxproj +456 -0
  157. package/vendor/zlib/contrib/vstudio/vc11/zlibvc.def +161 -0
  158. package/vendor/zlib/contrib/vstudio/vc11/zlibvc.sln +117 -0
  159. package/vendor/zlib/contrib/vstudio/vc11/zlibvc.vcxproj +664 -0
  160. package/vendor/zlib/contrib/vstudio/vc12/miniunz.vcxproj +316 -0
  161. package/vendor/zlib/contrib/vstudio/vc12/minizip.vcxproj +313 -0
  162. package/vendor/zlib/contrib/vstudio/vc12/testzlib.vcxproj +422 -0
  163. package/vendor/zlib/contrib/vstudio/vc12/testzlibdll.vcxproj +316 -0
  164. package/vendor/zlib/contrib/vstudio/vc12/zlib.rc +32 -0
  165. package/vendor/zlib/contrib/vstudio/vc12/zlibstat.vcxproj +459 -0
  166. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.def +161 -0
  167. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.sln +119 -0
  168. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.vcxproj +668 -0
  169. package/vendor/zlib/contrib/vstudio/vc14/miniunz.vcxproj +316 -0
  170. package/vendor/zlib/contrib/vstudio/vc14/minizip.vcxproj +313 -0
  171. package/vendor/zlib/contrib/vstudio/vc14/testzlib.vcxproj +422 -0
  172. package/vendor/zlib/contrib/vstudio/vc14/testzlibdll.vcxproj +316 -0
  173. package/vendor/zlib/contrib/vstudio/vc14/zlib.rc +32 -0
  174. package/vendor/zlib/contrib/vstudio/vc14/zlibstat.vcxproj +459 -0
  175. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.def +161 -0
  176. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.sln +119 -0
  177. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.vcxproj +668 -0
  178. package/vendor/zlib/contrib/vstudio/vc17/miniunz.vcxproj +409 -0
  179. package/vendor/zlib/contrib/vstudio/vc17/minizip.vcxproj +405 -0
  180. package/vendor/zlib/contrib/vstudio/vc17/testzlib.vcxproj +473 -0
  181. package/vendor/zlib/contrib/vstudio/vc17/testzlibdll.vcxproj +409 -0
  182. package/vendor/zlib/contrib/vstudio/vc17/zlib.rc +32 -0
  183. package/vendor/zlib/contrib/vstudio/vc17/zlibstat.vcxproj +602 -0
  184. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.def +161 -0
  185. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.sln +179 -0
  186. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.vcxproj +875 -0
  187. package/vendor/zlib/contrib/vstudio/vc9/miniunz.vcproj +565 -0
  188. package/vendor/zlib/contrib/vstudio/vc9/minizip.vcproj +562 -0
  189. package/vendor/zlib/contrib/vstudio/vc9/testzlib.vcproj +796 -0
  190. package/vendor/zlib/contrib/vstudio/vc9/testzlibdll.vcproj +565 -0
  191. package/vendor/zlib/contrib/vstudio/vc9/zlib.rc +32 -0
  192. package/vendor/zlib/contrib/vstudio/vc9/zlibstat.vcproj +781 -0
  193. package/vendor/zlib/contrib/vstudio/vc9/zlibvc.def +161 -0
  194. package/vendor/zlib/contrib/vstudio/vc9/zlibvc.sln +144 -0
  195. package/vendor/zlib/contrib/vstudio/vc9/zlibvc.vcproj +1100 -0
  196. package/vendor/zlib/crc32.c +1049 -0
  197. package/vendor/zlib/crc32.h +9446 -0
  198. package/vendor/zlib/deflate.c +2152 -0
  199. package/vendor/zlib/deflate.h +380 -0
  200. package/vendor/zlib/doc/algorithm.txt +209 -0
  201. package/vendor/zlib/doc/crc-doc.1.0.pdf +0 -0
  202. package/vendor/zlib/doc/rfc1950.txt +619 -0
  203. package/vendor/zlib/doc/rfc1951.txt +955 -0
  204. package/vendor/zlib/doc/rfc1952.txt +675 -0
  205. package/vendor/zlib/doc/txtvsbin.txt +107 -0
  206. package/vendor/zlib/examples/README.examples +54 -0
  207. package/vendor/zlib/examples/enough.c +597 -0
  208. package/vendor/zlib/examples/fitblk.c +233 -0
  209. package/vendor/zlib/examples/gun.c +702 -0
  210. package/vendor/zlib/examples/gzappend.c +504 -0
  211. package/vendor/zlib/examples/gzjoin.c +449 -0
  212. package/vendor/zlib/examples/gzlog.c +1061 -0
  213. package/vendor/zlib/examples/gzlog.h +91 -0
  214. package/vendor/zlib/examples/gznorm.c +474 -0
  215. package/vendor/zlib/examples/zlib_how.html +549 -0
  216. package/vendor/zlib/examples/zpipe.c +209 -0
  217. package/vendor/zlib/examples/zran.c +550 -0
  218. package/vendor/zlib/examples/zran.h +53 -0
  219. package/vendor/zlib/gzclose.c +23 -0
  220. package/vendor/zlib/gzguts.h +215 -0
  221. package/vendor/zlib/gzlib.c +585 -0
  222. package/vendor/zlib/gzread.c +603 -0
  223. package/vendor/zlib/gzwrite.c +631 -0
  224. package/vendor/zlib/infback.c +628 -0
  225. package/vendor/zlib/inffast.c +320 -0
  226. package/vendor/zlib/inffast.h +11 -0
  227. package/vendor/zlib/inffixed.h +94 -0
  228. package/vendor/zlib/inflate.c +1526 -0
  229. package/vendor/zlib/inflate.h +126 -0
  230. package/vendor/zlib/inftrees.c +299 -0
  231. package/vendor/zlib/inftrees.h +62 -0
  232. package/vendor/zlib/make_vms.com +867 -0
  233. package/vendor/zlib/msdos/Makefile.bor +115 -0
  234. package/vendor/zlib/msdos/Makefile.dj2 +104 -0
  235. package/vendor/zlib/msdos/Makefile.emx +69 -0
  236. package/vendor/zlib/msdos/Makefile.msc +112 -0
  237. package/vendor/zlib/msdos/Makefile.tc +100 -0
  238. package/vendor/zlib/nintendods/Makefile +126 -0
  239. package/vendor/zlib/nintendods/README +5 -0
  240. package/vendor/zlib/old/Makefile.emx +69 -0
  241. package/vendor/zlib/old/Makefile.riscos +151 -0
  242. package/vendor/zlib/old/README +3 -0
  243. package/vendor/zlib/old/descrip.mms +48 -0
  244. package/vendor/zlib/old/os2/Makefile.os2 +136 -0
  245. package/vendor/zlib/old/os2/zlib.def +51 -0
  246. package/vendor/zlib/old/visual-basic.txt +160 -0
  247. package/vendor/zlib/os400/README400 +48 -0
  248. package/vendor/zlib/os400/bndsrc +133 -0
  249. package/vendor/zlib/os400/make.sh +366 -0
  250. package/vendor/zlib/os400/zlib.inc +531 -0
  251. package/vendor/zlib/qnx/package.qpg +141 -0
  252. package/vendor/zlib/test/CMakeLists.txt +265 -0
  253. package/vendor/zlib/test/add_subdirectory_exclude_test.cmake.in +29 -0
  254. package/vendor/zlib/test/add_subdirectory_test.cmake.in +28 -0
  255. package/vendor/zlib/test/example.c +552 -0
  256. package/vendor/zlib/test/find_package_test.cmake.in +26 -0
  257. package/vendor/zlib/test/infcover.c +672 -0
  258. package/vendor/zlib/test/minigzip.c +590 -0
  259. package/vendor/zlib/treebuild.xml +116 -0
  260. package/vendor/zlib/trees.c +1119 -0
  261. package/vendor/zlib/trees.h +128 -0
  262. package/vendor/zlib/uncompr.c +85 -0
  263. package/vendor/zlib/watcom/watcom_f.mak +43 -0
  264. package/vendor/zlib/watcom/watcom_l.mak +43 -0
  265. package/vendor/zlib/win32/DLL_FAQ.txt +381 -0
  266. package/vendor/zlib/win32/Makefile.bor +109 -0
  267. package/vendor/zlib/win32/Makefile.gcc +177 -0
  268. package/vendor/zlib/win32/Makefile.msc +159 -0
  269. package/vendor/zlib/win32/README-WIN32.txt +103 -0
  270. package/vendor/zlib/win32/VisualC.txt +3 -0
  271. package/vendor/zlib/win32/zlib.def +98 -0
  272. package/vendor/zlib/win32/zlib1.rc +37 -0
  273. package/vendor/zlib/zconf.h.in +544 -0
  274. package/vendor/zlib/zlib.3 +149 -0
  275. package/vendor/zlib/zlib.3.pdf +0 -0
  276. package/vendor/zlib/zlib.h +1957 -0
  277. package/vendor/zlib/zlib.map +104 -0
  278. package/vendor/zlib/zlib.pc.cmakein +13 -0
  279. package/vendor/zlib/zlib.pc.in +13 -0
  280. package/vendor/zlib/zlibConfig.cmake.in +26 -0
  281. package/vendor/zlib/zutil.c +299 -0
  282. package/vendor/zlib/zutil.h +257 -0
  283. package/vendor/zsign/.gitattributes +4 -0
  284. package/vendor/zsign/LICENSE +21 -0
  285. package/vendor/zsign/README.md +142 -0
  286. package/vendor/zsign/build/linux/Makefile +43 -0
  287. package/vendor/zsign/build/macos/Makefile +43 -0
  288. package/vendor/zsign/build/windows/vs2022/include/minizip/crypt.h +128 -0
  289. package/vendor/zsign/build/windows/vs2022/include/minizip/ioapi.h +216 -0
  290. package/vendor/zsign/build/windows/vs2022/include/minizip/iowin32.h +28 -0
  291. package/vendor/zsign/build/windows/vs2022/include/minizip/mztools.h +37 -0
  292. package/vendor/zsign/build/windows/vs2022/include/minizip/unzip.h +437 -0
  293. package/vendor/zsign/build/windows/vs2022/include/minizip/zip.h +364 -0
  294. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_EPILOGUE.H +22 -0
  295. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_PROLOGUE.H +26 -0
  296. package/vendor/zsign/build/windows/vs2022/include/openssl/aes.h +111 -0
  297. package/vendor/zsign/build/windows/vs2022/include/openssl/applink.c +153 -0
  298. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1.h +1133 -0
  299. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1_mac.h +10 -0
  300. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1err.h +142 -0
  301. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1t.h +946 -0
  302. package/vendor/zsign/build/windows/vs2022/include/openssl/async.h +104 -0
  303. package/vendor/zsign/build/windows/vs2022/include/openssl/asyncerr.h +29 -0
  304. package/vendor/zsign/build/windows/vs2022/include/openssl/bio.h +1015 -0
  305. package/vendor/zsign/build/windows/vs2022/include/openssl/bioerr.h +72 -0
  306. package/vendor/zsign/build/windows/vs2022/include/openssl/blowfish.h +78 -0
  307. package/vendor/zsign/build/windows/vs2022/include/openssl/bn.h +590 -0
  308. package/vendor/zsign/build/windows/vs2022/include/openssl/bnerr.h +47 -0
  309. package/vendor/zsign/build/windows/vs2022/include/openssl/buffer.h +62 -0
  310. package/vendor/zsign/build/windows/vs2022/include/openssl/buffererr.h +25 -0
  311. package/vendor/zsign/build/windows/vs2022/include/openssl/camellia.h +117 -0
  312. package/vendor/zsign/build/windows/vs2022/include/openssl/cast.h +71 -0
  313. package/vendor/zsign/build/windows/vs2022/include/openssl/cmac.h +52 -0
  314. package/vendor/zsign/build/windows/vs2022/include/openssl/cmp.h +727 -0
  315. package/vendor/zsign/build/windows/vs2022/include/openssl/cmp_util.h +56 -0
  316. package/vendor/zsign/build/windows/vs2022/include/openssl/cmperr.h +131 -0
  317. package/vendor/zsign/build/windows/vs2022/include/openssl/cms.h +508 -0
  318. package/vendor/zsign/build/windows/vs2022/include/openssl/cmserr.h +125 -0
  319. package/vendor/zsign/build/windows/vs2022/include/openssl/comp.h +98 -0
  320. package/vendor/zsign/build/windows/vs2022/include/openssl/comperr.h +38 -0
  321. package/vendor/zsign/build/windows/vs2022/include/openssl/conf.h +214 -0
  322. package/vendor/zsign/build/windows/vs2022/include/openssl/conf_api.h +46 -0
  323. package/vendor/zsign/build/windows/vs2022/include/openssl/conferr.h +52 -0
  324. package/vendor/zsign/build/windows/vs2022/include/openssl/configuration.h +188 -0
  325. package/vendor/zsign/build/windows/vs2022/include/openssl/conftypes.h +44 -0
  326. package/vendor/zsign/build/windows/vs2022/include/openssl/core.h +236 -0
  327. package/vendor/zsign/build/windows/vs2022/include/openssl/core_dispatch.h +1022 -0
  328. package/vendor/zsign/build/windows/vs2022/include/openssl/core_names.h +545 -0
  329. package/vendor/zsign/build/windows/vs2022/include/openssl/core_object.h +41 -0
  330. package/vendor/zsign/build/windows/vs2022/include/openssl/crmf.h +260 -0
  331. package/vendor/zsign/build/windows/vs2022/include/openssl/crmferr.h +50 -0
  332. package/vendor/zsign/build/windows/vs2022/include/openssl/crypto.h +580 -0
  333. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr.h +56 -0
  334. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr_legacy.h +1466 -0
  335. package/vendor/zsign/build/windows/vs2022/include/openssl/ct.h +573 -0
  336. package/vendor/zsign/build/windows/vs2022/include/openssl/cterr.h +45 -0
  337. package/vendor/zsign/build/windows/vs2022/include/openssl/decoder.h +133 -0
  338. package/vendor/zsign/build/windows/vs2022/include/openssl/decodererr.h +28 -0
  339. package/vendor/zsign/build/windows/vs2022/include/openssl/des.h +211 -0
  340. package/vendor/zsign/build/windows/vs2022/include/openssl/dh.h +339 -0
  341. package/vendor/zsign/build/windows/vs2022/include/openssl/dherr.h +59 -0
  342. package/vendor/zsign/build/windows/vs2022/include/openssl/dsa.h +280 -0
  343. package/vendor/zsign/build/windows/vs2022/include/openssl/dsaerr.h +44 -0
  344. package/vendor/zsign/build/windows/vs2022/include/openssl/dtls1.h +57 -0
  345. package/vendor/zsign/build/windows/vs2022/include/openssl/e_os2.h +310 -0
  346. package/vendor/zsign/build/windows/vs2022/include/openssl/e_ostime.h +38 -0
  347. package/vendor/zsign/build/windows/vs2022/include/openssl/ebcdic.h +39 -0
  348. package/vendor/zsign/build/windows/vs2022/include/openssl/ec.h +1588 -0
  349. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdh.h +10 -0
  350. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdsa.h +10 -0
  351. package/vendor/zsign/build/windows/vs2022/include/openssl/ecerr.h +104 -0
  352. package/vendor/zsign/build/windows/vs2022/include/openssl/encoder.h +124 -0
  353. package/vendor/zsign/build/windows/vs2022/include/openssl/encodererr.h +28 -0
  354. package/vendor/zsign/build/windows/vs2022/include/openssl/engine.h +833 -0
  355. package/vendor/zsign/build/windows/vs2022/include/openssl/engineerr.h +63 -0
  356. package/vendor/zsign/build/windows/vs2022/include/openssl/err.h +512 -0
  357. package/vendor/zsign/build/windows/vs2022/include/openssl/ess.h +128 -0
  358. package/vendor/zsign/build/windows/vs2022/include/openssl/esserr.h +32 -0
  359. package/vendor/zsign/build/windows/vs2022/include/openssl/evp.h +2231 -0
  360. package/vendor/zsign/build/windows/vs2022/include/openssl/evperr.h +140 -0
  361. package/vendor/zsign/build/windows/vs2022/include/openssl/fips_names.h +50 -0
  362. package/vendor/zsign/build/windows/vs2022/include/openssl/fipskey.h +41 -0
  363. package/vendor/zsign/build/windows/vs2022/include/openssl/hmac.h +62 -0
  364. package/vendor/zsign/build/windows/vs2022/include/openssl/hpke.h +169 -0
  365. package/vendor/zsign/build/windows/vs2022/include/openssl/http.h +118 -0
  366. package/vendor/zsign/build/windows/vs2022/include/openssl/httperr.h +56 -0
  367. package/vendor/zsign/build/windows/vs2022/include/openssl/idea.h +82 -0
  368. package/vendor/zsign/build/windows/vs2022/include/openssl/indicator.h +31 -0
  369. package/vendor/zsign/build/windows/vs2022/include/openssl/kdf.h +138 -0
  370. package/vendor/zsign/build/windows/vs2022/include/openssl/kdferr.h +16 -0
  371. package/vendor/zsign/build/windows/vs2022/include/openssl/lhash.h +398 -0
  372. package/vendor/zsign/build/windows/vs2022/include/openssl/macros.h +338 -0
  373. package/vendor/zsign/build/windows/vs2022/include/openssl/md2.h +56 -0
  374. package/vendor/zsign/build/windows/vs2022/include/openssl/md4.h +63 -0
  375. package/vendor/zsign/build/windows/vs2022/include/openssl/md5.h +62 -0
  376. package/vendor/zsign/build/windows/vs2022/include/openssl/mdc2.h +55 -0
  377. package/vendor/zsign/build/windows/vs2022/include/openssl/modes.h +219 -0
  378. package/vendor/zsign/build/windows/vs2022/include/openssl/obj_mac.h +5820 -0
  379. package/vendor/zsign/build/windows/vs2022/include/openssl/objects.h +184 -0
  380. package/vendor/zsign/build/windows/vs2022/include/openssl/objectserr.h +28 -0
  381. package/vendor/zsign/build/windows/vs2022/include/openssl/ocsp.h +483 -0
  382. package/vendor/zsign/build/windows/vs2022/include/openssl/ocsperr.h +53 -0
  383. package/vendor/zsign/build/windows/vs2022/include/openssl/opensslconf.h +17 -0
  384. package/vendor/zsign/build/windows/vs2022/include/openssl/opensslv.h +114 -0
  385. package/vendor/zsign/build/windows/vs2022/include/openssl/ossl_typ.h +16 -0
  386. package/vendor/zsign/build/windows/vs2022/include/openssl/param_build.h +63 -0
  387. package/vendor/zsign/build/windows/vs2022/include/openssl/params.h +160 -0
  388. package/vendor/zsign/build/windows/vs2022/include/openssl/pem.h +543 -0
  389. package/vendor/zsign/build/windows/vs2022/include/openssl/pem2.h +19 -0
  390. package/vendor/zsign/build/windows/vs2022/include/openssl/pemerr.h +58 -0
  391. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs12.h +366 -0
  392. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs12err.h +46 -0
  393. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs7.h +430 -0
  394. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs7err.h +63 -0
  395. package/vendor/zsign/build/windows/vs2022/include/openssl/prov_ssl.h +38 -0
  396. package/vendor/zsign/build/windows/vs2022/include/openssl/proverr.h +162 -0
  397. package/vendor/zsign/build/windows/vs2022/include/openssl/provider.h +66 -0
  398. package/vendor/zsign/build/windows/vs2022/include/openssl/quic.h +70 -0
  399. package/vendor/zsign/build/windows/vs2022/include/openssl/rand.h +125 -0
  400. package/vendor/zsign/build/windows/vs2022/include/openssl/randerr.h +69 -0
  401. package/vendor/zsign/build/windows/vs2022/include/openssl/rc2.h +68 -0
  402. package/vendor/zsign/build/windows/vs2022/include/openssl/rc4.h +47 -0
  403. package/vendor/zsign/build/windows/vs2022/include/openssl/rc5.h +79 -0
  404. package/vendor/zsign/build/windows/vs2022/include/openssl/ripemd.h +59 -0
  405. package/vendor/zsign/build/windows/vs2022/include/openssl/rsa.h +615 -0
  406. package/vendor/zsign/build/windows/vs2022/include/openssl/rsaerr.h +107 -0
  407. package/vendor/zsign/build/windows/vs2022/include/openssl/safestack.h +297 -0
  408. package/vendor/zsign/build/windows/vs2022/include/openssl/seed.h +113 -0
  409. package/vendor/zsign/build/windows/vs2022/include/openssl/self_test.h +98 -0
  410. package/vendor/zsign/build/windows/vs2022/include/openssl/sha.h +139 -0
  411. package/vendor/zsign/build/windows/vs2022/include/openssl/srp.h +285 -0
  412. package/vendor/zsign/build/windows/vs2022/include/openssl/srtp.h +68 -0
  413. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl.h +2878 -0
  414. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl2.h +30 -0
  415. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl3.h +357 -0
  416. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr.h +379 -0
  417. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr_legacy.h +467 -0
  418. package/vendor/zsign/build/windows/vs2022/include/openssl/stack.h +90 -0
  419. package/vendor/zsign/build/windows/vs2022/include/openssl/store.h +377 -0
  420. package/vendor/zsign/build/windows/vs2022/include/openssl/storeerr.h +49 -0
  421. package/vendor/zsign/build/windows/vs2022/include/openssl/symhacks.h +39 -0
  422. package/vendor/zsign/build/windows/vs2022/include/openssl/thread.h +31 -0
  423. package/vendor/zsign/build/windows/vs2022/include/openssl/tls1.h +1220 -0
  424. package/vendor/zsign/build/windows/vs2022/include/openssl/trace.h +320 -0
  425. package/vendor/zsign/build/windows/vs2022/include/openssl/ts.h +522 -0
  426. package/vendor/zsign/build/windows/vs2022/include/openssl/tserr.h +67 -0
  427. package/vendor/zsign/build/windows/vs2022/include/openssl/txt_db.h +63 -0
  428. package/vendor/zsign/build/windows/vs2022/include/openssl/types.h +245 -0
  429. package/vendor/zsign/build/windows/vs2022/include/openssl/ui.h +407 -0
  430. package/vendor/zsign/build/windows/vs2022/include/openssl/uierr.h +38 -0
  431. package/vendor/zsign/build/windows/vs2022/include/openssl/whrlpool.h +62 -0
  432. package/vendor/zsign/build/windows/vs2022/include/openssl/x509.h +1304 -0
  433. package/vendor/zsign/build/windows/vs2022/include/openssl/x509_acert.h +263 -0
  434. package/vendor/zsign/build/windows/vs2022/include/openssl/x509_vfy.h +902 -0
  435. package/vendor/zsign/build/windows/vs2022/include/openssl/x509err.h +70 -0
  436. package/vendor/zsign/build/windows/vs2022/include/openssl/x509v3.h +1500 -0
  437. package/vendor/zsign/build/windows/vs2022/include/openssl/x509v3err.h +96 -0
  438. package/vendor/zsign/build/windows/vs2022/include/zlib/zconf.h +553 -0
  439. package/vendor/zsign/build/windows/vs2022/include/zlib/zlib.h +1938 -0
  440. package/vendor/zsign/build/windows/vs2022/lib/minizip/x64/mt/minizip.lib +0 -0
  441. package/vendor/zsign/build/windows/vs2022/lib/openssl/x64/mt/libcrypto.lib +0 -0
  442. package/vendor/zsign/build/windows/vs2022/lib/openssl/x64/mt/libssl.lib +0 -0
  443. package/vendor/zsign/build/windows/vs2022/lib/zlib/x64/mt/zlib.lib +0 -0
  444. package/vendor/zsign/build/windows/vs2022/zsign/src/common_win32.h +44 -0
  445. package/vendor/zsign/build/windows/vs2022/zsign/src/getopt.cpp +69 -0
  446. package/vendor/zsign/build/windows/vs2022/zsign/src/getopt.h +20 -0
  447. package/vendor/zsign/build/windows/vs2022/zsign/src/iconv.cpp +138 -0
  448. package/vendor/zsign/build/windows/vs2022/zsign/src/iconv.h +38 -0
  449. package/vendor/zsign/build/windows/vs2022/zsign/zsign.vcxproj +177 -0
  450. package/vendor/zsign/build/windows/vs2022/zsign/zsign.vcxproj.filters +120 -0
  451. package/vendor/zsign/build/windows/vs2022/zsign.sln +28 -0
  452. package/vendor/zsign/src/archo.cpp +742 -0
  453. package/vendor/zsign/src/archo.h +61 -0
  454. package/vendor/zsign/src/bundle.cpp +589 -0
  455. package/vendor/zsign/src/bundle.h +46 -0
  456. package/vendor/zsign/src/common/archive.cpp +246 -0
  457. package/vendor/zsign/src/common/archive.h +22 -0
  458. package/vendor/zsign/src/common/base64.cpp +166 -0
  459. package/vendor/zsign/src/common/base64.h +30 -0
  460. package/vendor/zsign/src/common/common.h +56 -0
  461. package/vendor/zsign/src/common/fs.cpp +573 -0
  462. package/vendor/zsign/src/common/fs.h +50 -0
  463. package/vendor/zsign/src/common/json.cpp +3380 -0
  464. package/vendor/zsign/src/common/json.h +530 -0
  465. package/vendor/zsign/src/common/log.cpp +145 -0
  466. package/vendor/zsign/src/common/log.h +37 -0
  467. package/vendor/zsign/src/common/mach-o.h +585 -0
  468. package/vendor/zsign/src/common/sha.cpp +133 -0
  469. package/vendor/zsign/src/common/sha.h +24 -0
  470. package/vendor/zsign/src/common/timer.cpp +28 -0
  471. package/vendor/zsign/src/common/timer.h +17 -0
  472. package/vendor/zsign/src/common/util.cpp +185 -0
  473. package/vendor/zsign/src/common/util.h +25 -0
  474. package/vendor/zsign/src/macho.cpp +273 -0
  475. package/vendor/zsign/src/macho.h +38 -0
  476. package/vendor/zsign/src/openssl.cpp +698 -0
  477. package/vendor/zsign/src/openssl.h +71 -0
  478. package/vendor/zsign/src/signing.cpp +745 -0
  479. package/vendor/zsign/src/signing.h +59 -0
  480. package/vendor/zsign/src/zsign.cpp +317 -0
  481. package/vendor/zsign/test/dylib/bin/demo1.dylib +0 -0
  482. package/vendor/zsign/test/dylib/bin/demo2.dylib +0 -0
  483. package/vendor/zsign/test/dylib/demo/Makefile +12 -0
  484. package/vendor/zsign/test/dylib/demo/control +9 -0
  485. package/vendor/zsign/test/dylib/demo/demo.m +21 -0
  486. package/vendor/zsign/test/linux/test.sh +19 -0
  487. package/vendor/zsign/test/macos/test.sh +19 -0
  488. package/vendor/zsign/test/windows/test.ps1 +17 -0
@@ -0,0 +1,61 @@
1
+ #pragma once
2
+ #include "mach-o.h"
3
+ #include "openssl.h"
4
+
5
+ class ZArchO
6
+ {
7
+ public:
8
+ ZArchO();
9
+
10
+ public:
11
+ bool Init(uint8_t* pBase, uint32_t uLength);
12
+
13
+ public:
14
+ bool Sign(ZSignAsset* pSignAsset,
15
+ bool bForce,
16
+ const string& strBundleId,
17
+ const string& strInfoSHA1,
18
+ const string& strInfoSHA256,
19
+ const string& strCodeResourcesData);
20
+
21
+ void PrintInfo();
22
+ bool IsExecute();
23
+ bool IsSigned() const;
24
+ bool InjectDylib(bool bWeakInject, const char* szDylibFile);
25
+ void RemoveDylibs(set<string> setDylibs);
26
+ uint32_t ReallocCodeSignSpace(const string& strNewFile);
27
+
28
+ private:
29
+ uint32_t BO(uint32_t uVal);
30
+ const char* GetFileType(uint32_t uFileType);
31
+ const char* GetArch(int cpuType, int cpuSubType);
32
+ bool BuildCodeSignature(ZSignAsset* pSignAsset,
33
+ bool bForce,
34
+ const string& strBundleId,
35
+ const string& strInfoSHA1,
36
+ const string& strInfoSHA256,
37
+ const string& strCodeResourcesSHA1,
38
+ const string& strCodeResourcesSHA256,
39
+ string& strOutput);
40
+
41
+ public:
42
+ uint8_t* m_pBase;
43
+ uint32_t m_uLength;
44
+ uint32_t m_uCodeLength;
45
+ uint8_t* m_pSignBase;
46
+ uint32_t m_uSignLength;
47
+ string m_strInfoPlist;
48
+ bool m_bEncrypted;
49
+ bool m_b64Bit;
50
+ bool m_bBigEndian;
51
+ bool m_bEnoughSpace;
52
+ uint8_t* m_pCodeSignSegment;
53
+ uint8_t* m_pLinkEditSegment;
54
+ uint32_t m_uLoadCommandsFreeSpace;
55
+ uint32_t m_uFileType;
56
+ mach_header* m_pHeader;
57
+ uint32_t m_uHeaderSize;
58
+
59
+ private:
60
+ static uint64_t s_uExecSegLimit;
61
+ };
@@ -0,0 +1,589 @@
1
+ #include "bundle.h"
2
+ #include "base64.h"
3
+ #include "common.h"
4
+ #include "macho.h"
5
+ #include "sys/stat.h"
6
+ #include "sys/types.h"
7
+
8
+ ZBundle::ZBundle()
9
+ {
10
+ m_pSignAsset = NULL;
11
+ m_bForceSign = false;
12
+ m_bWeakInject = false;
13
+ }
14
+
15
+ bool ZBundle::FindAppFolder(const string& strFolder, string& strAppFolder)
16
+ {
17
+ if (ZFile::IsPathSuffix(strFolder, ".app") || ZFile::IsPathSuffix(strFolder, ".appex")) {
18
+ strAppFolder = strFolder;
19
+ return true;
20
+ }
21
+
22
+ ZFile::EnumFolder(strFolder.c_str(), true, [&](bool bFolder, const string& strPath) {
23
+ string strName = ZUtil::GetBaseName(strPath.c_str());
24
+ if ("__MACOSX" == strName) {
25
+ return true;
26
+ }
27
+ return false;
28
+ }, [&](bool bFolder, const string& strPath) {
29
+ if (bFolder) {
30
+ if (ZFile::IsPathSuffix(strPath, ".app") || ZFile::IsPathSuffix(strPath, ".appex")) {
31
+ strAppFolder = strPath;
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ });
37
+
38
+ return (!strAppFolder.empty());
39
+ }
40
+
41
+ bool ZBundle::GetSignFolderInfo(const string& strFolder, jvalue& jvNode, bool bGetName)
42
+ {
43
+ string strInfoPlistData;
44
+ string strInfoPlistPath = strFolder + "/Info.plist";
45
+ ZFile::ReadFile(strInfoPlistPath.c_str(), strInfoPlistData);
46
+
47
+ jvalue jvInfo;
48
+ jvInfo.read_plist(strInfoPlistData);
49
+ string strBundleId = jvInfo["CFBundleIdentifier"];
50
+ string strBundleExe = jvInfo["CFBundleExecutable"];
51
+ string strBundleVersion = jvInfo["CFBundleVersion"];
52
+ if (strBundleId.empty() || strBundleExe.empty()) {
53
+ return false;
54
+ }
55
+
56
+ string strInfoSHA1;
57
+ string strInfoSHA256;
58
+ ZSHA::SHABase64(strInfoPlistData, strInfoSHA1, strInfoSHA256);
59
+
60
+ jvNode["bundle_id"] = strBundleId;
61
+ jvNode["bundle_version"] = strBundleVersion;
62
+ jvNode["bundle_executable"] = strBundleExe;
63
+ jvNode["sha1"] = strInfoSHA1;
64
+ jvNode["sha256"] = strInfoSHA256;
65
+ if (!jvNode.has("path")) {
66
+ jvNode["path"] = strFolder.substr(m_strAppFolder.size() + 1);
67
+ }
68
+
69
+ if (bGetName) {
70
+ string strBundleName = jvInfo["CFBundleDisplayName"];
71
+ if (strBundleName.empty()) {
72
+ strBundleName = jvInfo["CFBundleName"].as_cstr();
73
+ }
74
+ jvNode["name"] = strBundleName;
75
+ }
76
+
77
+ return true;
78
+ }
79
+
80
+ bool ZBundle::GetObjectsToSign(const string& strFolder, jvalue& jvInfo)
81
+ {
82
+ vector<string> allBundles;
83
+
84
+ std::function<void(const string&)> findAllBundles = [&](const string& currentPath) {
85
+ ZFile::EnumFolder(currentPath.c_str(), false, NULL, [&](bool bFolder, const string& strPath) {
86
+ if (bFolder) {
87
+ if (ZFile::IsPathSuffix(strPath, ".app") ||
88
+ ZFile::IsPathSuffix(strPath, ".appex") ||
89
+ ZFile::IsPathSuffix(strPath, ".framework") ||
90
+ ZFile::IsPathSuffix(strPath, ".xctest")) {
91
+ allBundles.push_back(strPath);
92
+ findAllBundles(strPath);
93
+ } else {
94
+ findAllBundles(strPath);
95
+ }
96
+ }
97
+ return false;
98
+ });
99
+ };
100
+
101
+ findAllBundles(strFolder);
102
+
103
+ sort(allBundles.begin(), allBundles.end(), [](const string& a, const string& b) {
104
+ size_t depthA = count(a.begin(), a.end(), '/');
105
+ size_t depthB = count(b.begin(), b.end(), '/');
106
+ // deeper paths first
107
+ return depthA > depthB;
108
+ });
109
+
110
+ for (const string& bundlePath : allBundles) {
111
+ jvalue jvNode;
112
+ if (GetSignFolderInfo(bundlePath, jvNode)) {
113
+ jvInfo["folders"].push_back(jvNode);
114
+ }
115
+ }
116
+
117
+ ZFile::EnumFolder(strFolder.c_str(), true, NULL, [&](bool bFolder, const string& strPath) {
118
+ if (!bFolder && ZFile::IsPathSuffix(strPath, ".dylib")) {
119
+ jvInfo["files"].push_back(strPath.substr(m_strAppFolder.size() + 1));
120
+ }
121
+ return false;
122
+ });
123
+
124
+ return true;
125
+ }
126
+
127
+ bool ZBundle::GenerateCodeResources(const string& strFolder, jvalue& jvCodeRes)
128
+ {
129
+ set<string> setFiles;
130
+ ZFile::EnumFolder(strFolder.c_str(), true, NULL, [&](bool bFolder, const string& strPath) {
131
+ if (!bFolder) {
132
+ string strNode = strPath.substr(strFolder.size() + 1);
133
+ ZUtil::StringReplace(strNode, "\\", "/");
134
+ setFiles.insert(strNode);
135
+ }
136
+ return false;
137
+ });
138
+
139
+ jvalue jvInfo;
140
+ jvInfo.read_plist_from_file("%s/Info.plist", strFolder.c_str());
141
+ string strBundleExe = jvInfo["CFBundleExecutable"];
142
+
143
+ #ifdef _WIN32
144
+ iconv ic;
145
+ strBundleExe = ic.U82A(strBundleExe);
146
+ #endif
147
+
148
+ setFiles.erase("_CodeSignature/CodeResources");
149
+ setFiles.erase(strBundleExe);
150
+
151
+ jvCodeRes.clear();
152
+ jvCodeRes["files"] = jvalue(jvalue::E_OBJECT);
153
+ jvCodeRes["files2"] = jvalue(jvalue::E_OBJECT);
154
+
155
+ for (string strKey : setFiles) {
156
+ string strFile = strFolder + "/" + strKey;
157
+ string strSHA1Base64;
158
+ string strSHA256Base64;
159
+ ZSHA::SHABase64File(strFile.c_str(), strSHA1Base64, strSHA256Base64);
160
+
161
+ #ifdef _WIN32
162
+ strKey = ic.A2U8(strKey);
163
+ #endif
164
+
165
+ bool bomit1 = false;
166
+ bool bomit2 = false;
167
+
168
+ if (ZFile::IsPathSuffix(strKey, ".lproj/locversion.plist")) {
169
+ bomit1 = true;
170
+ bomit2 = true;
171
+ }
172
+
173
+ if (ZFile::IsPathSuffix(strKey, ".DS_Store") || "Info.plist" == strKey || "PkgInfo" == strKey) {
174
+ bomit2 = true;
175
+ }
176
+
177
+ if (!bomit1) {
178
+ if (string::npos != strKey.rfind(".lproj/")) {
179
+ jvCodeRes["files"][strKey]["hash"] = "data:" + strSHA1Base64;
180
+ jvCodeRes["files"][strKey]["optional"] = true;
181
+ } else {
182
+ jvCodeRes["files"][strKey] = "data:" + strSHA1Base64;
183
+ }
184
+ }
185
+
186
+ if (!bomit2) {
187
+ jvCodeRes["files2"][strKey]["hash"] = "data:" + strSHA1Base64;
188
+ jvCodeRes["files2"][strKey]["hash2"] = "data:" + strSHA256Base64;
189
+ if (string::npos != strKey.rfind(".lproj/")) {
190
+ jvCodeRes["files2"][strKey]["optional"] = true;
191
+ }
192
+ }
193
+ }
194
+
195
+ jvCodeRes["rules"]["^.*"] = true;
196
+ jvCodeRes["rules"]["^.*\\.lproj/"]["optional"] = true;
197
+ jvCodeRes["rules"]["^.*\\.lproj/"]["weight"] = 1000.0;
198
+ jvCodeRes["rules"]["^.*\\.lproj/locversion.plist$"]["omit"] = true;
199
+ jvCodeRes["rules"]["^.*\\.lproj/locversion.plist$"]["weight"] = 1100.0;
200
+ jvCodeRes["rules"]["^Base\\.lproj/"]["weight"] = 1010.0;
201
+ jvCodeRes["rules"]["^version.plist$"] = true;
202
+
203
+ jvCodeRes["rules2"]["^.*"] = true;
204
+ jvCodeRes["rules2"][".*\\.dSYM($|/)"]["weight"] = 11.0;
205
+ jvCodeRes["rules2"]["^(.*/)?\\.DS_Store$"]["omit"] = true;
206
+ jvCodeRes["rules2"]["^(.*/)?\\.DS_Store$"]["weight"] = 2000.0;
207
+ jvCodeRes["rules2"]["^.*\\.lproj/"]["optional"] = true;
208
+ jvCodeRes["rules2"]["^.*\\.lproj/"]["weight"] = 1000.0;
209
+ jvCodeRes["rules2"]["^.*\\.lproj/locversion.plist$"]["omit"] = true;
210
+ jvCodeRes["rules2"]["^.*\\.lproj/locversion.plist$"]["weight"] = 1100.0;
211
+ jvCodeRes["rules2"]["^Base\\.lproj/"]["weight"] = 1010.0;
212
+ jvCodeRes["rules2"]["^Info\\.plist$"]["omit"] = true;
213
+ jvCodeRes["rules2"]["^Info\\.plist$"]["weight"] = 20.0;
214
+ jvCodeRes["rules2"]["^PkgInfo$"]["omit"] = true;
215
+ jvCodeRes["rules2"]["^PkgInfo$"]["weight"] = 20.0;
216
+ jvCodeRes["rules2"]["^embedded\\.provisionprofile$"]["weight"] = 20.0;
217
+ jvCodeRes["rules2"]["^version\\.plist$"]["weight"] = 20.0;
218
+
219
+ return true;
220
+ }
221
+
222
+ void ZBundle::GetChangedFiles(jvalue& jvNode, vector<string>& arrChangedFiles)
223
+ {
224
+ if (jvNode.has("files")) {
225
+ for (size_t i = 0; i < jvNode["files"].size(); i++) {
226
+ arrChangedFiles.push_back(jvNode["files"][i]);
227
+ }
228
+ }
229
+
230
+ if (jvNode.has("folders")) {
231
+ for (size_t i = 0; i < jvNode["folders"].size(); i++) {
232
+ jvalue& jvSubNode = jvNode["folders"][i];
233
+ GetChangedFiles(jvSubNode, arrChangedFiles);
234
+ string strPath = jvSubNode["path"];
235
+ arrChangedFiles.push_back(strPath + "/_CodeSignature/CodeResources");
236
+ arrChangedFiles.push_back(strPath + "/" + jvSubNode["bundle_executable"].as_string());
237
+ }
238
+ }
239
+ }
240
+
241
+ void ZBundle::GetNodeChangedFiles(jvalue& jvNode)
242
+ {
243
+ if (jvNode.has("folders")) {
244
+ for (size_t i = 0; i < jvNode["folders"].size(); i++) {
245
+ GetNodeChangedFiles(jvNode["folders"][i]);
246
+ }
247
+ }
248
+
249
+ vector<string> arrChangedFiles;
250
+ GetChangedFiles(jvNode, arrChangedFiles);
251
+ for (size_t i = 0; i < arrChangedFiles.size(); i++) {
252
+ jvNode["changed"].push_back(arrChangedFiles[i]);
253
+ }
254
+
255
+ if ("/" == jvNode["path"]) { // root
256
+ jvNode["changed"].push_back("embedded.mobileprovision");
257
+ }
258
+ }
259
+
260
+ bool ZBundle::SignNode(jvalue& jvNode)
261
+ {
262
+ if (jvNode.has("files")) {
263
+ for (size_t i = 0; i < jvNode["files"].size(); i++) {
264
+ string strFile = jvNode["files"][i];
265
+ ZLog::PrintV(">>> SignFile: \t%s\n", strFile.c_str());
266
+ ZMachO macho;
267
+ if (macho.InitV("%s/%s", m_strAppFolder.c_str(), strFile.c_str())) {
268
+ if (!macho.Sign(m_pSignAsset, m_bForceSign, "", "", "", "")) {
269
+ return false;
270
+ }
271
+ } else {
272
+ return false;
273
+ }
274
+ }
275
+ }
276
+
277
+ if (jvNode.has("folders")) {
278
+ for (size_t i = 0; i < jvNode["folders"].size(); i++) {
279
+ if (!SignNode(jvNode["folders"][i])) {
280
+ return false;
281
+ }
282
+ }
283
+ }
284
+
285
+ jbase64 b64;
286
+ string strInfoSHA1;
287
+ string strInfoSHA256;
288
+ string strFolder = jvNode["path"];
289
+ string strBundleId = jvNode["bundle_id"];
290
+ string strBundleExe = jvNode["bundle_executable"];
291
+ b64.decode(jvNode["sha1"].as_cstr(), strInfoSHA1);
292
+ b64.decode(jvNode["sha256"].as_cstr(), strInfoSHA256);
293
+ if (strBundleId.empty() || strBundleExe.empty() || strInfoSHA1.empty() ||
294
+ strInfoSHA256.empty()) {
295
+ ZLog::ErrorV(">>> Can't get BundleID or BundleExecute or Info.plist SHASum in Info.plist! %s\n", strFolder.c_str());
296
+ return false;
297
+ }
298
+
299
+ #ifdef _WIN32
300
+ iconv ic;
301
+ strBundleExe = ic.U82A(strBundleExe);
302
+ #endif
303
+
304
+ string strBaseFolder = m_strAppFolder;
305
+ if ("/" != strFolder) {
306
+ strBaseFolder += "/";
307
+ strBaseFolder += strFolder;
308
+ }
309
+
310
+ string strExePath = strBaseFolder + "/" + strBundleExe;
311
+ ZLog::PrintV(">>> SignFolder: %s, (%s)\n", ("/" == strFolder) ? ZUtil::GetBaseName(m_strAppFolder.c_str()) : strFolder.c_str(), strBundleExe.c_str());
312
+
313
+ ZMachO macho;
314
+ if (!macho.Init(strExePath.c_str())) {
315
+ ZLog::ErrorV(">>> Can't parse BundleExecute file! %s\n", strExePath.c_str());
316
+ return false;
317
+ }
318
+
319
+ ZFile::CreateFolderV("%s/_CodeSignature", strBaseFolder.c_str());
320
+ string strCodeResFile = strBaseFolder + "/_CodeSignature/CodeResources";
321
+
322
+ jvalue jvCodeRes;
323
+ if (!m_bForceSign) {
324
+ jvCodeRes.read_plist_from_file(strCodeResFile.c_str());
325
+ }
326
+
327
+ if (m_bForceSign || jvCodeRes.is_null()) { // create
328
+ if (!GenerateCodeResources(strBaseFolder, jvCodeRes)) {
329
+ ZLog::ErrorV(">>> Create CodeResources failed! %s\n", strBaseFolder.c_str());
330
+ return false;
331
+ }
332
+ } else if (jvNode.has("changed")) { // use existsed
333
+ for (size_t i = 0; i < jvNode["changed"].size(); i++) {
334
+ string strFile = jvNode["changed"][i].as_cstr();
335
+ string strRealFile = m_strAppFolder + "/" + strFile;
336
+
337
+ string strFileSHA1;
338
+ string strFileSHA256;
339
+ if (!ZSHA::SHABase64File(strRealFile.c_str(), strFileSHA1, strFileSHA256)) {
340
+ ZLog::ErrorV(">>> Can't get changed file SHASum! %s", strFile.c_str());
341
+ return false;
342
+ }
343
+
344
+ string strKey = strFile;
345
+ if ("/" != strFolder) {
346
+ strKey = strFile.substr(strFolder.size() + 1);
347
+ }
348
+
349
+ jvCodeRes["files"][strKey] = "data:" + strFileSHA1;
350
+ jvCodeRes["files2"][strKey]["hash"] = "data:" + strFileSHA1;
351
+ jvCodeRes["files2"][strKey]["hash2"] = "data:" + strFileSHA256;
352
+
353
+ ZLog::DebugV("\t\tChanged file: %s, %s\n", strFileSHA1.c_str(), strKey.c_str());
354
+ }
355
+ }
356
+
357
+ string strCodeResData;
358
+ jvCodeRes.style_write_plist(strCodeResData);
359
+ if (!ZFile::WriteFile(strCodeResFile.c_str(), strCodeResData)) {
360
+ ZLog::ErrorV("\tWriting CodeResources failed! %s\n", strCodeResFile.c_str());
361
+ return false;
362
+ }
363
+
364
+ bool bForceSign = m_bForceSign;
365
+ if ("/" == strFolder) { // inject dylib
366
+ for (const string& strDylibFile : m_arrInjectDylibs) {
367
+ if (macho.InjectDylib(m_bWeakInject, strDylibFile.c_str())) {
368
+ bForceSign = true;
369
+ }
370
+ }
371
+ }
372
+
373
+ if (!macho.Sign(m_pSignAsset, bForceSign, strBundleId, strInfoSHA1, strInfoSHA256, strCodeResData)) {
374
+ return false;
375
+ }
376
+
377
+ return true;
378
+ }
379
+
380
+ bool ZBundle::ModifyPluginsBundleId(const string& strOldBundleId, const string& strNewBundleId)
381
+ {
382
+ vector<string> arrFolders;
383
+ ZFile::EnumFolder(m_strAppFolder.c_str(), true, NULL, [&](bool bFolder, const string& strPath) {
384
+ if (bFolder) {
385
+ if (ZFile::IsPathSuffix(strPath, ".app") || ZFile::IsPathSuffix(strPath, ".appex")) {
386
+ arrFolders.push_back(strPath);
387
+ }
388
+ }
389
+ return false;
390
+ });
391
+
392
+ for (const string& strFolder: arrFolders) {
393
+ jvalue jvInfo;
394
+ if (!jvInfo.read_plist_from_file("%s/Info.plist", strFolder.c_str())) {
395
+ ZLog::WarnV(">>> Can't find Plugin's Info.plist! %s\n", strFolder.c_str());
396
+ continue;
397
+ }
398
+
399
+ string strOldPIBundleID = jvInfo["CFBundleIdentifier"];
400
+ string strNewPIBundleID = strOldPIBundleID;
401
+ ZUtil::StringReplace(strNewPIBundleID, strOldBundleId, strNewBundleId);
402
+ jvInfo["CFBundleIdentifier"] = strNewPIBundleID;
403
+ ZLog::PrintV(">>> BundleId: \t%s -> %s, Plugin\n", strOldPIBundleID.c_str(), strNewPIBundleID.c_str());
404
+
405
+ if (jvInfo.has("WKCompanionAppBundleIdentifier")) {
406
+ string strOldWKCBundleID = jvInfo["WKCompanionAppBundleIdentifier"];
407
+ string strNewWKCBundleID = strOldWKCBundleID;
408
+ ZUtil::StringReplace(strNewWKCBundleID, strOldBundleId, strNewBundleId);
409
+ jvInfo["WKCompanionAppBundleIdentifier"] = strNewWKCBundleID;
410
+ ZLog::PrintV(">>> BundleId: \t%s -> %s, Plugin-WKCompanionAppBundleIdentifier\n", strOldWKCBundleID.c_str(), strNewWKCBundleID.c_str());
411
+ }
412
+
413
+ if (jvInfo.has("NSExtension")) {
414
+ if (jvInfo["NSExtension"].has("NSExtensionAttributes")) {
415
+ if (jvInfo["NSExtension"]["NSExtensionAttributes"].has("WKAppBundleIdentifier")) {
416
+ string strOldWKBundleID = jvInfo["NSExtension"]["NSExtensionAttributes"]["WKAppBundleIdentifier"];
417
+ string strNewWKBundleID = strOldWKBundleID;
418
+ ZUtil::StringReplace(strNewWKBundleID, strOldBundleId, strNewBundleId);
419
+ jvInfo["NSExtension"]["NSExtensionAttributes"]["WKAppBundleIdentifier"] = strNewWKBundleID;
420
+ ZLog::PrintV(">>> BundleId: \t%s -> %s, NSExtension-NSExtensionAttributes-WKAppBundleIdentifier\n", strOldWKBundleID.c_str(), strNewWKBundleID.c_str());
421
+ }
422
+ }
423
+ }
424
+
425
+ jvInfo.style_write_plist_to_file("%s/Info.plist", strFolder.c_str());
426
+ }
427
+
428
+ return true;
429
+ }
430
+
431
+ bool ZBundle::ModifyBundleInfo(const string& strBundleId, const string& strBundleVersion, const string& strDisplayName)
432
+ {
433
+ jvalue jvInfo;
434
+ if (!jvInfo.read_plist_from_file("%s/Info.plist", m_strAppFolder.c_str())) {
435
+ ZLog::ErrorV(">>> Can't find app's Info.plist! %s\n", m_strAppFolder.c_str());
436
+ return false;
437
+ }
438
+
439
+ if (!strBundleId.empty()) {
440
+ string strOldBundleId = jvInfo["CFBundleIdentifier"];
441
+ jvInfo["CFBundleIdentifier"] = strBundleId;
442
+ ZLog::PrintV(">>> BundleId: \t%s -> %s\n", strOldBundleId.c_str(), strBundleId.c_str());
443
+ ModifyPluginsBundleId(strOldBundleId, strBundleId);
444
+ }
445
+
446
+ if (!strDisplayName.empty()) {
447
+
448
+ string strNewDisplayName = strDisplayName;
449
+
450
+ #ifdef _WIN32
451
+ iconv ic;
452
+ strNewDisplayName = ic.A2U8(strDisplayName);
453
+ #endif
454
+
455
+ string strOldDisplayName = jvInfo["CFBundleDisplayName"];
456
+ if (strOldDisplayName.empty()) {
457
+ strOldDisplayName = jvInfo["CFBundleName"].as_cstr();
458
+ }
459
+
460
+ jvInfo["CFBundleName"] = strNewDisplayName;
461
+ jvInfo["CFBundleDisplayName"] = strNewDisplayName;
462
+
463
+ jvalue jvInfoStrings;
464
+ if (jvInfoStrings.read_plist_from_file("%s/zh_CN.lproj/InfoPlist.strings", m_strAppFolder.c_str())) {
465
+ jvInfoStrings["CFBundleName"] = strNewDisplayName;
466
+ jvInfoStrings["CFBundleDisplayName"] = strNewDisplayName;
467
+ jvInfoStrings.style_write_plist_to_file("%s/zh_CN.lproj/InfoPlist.strings", m_strAppFolder.c_str());
468
+ }
469
+
470
+ jvInfoStrings.clear();
471
+ if (jvInfoStrings.read_plist_from_file("%s/zh-Hans.lproj/InfoPlist.strings", m_strAppFolder.c_str())) {
472
+ jvInfoStrings["CFBundleName"] = strNewDisplayName;
473
+ jvInfoStrings["CFBundleDisplayName"] = strNewDisplayName;
474
+ jvInfoStrings.style_write_plist_to_file("%s/zh-Hans.lproj/InfoPlist.strings", m_strAppFolder.c_str());
475
+ }
476
+
477
+ #ifdef _WIN32
478
+ strOldDisplayName = ic.U82A(strOldDisplayName);
479
+ strNewDisplayName = ic.U82A(strNewDisplayName);
480
+ #endif
481
+
482
+ ZLog::PrintV(">>> BundleName: %s -> %s\n", strOldDisplayName.c_str(), strNewDisplayName.c_str());
483
+ }
484
+
485
+ if (!strBundleVersion.empty()) {
486
+ string strOldBundleVersion = jvInfo["CFBundleVersion"];
487
+ jvInfo["CFBundleVersion"] = strBundleVersion;
488
+ jvInfo["CFBundleShortVersionString"] = strBundleVersion;
489
+ ZLog::PrintV(">>> BundleVersion: %s -> %s\n", strOldBundleVersion.c_str(), strBundleVersion.c_str());
490
+ }
491
+
492
+ jvInfo.style_write_plist_to_file("%s/Info.plist", m_strAppFolder.c_str());
493
+ return true;
494
+ }
495
+
496
+ bool ZBundle::SignFolder(ZSignAsset* pSignAsset,
497
+ const string& strFolder,
498
+ const string& strBundleId,
499
+ const string& strBundleVersion,
500
+ const string& strDisplayName,
501
+ const vector<string>& arrInjectDylibs,
502
+ bool bForce,
503
+ bool bWeakInject,
504
+ bool bEnableCache)
505
+ {
506
+ m_bForceSign = bForce;
507
+ m_pSignAsset = pSignAsset;
508
+ m_bWeakInject = bWeakInject;
509
+ if (NULL == m_pSignAsset) {
510
+ return false;
511
+ }
512
+
513
+ if (!FindAppFolder(strFolder, m_strAppFolder)) {
514
+ ZLog::ErrorV(">>> Can't find app folder! %s\n", strFolder.c_str());
515
+ return false;
516
+ }
517
+
518
+ if (!strBundleId.empty() || !strDisplayName.empty() || !strBundleVersion.empty()) {
519
+ m_bForceSign = true;
520
+ if (!ModifyBundleInfo(strBundleId, strBundleVersion, strDisplayName)) {
521
+ return false;
522
+ }
523
+ }
524
+
525
+ ZFile::RemoveFileV("%s/embedded.mobileprovision", m_strAppFolder.c_str());
526
+ if (!pSignAsset->m_strProvData.empty()) {
527
+ if (!ZFile::WriteFileV(pSignAsset->m_strProvData, "%s/embedded.mobileprovision", m_strAppFolder.c_str())) { // embedded.mobileprovision
528
+ ZLog::ErrorV(">>> Can't write embedded.mobileprovision!\n");
529
+ return false;
530
+ }
531
+ }
532
+
533
+ if (!arrInjectDylibs.empty()) {
534
+ m_bForceSign = true;
535
+ for (const string& strDylibFile : arrInjectDylibs) {
536
+ string strFileName = ZUtil::GetBaseName(strDylibFile.c_str());
537
+ if (ZFile::CopyFileV(strDylibFile.c_str(), "%s/%s", m_strAppFolder.c_str(), strFileName.c_str())) {
538
+ m_arrInjectDylibs.push_back("@executable_path/" + strFileName);
539
+ }
540
+ }
541
+ }
542
+
543
+ string strCacheName;
544
+ ZSHA::SHA1Text(m_strAppFolder, strCacheName);
545
+ if (!ZFile::IsFileExistsV("./.zsign_cache/%s.json", strCacheName.c_str())) {
546
+ m_bForceSign = true;
547
+ }
548
+
549
+ jvalue jvRoot;
550
+ if (m_bForceSign) {
551
+ jvRoot["path"] = "/";
552
+ jvRoot["root"] = m_strAppFolder;
553
+ if (!GetSignFolderInfo(m_strAppFolder, jvRoot, true)) {
554
+ ZLog::ErrorV(">>> Can't get BundleID, BundleVersion, or BundleExecute in Info.plist! %s\n", m_strAppFolder.c_str());
555
+ return false;
556
+ }
557
+ if (!GetObjectsToSign(m_strAppFolder, jvRoot)) {
558
+ return false;
559
+ }
560
+ GetNodeChangedFiles(jvRoot);
561
+ } else {
562
+ jvRoot.read_from_file("./.zsign_cache/%s.json", strCacheName.c_str());
563
+ }
564
+
565
+ string strAppName = jvRoot["name"];
566
+
567
+ #ifdef _WIN32
568
+ iconv ic;
569
+ strAppName = ic.U82A(strAppName);
570
+ #endif
571
+
572
+ ZLog::PrintV(">>> Signing: \t%s ...\n", m_strAppFolder.c_str());
573
+ ZLog::PrintV(">>> AppName: \t%s\n", strAppName.c_str());
574
+ ZLog::PrintV(">>> BundleId: \t%s\n", jvRoot["bundle_id"].as_cstr());
575
+ ZLog::PrintV(">>> Version: \t%s\n", jvRoot["bundle_version"].as_cstr());
576
+ ZLog::PrintV(">>> TeamId: \t%s\n", m_pSignAsset->m_strTeamId.c_str());
577
+ ZLog::PrintV(">>> SubjectCN: \t%s\n", m_pSignAsset->m_strSubjectCN.c_str());
578
+ ZLog::PrintV(">>> ReadCache: \t%s\n", m_bForceSign ? "NO" : "YES");
579
+
580
+ if (SignNode(jvRoot)) {
581
+ if (bEnableCache) {
582
+ ZFile::CreateFolder("./.zsign_cache");
583
+ jvRoot.style_write_to_file("./.zsign_cache/%s.json", strCacheName.c_str());
584
+ }
585
+ return true;
586
+ }
587
+
588
+ return false;
589
+ }
@@ -0,0 +1,46 @@
1
+ #pragma once
2
+ #include "common.h"
3
+ #include "json.h"
4
+ #include "openssl.h"
5
+ #include <vector>
6
+
7
+ class ZBundle
8
+ {
9
+ public:
10
+ ZBundle();
11
+
12
+ public:
13
+ bool SignFolder(ZSignAsset* pSignAsset,
14
+ const string& strFolder,
15
+ const string& strBundleId,
16
+ const string& strBundleVersion,
17
+ const string& strDisplayName,
18
+ const vector<string>& arrDylibFiles,
19
+ bool bForce,
20
+ bool bWeakInject,
21
+ bool bEnableCache);
22
+
23
+ private:
24
+ bool SignNode(jvalue& jvNode);
25
+ void GetNodeChangedFiles(jvalue& jvNode);
26
+ void GetChangedFiles(jvalue& jvNode, vector<string>& arrChangedFiles);
27
+ bool ModifyPluginsBundleId(const string& strOldBundleId, const string& strNewBundleId);
28
+ bool ModifyBundleInfo(const string& strBundleId, const string& strBundleVersion, const string& strDisplayName);
29
+
30
+ private:
31
+ bool FindAppFolder(const string& strFolder, string& strAppFolder);
32
+ bool GetObjectsToSign(const string& strFolder, jvalue& jvInfo);
33
+ bool GetSignFolderInfo(const string& strFolder, jvalue& jvNode, bool bGetName = false);
34
+
35
+ private:
36
+ bool GenerateCodeResources(const string& strFolder, jvalue& jvCodeRes);
37
+
38
+ private:
39
+ bool m_bForceSign;
40
+ bool m_bWeakInject;
41
+ ZSignAsset* m_pSignAsset;
42
+ vector<string> m_arrInjectDylibs;
43
+
44
+ public:
45
+ string m_strAppFolder;
46
+ };