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,133 @@
1
+ #include "sha.h"
2
+ #include "base64.h"
3
+ #include <openssl/sha.h>
4
+
5
+ bool ZSHA::SHA1(uint8_t* data, size_t size, string& strOutput)
6
+ {
7
+ strOutput.clear();
8
+ uint8_t hash[20];
9
+ memset(hash, 0, 20);
10
+ ::SHA1(data, size, hash);
11
+ strOutput.append((const char*)hash, 20);
12
+ return true;
13
+ }
14
+
15
+ bool ZSHA::SHA256(uint8_t* data, size_t size, string& strOutput)
16
+ {
17
+ strOutput.clear();
18
+ uint8_t hash[32];
19
+ memset(hash, 0, 32);
20
+ ::SHA256(data, size, hash);
21
+ strOutput.append((const char*)hash, 32);
22
+ return true;
23
+ }
24
+
25
+ bool ZSHA::SHA1(const string& strData, string& strOutput)
26
+ {
27
+ return ZSHA::SHA1((uint8_t*)strData.data(), strData.size(), strOutput);
28
+ }
29
+
30
+ bool ZSHA::SHA256(const string& strData, string& strOutput)
31
+ {
32
+ return ZSHA::SHA256((uint8_t*)strData.data(), strData.size(), strOutput);
33
+ }
34
+
35
+ bool ZSHA::SHA(const string& strData, string& strSHA1, string& strSHA256)
36
+ {
37
+ ZSHA::SHA1(strData, strSHA1);
38
+ ZSHA::SHA256(strData, strSHA256);
39
+ return (!strSHA1.empty() && !strSHA256.empty());
40
+ }
41
+
42
+ bool ZSHA::SHA1Text(const string& strData, string& strOutput)
43
+ {
44
+ string strSHASum;
45
+ ZSHA::SHA1(strData, strSHASum);
46
+
47
+ strOutput.clear();
48
+ char buf[16] = { 0 };
49
+ for (size_t i = 0; i < strSHASum.size(); i++) {
50
+ snprintf(buf, sizeof(buf), "%02x", (uint8_t)strSHASum[i]);
51
+ strOutput += buf;
52
+ }
53
+ return (!strOutput.empty());
54
+ }
55
+
56
+ bool ZSHA::SHAFile(const char* szFile, string& strSHA1, string& strSHA256)
57
+ {
58
+ strSHA1.clear();
59
+ strSHA256.clear();
60
+ size_t sSize = 0;
61
+ uint8_t* pBase = (uint8_t*)ZFile::MapFile(szFile, 0, 0, &sSize, true);
62
+ // pBase may be NULL, but it's ok, because the file may be empty
63
+ ZSHA::SHA1(pBase, sSize, strSHA1);
64
+ ZSHA::SHA256(pBase, sSize, strSHA256);
65
+ if (NULL != pBase && sSize > 0) {
66
+ ZFile::UnmapFile(pBase, sSize);
67
+ }
68
+ return (!strSHA1.empty() && !strSHA256.empty());
69
+ }
70
+
71
+ bool ZSHA::SHABase64(const string& strData, string& strSHA1Base64, string& strSHA256Base64)
72
+ {
73
+ jbase64 b64;
74
+ string strSHA1;
75
+ string strSHA256;
76
+ SHA(strData, strSHA1, strSHA256);
77
+ strSHA1Base64 = b64.encode(strSHA1);
78
+ strSHA256Base64 = b64.encode(strSHA256);
79
+ return (!strSHA1Base64.empty() && !strSHA256Base64.empty());
80
+ }
81
+
82
+ bool ZSHA::SHABase64File(const char* szFile, string& strSHA1Base64, string& strSHA256Base64)
83
+ {
84
+ jbase64 b64;
85
+ string strSHA1;
86
+ string strSHA256;
87
+ SHAFile(szFile, strSHA1, strSHA256);
88
+ strSHA1Base64 = b64.encode(strSHA1);
89
+ strSHA256Base64 = b64.encode(strSHA256);
90
+ return (!strSHA1Base64.empty() && !strSHA256Base64.empty());
91
+ }
92
+
93
+ void ZSHA::Print(const char* prefix, const uint8_t* hash, uint32_t size, const char* suffix)
94
+ {
95
+ ZLog::PrintV("%s", prefix);
96
+ for (uint32_t i = 0; i < size; i++) {
97
+ ZLog::PrintV("%02x", hash[i]);
98
+ }
99
+ ZLog::PrintV("%s", suffix);
100
+ }
101
+
102
+ void ZSHA::Print(const char* prefix, const string& strSHASum, const char* suffix)
103
+ {
104
+ Print(prefix, (const uint8_t*)strSHASum.data(), (uint32_t)strSHASum.size(), suffix);
105
+ }
106
+
107
+ void ZSHA::PrintData1(const char* prefix, const string& strData, const char* suffix)
108
+ {
109
+ string strSHASum;
110
+ ZSHA::SHA1(strData, strSHASum);
111
+ Print(prefix, strSHASum, suffix);
112
+ }
113
+
114
+ void ZSHA::PrintData1(const char* prefix, uint8_t* data, size_t size, const char* suffix)
115
+ {
116
+ string strSHASum;
117
+ ZSHA::SHA1(data, size, strSHASum);
118
+ Print(prefix, strSHASum, suffix);
119
+ }
120
+
121
+ void ZSHA::PrintData256(const char* prefix, const string& strData, const char* suffix)
122
+ {
123
+ string strSHASum;
124
+ ZSHA::SHA256(strData, strSHASum);
125
+ Print(prefix, strSHASum, suffix);
126
+ }
127
+
128
+ void ZSHA::PrintData256(const char* prefix, uint8_t* data, size_t size, const char* suffix)
129
+ {
130
+ string strSHASum;
131
+ ZSHA::SHA256(data, size, strSHASum);
132
+ Print(prefix, strSHASum, suffix);
133
+ }
@@ -0,0 +1,24 @@
1
+ #pragma once
2
+
3
+ #include "common.h"
4
+
5
+ class ZSHA
6
+ {
7
+ public:
8
+
9
+ static bool SHA1(uint8_t* data, size_t size, string& strOutput);
10
+ static bool SHA1(const string& strData, string& strOutput);
11
+ static bool SHA256(uint8_t* data, size_t size, string& strOutput);
12
+ static bool SHA256(const string& strData, string& strOutput);
13
+ static bool SHA(const string& strData, string& strSHA1, string& strSHA256);
14
+ static bool SHA1Text(const string& strData, string& strOutput);
15
+ static bool SHAFile(const char* szFile, string& strSHA1, string& strSHA256);
16
+ static bool SHABase64(const string& strData, string& strSHA1Base64, string& strSHA256Base64);
17
+ static bool SHABase64File(const char* szFile, string& strSHA1Base64, string& strSHA256Base64);
18
+ static void Print(const char* prefix, const uint8_t* hash, uint32_t size, const char* suffix = "\n");
19
+ static void Print(const char* prefix, const string& strSHASum, const char* suffix = "\n");
20
+ static void PrintData1(const char* prefix, const string& strData, const char* suffix = "\n");
21
+ static void PrintData1(const char* prefix, uint8_t* data, size_t size, const char* suffix = "\n");
22
+ static void PrintData256(const char* prefix, const string& strData, const char* suffix = "\n");
23
+ static void PrintData256(const char* prefix, uint8_t* data, size_t size, const char* suffix = "\n");
24
+ };
@@ -0,0 +1,28 @@
1
+ #include "timer.h"
2
+
3
+ ZTimer::ZTimer()
4
+ {
5
+ Reset();
6
+ }
7
+
8
+ uint64_t ZTimer::Reset()
9
+ {
10
+ m_uBeginTime = ZUtil::GetMicroSecond();
11
+ return m_uBeginTime;
12
+ }
13
+
14
+ uint64_t ZTimer::Print(const char* szFormatArgs, ...)
15
+ {
16
+ FORMAT_V(szFormatArgs, szFormat);
17
+ uint64_t uElapse = ZUtil::GetMicroSecond() - m_uBeginTime;
18
+ ZLog::PrintV("%s (%.03fs, %lluus)\n", szFormat, uElapse / 1000000.0, uElapse);
19
+ return Reset();
20
+ }
21
+
22
+ uint64_t ZTimer::PrintResult(bool bSuccess, const char* szFormatArgs, ...)
23
+ {
24
+ FORMAT_V(szFormatArgs, szFormat);
25
+ uint64_t uElapse = ZUtil::GetMicroSecond() - m_uBeginTime;
26
+ ZLog::PrintResultV(bSuccess, "%s (%.03fs, %lluus)\n", szFormat, uElapse / 1000000.0, uElapse);
27
+ return Reset();
28
+ }
@@ -0,0 +1,17 @@
1
+ #pragma once
2
+
3
+ #include "common.h"
4
+
5
+ class ZTimer
6
+ {
7
+ public:
8
+ ZTimer();
9
+
10
+ public:
11
+ uint64_t Reset();
12
+ uint64_t Print(const char* szFormatArgs, ...);
13
+ uint64_t PrintResult(bool bSuccess, const char* szFormatArgs, ...);
14
+
15
+ private:
16
+ uint64_t m_uBeginTime;
17
+ };
@@ -0,0 +1,185 @@
1
+ #include "util.h"
2
+
3
+ #ifdef _WIN32
4
+ #define PRId64 "lld"
5
+ #elif __APPLE__
6
+ #define PRId64 "lld"
7
+ #else
8
+ #define PRId64 "ld"
9
+ #endif
10
+
11
+ string ZUtil::FormatSize(int64_t size, int64_t base)
12
+ {
13
+ double fsize = 0;
14
+ char ret[64] = { 0 };
15
+ if (size > base * base * base * base) {
16
+ fsize = (size * 1.0) / (base * base * base * base);
17
+ snprintf(ret, sizeof(ret), "%.2f TB", fsize);
18
+ } else if (size > base * base * base) {
19
+ fsize = (size * 1.0) / (base * base * base);
20
+ snprintf(ret, sizeof(ret), "%.2f GB", fsize);
21
+ } else if (size > base * base) {
22
+ fsize = (size * 1.0) / (base * base);
23
+ snprintf(ret, sizeof(ret), "%.2f MB", fsize);
24
+ } else if (size > base) {
25
+ fsize = (size * 1.0) / (base);
26
+ snprintf(ret, sizeof(ret), "%.2f KB", fsize);
27
+ } else {
28
+ snprintf(ret, sizeof(ret), "%" PRId64 " B", size);
29
+ }
30
+ return ret;
31
+ }
32
+
33
+ time_t ZUtil::GetUnixStamp()
34
+ {
35
+ time_t ustime = 0;
36
+ time(&ustime);
37
+ return ustime;
38
+ }
39
+
40
+ uint64_t ZUtil::GetMicroSecond()
41
+ {
42
+ #ifdef _WIN32
43
+ LARGE_INTEGER frequency, counter;
44
+ QueryPerformanceFrequency(&frequency);
45
+ QueryPerformanceCounter(&counter);
46
+ return (counter.QuadPart * 1000000) / frequency.QuadPart;
47
+ #else
48
+ struct timeval tv = { 0 };
49
+ gettimeofday(&tv, NULL);
50
+ return tv.tv_sec * 1000000 + tv.tv_usec;
51
+ #endif
52
+ }
53
+
54
+ bool ZUtil::SystemExecV(const char* szCmd, ...)
55
+ {
56
+ FORMAT_V(szCmd, szRealCmd);
57
+
58
+ if (strlen(szRealCmd) <= 0) {
59
+ return false;
60
+ }
61
+
62
+ int status = system(szRealCmd);
63
+ if (0 != status) {
64
+ ZLog::ErrorV("SystemExec: \"%s\", error!\n", szRealCmd);
65
+ return false;
66
+ }
67
+ return true;
68
+ }
69
+
70
+ uint16_t ZUtil::Swap(uint16_t value)
71
+ {
72
+ return ((value >> 8) & 0x00ff) | ((value << 8) & 0xff00);
73
+ }
74
+
75
+ uint32_t ZUtil::Swap(uint32_t value)
76
+ {
77
+ value = ((value >> 8) & 0x00ff00ff) | ((value << 8) & 0xff00ff00);
78
+ value = ((value >> 16) & 0x0000ffff) | ((value << 16) & 0xffff0000);
79
+ return value;
80
+ }
81
+
82
+ uint64_t ZUtil::Swap(uint64_t value)
83
+ {
84
+ value = (value & 0x00000000ffffffffULL) << 32 | (value & 0xffffffff00000000ULL) >> 32;
85
+ value = (value & 0x0000ffff0000ffffULL) << 16 | (value & 0xffff0000ffff0000ULL) >> 16;
86
+ value = (value & 0x00ff00ff00ff00ffULL) << 8 | (value & 0xff00ff00ff00ff00ULL) >> 8;
87
+ return value;
88
+ }
89
+
90
+ uint32_t ZUtil::ByteAlign(uint32_t uValue, uint32_t uAlign)
91
+ {
92
+ return (uValue + (uAlign - uValue % uAlign));
93
+ }
94
+
95
+ const char* ZUtil::StringFormatV(string& strFormat, const char* szFormatArgs, ...)
96
+ {
97
+ FORMAT_V(szFormatArgs, szFormat);
98
+ strFormat = szFormat;
99
+ return strFormat.c_str();
100
+ }
101
+
102
+ string& ZUtil::StringReplace(string& context, const string& from, const string& to)
103
+ {
104
+ size_t lookHere = 0;
105
+ size_t foundHere;
106
+ while ((foundHere = context.find(from, lookHere)) != string::npos) {
107
+ context.replace(foundHere, from.size(), to);
108
+ lookHere = foundHere + to.size();
109
+ }
110
+ return context;
111
+ }
112
+
113
+ void ZUtil::StringSplit(const string& src, const string& split, vector<string>& dest)
114
+ {
115
+ size_t oldPos = 0;
116
+ size_t newPos = src.find(split, oldPos);
117
+ while (newPos != string::npos) {
118
+ dest.push_back(src.substr(oldPos, newPos - oldPos));
119
+ oldPos = newPos + split.size();
120
+ newPos = src.find(split, oldPos);
121
+ }
122
+ if (oldPos < src.size()) {
123
+ dest.push_back(src.substr(oldPos));
124
+ }
125
+ }
126
+
127
+ string& ZUtil::StringTrim(string& str)
128
+ {
129
+ if (!str.empty()) {
130
+ str.erase(0, str.find_first_not_of(' '));
131
+ str.erase(str.find_last_not_of(' ') + 1);
132
+ str.erase(0, str.find_first_not_of('\t'));
133
+ str.erase(str.find_last_not_of('\t') + 1);
134
+ str.erase(0, str.find_first_not_of('\r'));
135
+ str.erase(str.find_last_not_of('\r') + 1);
136
+ str.erase(0, str.find_first_not_of('\n'));
137
+ str.erase(str.find_last_not_of('\n') + 1);
138
+ }
139
+ return str;
140
+ }
141
+
142
+ const char* ZUtil::GetBaseName(const char* path)
143
+ {
144
+ #ifdef _WIN32
145
+ return ::PathFindFileNameA(path);
146
+ #else
147
+ return ::basename((char*)path);
148
+ #endif
149
+ }
150
+
151
+ int ZUtil::builtin_clzll(uint64_t x)
152
+ {
153
+ //__builtin_clzll(x);
154
+
155
+ if (x == 0) {
156
+ return 64;
157
+ }
158
+
159
+ int count = 0;
160
+ if (x <= 0x00000000FFFFFFFF) {
161
+ count += 32;
162
+ x <<= 32;
163
+ }
164
+ if (x <= 0x0000FFFFFFFFFFFF) {
165
+ count += 16;
166
+ x <<= 16;
167
+ }
168
+ if (x <= 0x00FFFFFFFFFFFFFF) {
169
+ count += 8;
170
+ x <<= 8;
171
+ }
172
+ if (x <= 0x0FFFFFFFFFFFFFFF) {
173
+ count += 4;
174
+ x <<= 4;
175
+ }
176
+ if (x <= 0x3FFFFFFFFFFFFFFF) {
177
+ count += 2;
178
+ x <<= 2;
179
+ }
180
+ if (x <= 0x7FFFFFFFFFFFFFFF) {
181
+ count += 1;
182
+ }
183
+
184
+ return count;
185
+ }
@@ -0,0 +1,25 @@
1
+ #pragma once
2
+
3
+ #include "common.h"
4
+
5
+ class ZUtil
6
+ {
7
+ public:
8
+ static const char* StringFormatV(string& strFormat, const char* szFormatArgs, ...);
9
+ static string& StringReplace(string& context, const string& from, const string& to);
10
+ static void StringSplit(const string& src, const string& split, vector<string>& dest);
11
+ static string& StringTrim(string& str);
12
+ static string FormatSize(int64_t size, int64_t base = 1024);
13
+ static time_t GetUnixStamp();
14
+ static uint64_t GetMicroSecond();
15
+ static bool SystemExecV(const char* szCmd, ...);
16
+ static uint32_t ByteAlign(uint32_t uValue, uint32_t uAlign);
17
+ static const char* GetBaseName(const char* path);
18
+ static int builtin_clzll(uint64_t x);
19
+ static uint16_t Swap(uint16_t value);
20
+ static uint32_t Swap(uint32_t value);
21
+ static uint64_t Swap(uint64_t value);
22
+ };
23
+
24
+ #define LE(x) ZUtil::Swap(x)
25
+ #define BE(x) ZUtil::Swap(x)
@@ -0,0 +1,273 @@
1
+ #include "common.h"
2
+ #include "json.h"
3
+ #include "mach-o.h"
4
+ #include "openssl.h"
5
+ #include "signing.h"
6
+ #include "macho.h"
7
+
8
+ ZMachO::ZMachO()
9
+ {
10
+ m_pBase = NULL;
11
+ m_sSize = 0;
12
+ m_bCSRealloced = false;
13
+ }
14
+
15
+ ZMachO::~ZMachO()
16
+ {
17
+ FreeArchOes();
18
+ }
19
+
20
+ bool ZMachO::Init(const char* szFile)
21
+ {
22
+ m_strFile = szFile;
23
+ return OpenFile(szFile);
24
+ }
25
+
26
+ bool ZMachO::InitV(const char* szPath, ...)
27
+ {
28
+ FORMAT_V(szPath, szFile);
29
+ return Init(szFile);
30
+ }
31
+
32
+ bool ZMachO::Free()
33
+ {
34
+ FreeArchOes();
35
+ return CloseFile();
36
+ }
37
+
38
+ bool ZMachO::NewArchO(uint8_t* pBase, uint32_t uLength)
39
+ {
40
+ ZArchO* archo = new ZArchO();
41
+ if (archo->Init(pBase, uLength)) {
42
+ m_arrArchOes.push_back(archo);
43
+ return true;
44
+ }
45
+ delete archo;
46
+ return false;
47
+ }
48
+
49
+ void ZMachO::FreeArchOes()
50
+ {
51
+ for (size_t i = 0; i < m_arrArchOes.size(); i++) {
52
+ ZArchO* archo = m_arrArchOes[i];
53
+ delete archo;
54
+ }
55
+ m_pBase = NULL;
56
+ m_sSize = 0;
57
+ m_arrArchOes.clear();
58
+ }
59
+
60
+ bool ZMachO::OpenFile(const char* szPath)
61
+ {
62
+ FreeArchOes();
63
+
64
+ m_sSize = 0;
65
+ m_pBase = (uint8_t*)ZFile::MapFile(szPath, 0, 0, &m_sSize, false);
66
+ if (NULL != m_pBase) {
67
+ uint32_t magic = *((uint32_t*)m_pBase);
68
+ if (FAT_CIGAM == magic || FAT_MAGIC == magic) {
69
+ fat_header* pFatHeader = (fat_header*)m_pBase;
70
+ int nFatArch = (FAT_MAGIC == magic) ? pFatHeader->nfat_arch : LE(pFatHeader->nfat_arch);
71
+ for (int i = 0; i < nFatArch; i++) {
72
+ fat_arch* pFatArch = (fat_arch*)(m_pBase + sizeof(fat_header) + sizeof(fat_arch) * i);
73
+ uint8_t* pArchBase = m_pBase + ((FAT_MAGIC == magic) ? pFatArch->offset : LE(pFatArch->offset));
74
+ uint32_t uArchLength = (FAT_MAGIC == magic) ? pFatArch->size : LE(pFatArch->size);
75
+ if (!NewArchO(pArchBase, uArchLength)) {
76
+ ZLog::ErrorV(">>> Invalid arch file in fat mach-o file!\n");
77
+ return false;
78
+ }
79
+ }
80
+ } else if (MH_MAGIC == magic || MH_CIGAM == magic || MH_MAGIC_64 == magic || MH_CIGAM_64 == magic) {
81
+ if (!NewArchO(m_pBase, (uint32_t)m_sSize)) {
82
+ ZLog::ErrorV(">>> Invalid mach-o file!\n");
83
+ return false;
84
+ }
85
+ } else {
86
+ ZLog::ErrorV(">>> Invalid mach-o file (2)!\n");
87
+ return false;
88
+ }
89
+ }
90
+
91
+ return (!m_arrArchOes.empty());
92
+ }
93
+
94
+ bool ZMachO::CloseFile()
95
+ {
96
+ if (NULL == m_pBase || m_sSize <= 0) {
97
+ return false;
98
+ }
99
+
100
+ if (!ZFile::UnmapFile((void*)m_pBase, m_sSize)) {
101
+ ZLog::ErrorV(">>> CodeSign write(munmap) failed! Error: %p, %lu, %s\n", m_pBase, m_sSize, strerror(errno));
102
+ return false;
103
+ }
104
+ return true;
105
+ }
106
+
107
+ void ZMachO::PrintInfo()
108
+ {
109
+ for (size_t i = 0; i < m_arrArchOes.size(); i++) {
110
+ ZArchO* archo = m_arrArchOes[i];
111
+ archo->PrintInfo();
112
+ }
113
+ }
114
+
115
+ bool ZMachO::CheckSignature() const
116
+ {
117
+ return std::all_of(m_arrArchOes.cbegin(), m_arrArchOes.cend(),
118
+ [](ZArchO const * archo) {
119
+ return archo->IsSigned();
120
+ }
121
+ );
122
+ }
123
+
124
+ bool ZMachO::Sign(ZSignAsset* pSignAsset, bool bForce, string strBundleId, string strInfoSHA1, string strInfoSHA256, const string& strCodeResourcesData)
125
+ {
126
+ if (NULL == m_pBase || m_arrArchOes.empty()) {
127
+ return false;
128
+ }
129
+
130
+ for (size_t i = 0; i < m_arrArchOes.size(); i++) {
131
+ ZArchO* archo = m_arrArchOes[i];
132
+ if (strBundleId.empty()) {
133
+ jvalue jvInfo;
134
+ jvInfo.read_plist(archo->m_strInfoPlist);
135
+ strBundleId = jvInfo["CFBundleIdentifier"].as_cstr();
136
+ if (strBundleId.empty()) {
137
+ strBundleId = ZUtil::GetBaseName(m_strFile.c_str());
138
+ }
139
+ }
140
+
141
+ if (strInfoSHA1.empty() || strInfoSHA256.empty()) {
142
+ if (archo->m_strInfoPlist.empty()) {
143
+ strInfoSHA1.append(20, 0);
144
+ strInfoSHA256.append(32, 0);
145
+ } else {
146
+ ZSHA::SHA(archo->m_strInfoPlist, strInfoSHA1, strInfoSHA256);
147
+ }
148
+ }
149
+
150
+ if (!archo->Sign(pSignAsset, bForce, strBundleId, strInfoSHA1, strInfoSHA256, strCodeResourcesData)) {
151
+ if (!archo->m_bEnoughSpace && !m_bCSRealloced) {
152
+ m_bCSRealloced = true;
153
+ if (ReallocCodeSignSpace()) {
154
+ return Sign(pSignAsset, bForce, strBundleId, strInfoSHA1, strInfoSHA256, strCodeResourcesData);
155
+ }
156
+ }
157
+ return false;
158
+ }
159
+ }
160
+
161
+ return CloseFile();
162
+ }
163
+
164
+ bool ZMachO::ReallocCodeSignSpace()
165
+ {
166
+ ZLog::Warn(">>> Realloc CodeSignature space... \n");
167
+
168
+ vector<uint32_t> arrMachOesSizes;
169
+ for (size_t i = 0; i < m_arrArchOes.size(); i++) {
170
+ string strNewArchOFile;
171
+ ZUtil::StringFormatV(strNewArchOFile, "%s.archo.%d", m_strFile.c_str(), i);
172
+ uint32_t uNewLength = m_arrArchOes[i]->ReallocCodeSignSpace(strNewArchOFile);
173
+ if (uNewLength <= 0) {
174
+ ZLog::Error(">>> Failed!\n");
175
+ return false;
176
+ }
177
+ arrMachOesSizes.push_back(uNewLength);
178
+ }
179
+ ZLog::Warn(">>> Success!\n");
180
+
181
+ if (1 == m_arrArchOes.size()) {
182
+ CloseFile();
183
+ ZFile::RemoveFile(m_strFile.c_str());
184
+ string strNewArchOFile = m_strFile + ".archo.0";
185
+ if (0 == rename(strNewArchOFile.c_str(), m_strFile.c_str())) {
186
+ return OpenFile(m_strFile.c_str());
187
+ }
188
+ } else { //fat
189
+ uint32_t uAlign = 16384;
190
+ vector<fat_arch> arrArches;
191
+ fat_header fath = *((fat_header*)m_pBase);
192
+ int nFatArch = (FAT_MAGIC == fath.magic) ? fath.nfat_arch : LE(fath.nfat_arch);
193
+ for (int i = 0; i < nFatArch; i++) {
194
+ fat_arch arch = *((fat_arch*)(m_pBase + sizeof(fat_header) + sizeof(fat_arch) * i));
195
+ arrArches.push_back(arch);
196
+ }
197
+ CloseFile();
198
+
199
+ if (arrArches.size() != m_arrArchOes.size()) {
200
+ return false;
201
+ }
202
+
203
+ uint32_t uFatHeaderSize = sizeof(fat_header) + (uint32_t)arrArches.size() * sizeof(fat_arch);
204
+ uint32_t uPadding1 = (uAlign - uFatHeaderSize % uAlign);
205
+ uint32_t uOffset = uFatHeaderSize + uPadding1;
206
+ for (size_t i = 0; i < arrArches.size(); i++) {
207
+ fat_arch& arch = arrArches[i];
208
+ uint32_t& uMachOSize = arrMachOesSizes[i];
209
+
210
+ arch.align = (FAT_MAGIC == fath.magic) ? 14 : BE((uint32_t)14);
211
+ arch.offset = (FAT_MAGIC == fath.magic) ? uOffset : BE(uOffset);
212
+ arch.size = (FAT_MAGIC == fath.magic) ? uMachOSize : BE(uMachOSize);
213
+
214
+ uOffset += uMachOSize;
215
+ uOffset = uOffset + (uAlign - uOffset % uAlign);
216
+ }
217
+
218
+ string strNewFatMachOFile = m_strFile + ".fato";
219
+
220
+ string strFatHeader;
221
+ strFatHeader.append((const char*)&fath, sizeof(fat_header));
222
+ for (size_t i = 0; i < arrArches.size(); i++) {
223
+ fat_arch& arch = arrArches[i];
224
+ strFatHeader.append((const char*)&arch, sizeof(fat_arch));
225
+ }
226
+
227
+ string strPadding1;
228
+ strPadding1.append(uPadding1, 0);
229
+
230
+ ZFile::AppendFile(strNewFatMachOFile.c_str(), strFatHeader);
231
+ ZFile::AppendFile(strNewFatMachOFile.c_str(), strPadding1);
232
+
233
+ for (size_t i = 0; i < arrArches.size(); i++) {
234
+ size_t sSize = 0;
235
+ string strNewArchOFile = m_strFile + ".archo." + jvalue((int)i).as_string();
236
+ uint8_t* pData = (uint8_t*)ZFile::MapFile(strNewArchOFile.c_str(), 0, 0, &sSize, true);
237
+ if (NULL == pData) {
238
+ ZFile::RemoveFile(strNewFatMachOFile.c_str());
239
+ return false;
240
+ }
241
+ string strPadding;
242
+ strPadding.append((uAlign - sSize % uAlign), 0);
243
+
244
+ ZFile::AppendFile(strNewFatMachOFile.c_str(), (const char*)pData, sSize);
245
+ ZFile::AppendFile(strNewFatMachOFile.c_str(), strPadding);
246
+
247
+ ZFile::UnmapFile((void*)pData, sSize);
248
+ ZFile::RemoveFile(strNewArchOFile.c_str());
249
+ }
250
+
251
+ ZFile::RemoveFile(m_strFile.c_str());
252
+ if (0 == rename(strNewFatMachOFile.c_str(), m_strFile.c_str())) {
253
+ return OpenFile(m_strFile.c_str());
254
+ }
255
+ }
256
+
257
+ return false;
258
+ }
259
+
260
+ bool ZMachO::InjectDylib(bool bWeakInject, const char* szDylibFile)
261
+ {
262
+ ZLog::WarnV(">>> InjectDylib: %s %s... \n", szDylibFile, bWeakInject ? "(weak)" : "");
263
+
264
+ vector<uint32_t> arrMachOesSizes;
265
+ for (size_t i = 0; i < m_arrArchOes.size(); i++) {
266
+ if (!m_arrArchOes[i]->InjectDylib(bWeakInject, szDylibFile)) {
267
+ ZLog::Error(">>> Failed!\n");
268
+ return false;
269
+ }
270
+ }
271
+ ZLog::Warn(">>> Success!\n");
272
+ return true;
273
+ }