icoa-cli 2.9.3 → 2.12.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 (450) hide show
  1. package/dist/commands/ctf.js +19 -2
  2. package/dist/commands/exam.js +3 -1
  3. package/dist/commands/lang.js +12 -2
  4. package/dist/index.js +11 -5
  5. package/dist/lib/demo-exam.d.ts +10 -0
  6. package/dist/lib/demo-exam.js +54 -0
  7. package/dist/lib/gemini.js +19 -7
  8. package/dist/lib/translation.js +31 -7
  9. package/dist/repl.js +106 -15
  10. package/dist/types/index.d.ts +1 -1
  11. package/dist/types/index.js +1 -1
  12. package/package.json +3 -2
  13. package/translations/ar/1.json +9 -0
  14. package/translations/ar/10.json +9 -0
  15. package/translations/ar/11.json +9 -0
  16. package/translations/ar/12.json +9 -0
  17. package/translations/ar/13.json +9 -0
  18. package/translations/ar/14.json +9 -0
  19. package/translations/ar/15.json +9 -0
  20. package/translations/ar/16.json +9 -0
  21. package/translations/ar/17.json +9 -0
  22. package/translations/ar/18.json +9 -0
  23. package/translations/ar/19.json +9 -0
  24. package/translations/ar/20.json +9 -0
  25. package/translations/ar/21.json +9 -0
  26. package/translations/ar/22.json +9 -0
  27. package/translations/ar/23.json +9 -0
  28. package/translations/ar/24.json +9 -0
  29. package/translations/ar/25.json +9 -0
  30. package/translations/ar/26.json +9 -0
  31. package/translations/ar/27.json +9 -0
  32. package/translations/ar/28.json +9 -0
  33. package/translations/ar/29.json +9 -0
  34. package/translations/ar/30.json +9 -0
  35. package/translations/ar/31.json +9 -0
  36. package/translations/ar/32.json +9 -0
  37. package/translations/ar/33.json +9 -0
  38. package/translations/ar/34.json +9 -0
  39. package/translations/ar/35.json +9 -0
  40. package/translations/ar/36.json +9 -0
  41. package/translations/ar/37.json +9 -0
  42. package/translations/ar/38.json +9 -0
  43. package/translations/ar/39.json +9 -0
  44. package/translations/ar/4.json +9 -0
  45. package/translations/ar/40.json +9 -0
  46. package/translations/ar/41.json +9 -0
  47. package/translations/ar/42.json +9 -0
  48. package/translations/ar/43.json +9 -0
  49. package/translations/ar/44.json +9 -0
  50. package/translations/ar/45.json +9 -0
  51. package/translations/ar/46.json +9 -0
  52. package/translations/ar/47.json +9 -0
  53. package/translations/ar/48.json +9 -0
  54. package/translations/ar/49.json +9 -0
  55. package/translations/ar/5.json +9 -0
  56. package/translations/ar/6.json +9 -0
  57. package/translations/ar/7.json +9 -0
  58. package/translations/ar/8.json +9 -0
  59. package/translations/ar/9.json +9 -0
  60. package/translations/ar/demo.json +332 -0
  61. package/translations/de/1.json +9 -0
  62. package/translations/de/demo.json +332 -0
  63. package/translations/es/1.json +9 -0
  64. package/translations/es/10.json +9 -0
  65. package/translations/es/11.json +9 -0
  66. package/translations/es/12.json +9 -0
  67. package/translations/es/13.json +9 -0
  68. package/translations/es/14.json +9 -0
  69. package/translations/es/15.json +9 -0
  70. package/translations/es/16.json +9 -0
  71. package/translations/es/17.json +9 -0
  72. package/translations/es/18.json +9 -0
  73. package/translations/es/19.json +9 -0
  74. package/translations/es/20.json +9 -0
  75. package/translations/es/21.json +9 -0
  76. package/translations/es/22.json +9 -0
  77. package/translations/es/23.json +9 -0
  78. package/translations/es/24.json +9 -0
  79. package/translations/es/25.json +9 -0
  80. package/translations/es/26.json +9 -0
  81. package/translations/es/27.json +9 -0
  82. package/translations/es/28.json +9 -0
  83. package/translations/es/29.json +9 -0
  84. package/translations/es/30.json +9 -0
  85. package/translations/es/31.json +9 -0
  86. package/translations/es/32.json +9 -0
  87. package/translations/es/33.json +9 -0
  88. package/translations/es/34.json +9 -0
  89. package/translations/es/35.json +9 -0
  90. package/translations/es/36.json +9 -0
  91. package/translations/es/37.json +9 -0
  92. package/translations/es/38.json +9 -0
  93. package/translations/es/39.json +9 -0
  94. package/translations/es/4.json +9 -0
  95. package/translations/es/40.json +9 -0
  96. package/translations/es/41.json +9 -0
  97. package/translations/es/42.json +9 -0
  98. package/translations/es/43.json +9 -0
  99. package/translations/es/44.json +9 -0
  100. package/translations/es/45.json +9 -0
  101. package/translations/es/46.json +9 -0
  102. package/translations/es/47.json +9 -0
  103. package/translations/es/48.json +9 -0
  104. package/translations/es/49.json +9 -0
  105. package/translations/es/5.json +9 -0
  106. package/translations/es/6.json +9 -0
  107. package/translations/es/7.json +9 -0
  108. package/translations/es/8.json +9 -0
  109. package/translations/es/9.json +9 -0
  110. package/translations/es/demo.json +332 -0
  111. package/translations/fr/1.json +9 -0
  112. package/translations/fr/10.json +9 -0
  113. package/translations/fr/11.json +9 -0
  114. package/translations/fr/12.json +9 -0
  115. package/translations/fr/13.json +9 -0
  116. package/translations/fr/14.json +9 -0
  117. package/translations/fr/15.json +9 -0
  118. package/translations/fr/16.json +9 -0
  119. package/translations/fr/17.json +9 -0
  120. package/translations/fr/18.json +9 -0
  121. package/translations/fr/19.json +9 -0
  122. package/translations/fr/20.json +9 -0
  123. package/translations/fr/21.json +9 -0
  124. package/translations/fr/22.json +9 -0
  125. package/translations/fr/23.json +9 -0
  126. package/translations/fr/24.json +9 -0
  127. package/translations/fr/25.json +9 -0
  128. package/translations/fr/26.json +9 -0
  129. package/translations/fr/27.json +9 -0
  130. package/translations/fr/28.json +9 -0
  131. package/translations/fr/29.json +9 -0
  132. package/translations/fr/30.json +9 -0
  133. package/translations/fr/31.json +9 -0
  134. package/translations/fr/32.json +9 -0
  135. package/translations/fr/33.json +9 -0
  136. package/translations/fr/34.json +9 -0
  137. package/translations/fr/35.json +9 -0
  138. package/translations/fr/36.json +9 -0
  139. package/translations/fr/37.json +9 -0
  140. package/translations/fr/38.json +9 -0
  141. package/translations/fr/39.json +9 -0
  142. package/translations/fr/4.json +9 -0
  143. package/translations/fr/40.json +9 -0
  144. package/translations/fr/41.json +9 -0
  145. package/translations/fr/42.json +9 -0
  146. package/translations/fr/43.json +9 -0
  147. package/translations/fr/44.json +9 -0
  148. package/translations/fr/45.json +9 -0
  149. package/translations/fr/46.json +9 -0
  150. package/translations/fr/47.json +9 -0
  151. package/translations/fr/48.json +9 -0
  152. package/translations/fr/49.json +9 -0
  153. package/translations/fr/5.json +9 -0
  154. package/translations/fr/6.json +9 -0
  155. package/translations/fr/7.json +9 -0
  156. package/translations/fr/8.json +9 -0
  157. package/translations/fr/9.json +9 -0
  158. package/translations/fr/demo.json +332 -0
  159. package/translations/hi/1.json +9 -0
  160. package/translations/hi/10.json +9 -0
  161. package/translations/hi/11.json +9 -0
  162. package/translations/hi/12.json +9 -0
  163. package/translations/hi/13.json +9 -0
  164. package/translations/hi/14.json +9 -0
  165. package/translations/hi/15.json +9 -0
  166. package/translations/hi/16.json +9 -0
  167. package/translations/hi/17.json +9 -0
  168. package/translations/hi/18.json +9 -0
  169. package/translations/hi/19.json +9 -0
  170. package/translations/hi/20.json +9 -0
  171. package/translations/hi/21.json +9 -0
  172. package/translations/hi/22.json +9 -0
  173. package/translations/hi/23.json +9 -0
  174. package/translations/hi/24.json +9 -0
  175. package/translations/hi/25.json +9 -0
  176. package/translations/hi/26.json +9 -0
  177. package/translations/hi/27.json +9 -0
  178. package/translations/hi/28.json +9 -0
  179. package/translations/hi/29.json +9 -0
  180. package/translations/hi/30.json +9 -0
  181. package/translations/hi/31.json +9 -0
  182. package/translations/hi/32.json +9 -0
  183. package/translations/hi/33.json +9 -0
  184. package/translations/hi/34.json +9 -0
  185. package/translations/hi/35.json +9 -0
  186. package/translations/hi/36.json +9 -0
  187. package/translations/hi/37.json +9 -0
  188. package/translations/hi/38.json +9 -0
  189. package/translations/hi/39.json +9 -0
  190. package/translations/hi/4.json +9 -0
  191. package/translations/hi/40.json +9 -0
  192. package/translations/hi/41.json +9 -0
  193. package/translations/hi/42.json +9 -0
  194. package/translations/hi/43.json +9 -0
  195. package/translations/hi/44.json +9 -0
  196. package/translations/hi/45.json +9 -0
  197. package/translations/hi/46.json +9 -0
  198. package/translations/hi/47.json +9 -0
  199. package/translations/hi/48.json +9 -0
  200. package/translations/hi/49.json +9 -0
  201. package/translations/hi/5.json +9 -0
  202. package/translations/hi/6.json +9 -0
  203. package/translations/hi/7.json +9 -0
  204. package/translations/hi/8.json +9 -0
  205. package/translations/hi/9.json +9 -0
  206. package/translations/hi/demo.json +332 -0
  207. package/translations/id/demo.json +332 -0
  208. package/translations/ja/1.json +9 -0
  209. package/translations/ja/10.json +9 -0
  210. package/translations/ja/11.json +9 -0
  211. package/translations/ja/12.json +9 -0
  212. package/translations/ja/13.json +9 -0
  213. package/translations/ja/14.json +9 -0
  214. package/translations/ja/15.json +9 -0
  215. package/translations/ja/16.json +9 -0
  216. package/translations/ja/17.json +9 -0
  217. package/translations/ja/18.json +9 -0
  218. package/translations/ja/19.json +9 -0
  219. package/translations/ja/20.json +9 -0
  220. package/translations/ja/21.json +9 -0
  221. package/translations/ja/22.json +9 -0
  222. package/translations/ja/23.json +9 -0
  223. package/translations/ja/24.json +9 -0
  224. package/translations/ja/25.json +9 -0
  225. package/translations/ja/26.json +9 -0
  226. package/translations/ja/27.json +9 -0
  227. package/translations/ja/28.json +9 -0
  228. package/translations/ja/29.json +9 -0
  229. package/translations/ja/30.json +9 -0
  230. package/translations/ja/31.json +9 -0
  231. package/translations/ja/32.json +9 -0
  232. package/translations/ja/33.json +9 -0
  233. package/translations/ja/34.json +9 -0
  234. package/translations/ja/35.json +9 -0
  235. package/translations/ja/36.json +9 -0
  236. package/translations/ja/37.json +9 -0
  237. package/translations/ja/38.json +9 -0
  238. package/translations/ja/39.json +9 -0
  239. package/translations/ja/4.json +9 -0
  240. package/translations/ja/40.json +9 -0
  241. package/translations/ja/41.json +9 -0
  242. package/translations/ja/42.json +9 -0
  243. package/translations/ja/43.json +9 -0
  244. package/translations/ja/44.json +9 -0
  245. package/translations/ja/45.json +9 -0
  246. package/translations/ja/46.json +9 -0
  247. package/translations/ja/47.json +9 -0
  248. package/translations/ja/48.json +9 -0
  249. package/translations/ja/49.json +9 -0
  250. package/translations/ja/5.json +9 -0
  251. package/translations/ja/6.json +9 -0
  252. package/translations/ja/7.json +9 -0
  253. package/translations/ja/8.json +9 -0
  254. package/translations/ja/9.json +9 -0
  255. package/translations/ja/demo.json +332 -0
  256. package/translations/ko/1.json +9 -0
  257. package/translations/ko/10.json +9 -0
  258. package/translations/ko/11.json +9 -0
  259. package/translations/ko/12.json +9 -0
  260. package/translations/ko/13.json +9 -0
  261. package/translations/ko/14.json +9 -0
  262. package/translations/ko/15.json +9 -0
  263. package/translations/ko/16.json +9 -0
  264. package/translations/ko/17.json +9 -0
  265. package/translations/ko/18.json +9 -0
  266. package/translations/ko/19.json +9 -0
  267. package/translations/ko/20.json +9 -0
  268. package/translations/ko/21.json +9 -0
  269. package/translations/ko/22.json +9 -0
  270. package/translations/ko/23.json +9 -0
  271. package/translations/ko/24.json +9 -0
  272. package/translations/ko/25.json +9 -0
  273. package/translations/ko/26.json +9 -0
  274. package/translations/ko/27.json +9 -0
  275. package/translations/ko/28.json +9 -0
  276. package/translations/ko/29.json +9 -0
  277. package/translations/ko/30.json +9 -0
  278. package/translations/ko/31.json +9 -0
  279. package/translations/ko/32.json +9 -0
  280. package/translations/ko/33.json +9 -0
  281. package/translations/ko/34.json +9 -0
  282. package/translations/ko/35.json +9 -0
  283. package/translations/ko/36.json +9 -0
  284. package/translations/ko/37.json +9 -0
  285. package/translations/ko/38.json +9 -0
  286. package/translations/ko/39.json +9 -0
  287. package/translations/ko/4.json +9 -0
  288. package/translations/ko/40.json +9 -0
  289. package/translations/ko/41.json +9 -0
  290. package/translations/ko/42.json +9 -0
  291. package/translations/ko/43.json +9 -0
  292. package/translations/ko/44.json +9 -0
  293. package/translations/ko/45.json +9 -0
  294. package/translations/ko/46.json +9 -0
  295. package/translations/ko/47.json +9 -0
  296. package/translations/ko/48.json +9 -0
  297. package/translations/ko/49.json +9 -0
  298. package/translations/ko/5.json +9 -0
  299. package/translations/ko/6.json +9 -0
  300. package/translations/ko/7.json +9 -0
  301. package/translations/ko/8.json +9 -0
  302. package/translations/ko/9.json +9 -0
  303. package/translations/ko/demo.json +332 -0
  304. package/translations/pt/1.json +9 -0
  305. package/translations/pt/10.json +9 -0
  306. package/translations/pt/11.json +9 -0
  307. package/translations/pt/12.json +9 -0
  308. package/translations/pt/13.json +9 -0
  309. package/translations/pt/14.json +9 -0
  310. package/translations/pt/15.json +9 -0
  311. package/translations/pt/16.json +9 -0
  312. package/translations/pt/17.json +9 -0
  313. package/translations/pt/18.json +9 -0
  314. package/translations/pt/19.json +9 -0
  315. package/translations/pt/20.json +9 -0
  316. package/translations/pt/21.json +9 -0
  317. package/translations/pt/22.json +9 -0
  318. package/translations/pt/23.json +9 -0
  319. package/translations/pt/24.json +9 -0
  320. package/translations/pt/25.json +9 -0
  321. package/translations/pt/26.json +9 -0
  322. package/translations/pt/27.json +9 -0
  323. package/translations/pt/28.json +9 -0
  324. package/translations/pt/29.json +9 -0
  325. package/translations/pt/30.json +9 -0
  326. package/translations/pt/31.json +9 -0
  327. package/translations/pt/32.json +9 -0
  328. package/translations/pt/33.json +9 -0
  329. package/translations/pt/34.json +9 -0
  330. package/translations/pt/35.json +9 -0
  331. package/translations/pt/36.json +9 -0
  332. package/translations/pt/37.json +9 -0
  333. package/translations/pt/38.json +9 -0
  334. package/translations/pt/39.json +9 -0
  335. package/translations/pt/4.json +9 -0
  336. package/translations/pt/40.json +9 -0
  337. package/translations/pt/41.json +9 -0
  338. package/translations/pt/42.json +9 -0
  339. package/translations/pt/43.json +9 -0
  340. package/translations/pt/44.json +9 -0
  341. package/translations/pt/45.json +9 -0
  342. package/translations/pt/46.json +9 -0
  343. package/translations/pt/47.json +9 -0
  344. package/translations/pt/48.json +9 -0
  345. package/translations/pt/49.json +9 -0
  346. package/translations/pt/5.json +9 -0
  347. package/translations/pt/6.json +9 -0
  348. package/translations/pt/7.json +9 -0
  349. package/translations/pt/8.json +9 -0
  350. package/translations/pt/9.json +9 -0
  351. package/translations/pt/demo.json +332 -0
  352. package/translations/ru/1.json +9 -0
  353. package/translations/ru/10.json +9 -0
  354. package/translations/ru/11.json +9 -0
  355. package/translations/ru/12.json +9 -0
  356. package/translations/ru/13.json +9 -0
  357. package/translations/ru/14.json +9 -0
  358. package/translations/ru/15.json +9 -0
  359. package/translations/ru/16.json +9 -0
  360. package/translations/ru/17.json +9 -0
  361. package/translations/ru/18.json +9 -0
  362. package/translations/ru/19.json +9 -0
  363. package/translations/ru/20.json +9 -0
  364. package/translations/ru/21.json +9 -0
  365. package/translations/ru/22.json +9 -0
  366. package/translations/ru/23.json +9 -0
  367. package/translations/ru/24.json +9 -0
  368. package/translations/ru/25.json +9 -0
  369. package/translations/ru/26.json +9 -0
  370. package/translations/ru/27.json +9 -0
  371. package/translations/ru/28.json +9 -0
  372. package/translations/ru/29.json +9 -0
  373. package/translations/ru/30.json +9 -0
  374. package/translations/ru/31.json +9 -0
  375. package/translations/ru/32.json +9 -0
  376. package/translations/ru/33.json +9 -0
  377. package/translations/ru/34.json +9 -0
  378. package/translations/ru/35.json +9 -0
  379. package/translations/ru/36.json +9 -0
  380. package/translations/ru/37.json +9 -0
  381. package/translations/ru/38.json +9 -0
  382. package/translations/ru/39.json +9 -0
  383. package/translations/ru/4.json +9 -0
  384. package/translations/ru/40.json +9 -0
  385. package/translations/ru/41.json +9 -0
  386. package/translations/ru/42.json +9 -0
  387. package/translations/ru/43.json +9 -0
  388. package/translations/ru/44.json +9 -0
  389. package/translations/ru/45.json +9 -0
  390. package/translations/ru/46.json +9 -0
  391. package/translations/ru/47.json +9 -0
  392. package/translations/ru/48.json +9 -0
  393. package/translations/ru/49.json +9 -0
  394. package/translations/ru/5.json +9 -0
  395. package/translations/ru/6.json +9 -0
  396. package/translations/ru/7.json +9 -0
  397. package/translations/ru/8.json +9 -0
  398. package/translations/ru/9.json +9 -0
  399. package/translations/ru/demo.json +332 -0
  400. package/translations/th/demo.json +332 -0
  401. package/translations/tr/demo.json +332 -0
  402. package/translations/vi/demo.json +332 -0
  403. package/translations/zh/1.json +9 -0
  404. package/translations/zh/10.json +9 -0
  405. package/translations/zh/11.json +9 -0
  406. package/translations/zh/12.json +9 -0
  407. package/translations/zh/13.json +9 -0
  408. package/translations/zh/14.json +9 -0
  409. package/translations/zh/15.json +9 -0
  410. package/translations/zh/16.json +9 -0
  411. package/translations/zh/17.json +9 -0
  412. package/translations/zh/18.json +9 -0
  413. package/translations/zh/19.json +9 -0
  414. package/translations/zh/20.json +9 -0
  415. package/translations/zh/21.json +9 -0
  416. package/translations/zh/22.json +9 -0
  417. package/translations/zh/23.json +9 -0
  418. package/translations/zh/24.json +9 -0
  419. package/translations/zh/25.json +9 -0
  420. package/translations/zh/26.json +9 -0
  421. package/translations/zh/27.json +9 -0
  422. package/translations/zh/28.json +9 -0
  423. package/translations/zh/29.json +9 -0
  424. package/translations/zh/30.json +9 -0
  425. package/translations/zh/31.json +9 -0
  426. package/translations/zh/32.json +9 -0
  427. package/translations/zh/33.json +9 -0
  428. package/translations/zh/34.json +9 -0
  429. package/translations/zh/35.json +9 -0
  430. package/translations/zh/36.json +9 -0
  431. package/translations/zh/37.json +9 -0
  432. package/translations/zh/38.json +9 -0
  433. package/translations/zh/39.json +9 -0
  434. package/translations/zh/4.json +9 -0
  435. package/translations/zh/40.json +9 -0
  436. package/translations/zh/41.json +9 -0
  437. package/translations/zh/42.json +9 -0
  438. package/translations/zh/43.json +9 -0
  439. package/translations/zh/44.json +9 -0
  440. package/translations/zh/45.json +9 -0
  441. package/translations/zh/46.json +9 -0
  442. package/translations/zh/47.json +9 -0
  443. package/translations/zh/48.json +9 -0
  444. package/translations/zh/49.json +9 -0
  445. package/translations/zh/5.json +9 -0
  446. package/translations/zh/6.json +9 -0
  447. package/translations/zh/7.json +9 -0
  448. package/translations/zh/8.json +9 -0
  449. package/translations/zh/9.json +9 -0
  450. package/translations/zh/demo.json +332 -0
@@ -0,0 +1,332 @@
1
+ [
2
+ {
3
+ "number": 1,
4
+ "text": "Thuật toán nào KHÔNG phải là một thuật toán mật mã đối xứng (symmetric cipher)?",
5
+ "category": "Cryptography",
6
+ "options": {
7
+ "A": "AES",
8
+ "B": "RSA",
9
+ "C": "DES",
10
+ "D": "Blowfish"
11
+ }
12
+ },
13
+ {
14
+ "number": 2,
15
+ "text": "SQL injection khai thác điều gì?",
16
+ "category": "Web Security",
17
+ "options": {
18
+ "A": "Buffer overflow trong web server",
19
+ "B": "Dữ liệu đầu vào của người dùng chưa được làm sạch trong các truy vấn cơ sở dữ liệu",
20
+ "C": "Thuật toán mã hóa yếu",
21
+ "D": "Các quy tắc firewall cấu hình sai"
22
+ }
23
+ },
24
+ {
25
+ "number": 3,
26
+ "text": "Mã trạng thái HTTP nào cho biết \"Forbidden\"?",
27
+ "category": "Web Security",
28
+ "options": {
29
+ "A": "401",
30
+ "B": "404",
31
+ "C": "403",
32
+ "D": "500"
33
+ }
34
+ },
35
+ {
36
+ "number": 4,
37
+ "text": "Mục đích chính của một nonce trong mật mã học là gì?",
38
+ "category": "Cryptography",
39
+ "options": {
40
+ "A": "Mã hóa dữ liệu đang lưu trữ",
41
+ "B": "Ngăn chặn các cuộc tấn công replay",
42
+ "C": "Tạo ra mật khẩu ngẫu nhiên",
43
+ "D": "Nén dữ liệu trước khi mã hóa"
44
+ }
45
+ },
46
+ {
47
+ "number": 5,
48
+ "text": "Công cụ nào thường được sử dụng để bắt gói tin mạng?",
49
+ "category": "Network",
50
+ "options": {
51
+ "A": "Burp Suite",
52
+ "B": "Ghidra",
53
+ "C": "Wireshark",
54
+ "D": "John the Ripper"
55
+ }
56
+ },
57
+ {
58
+ "number": 6,
59
+ "text": "XSS là viết tắt của từ gì trong an ninh mạng?",
60
+ "category": "Web Security",
61
+ "options": {
62
+ "A": "Extended Security System",
63
+ "B": "Cross-Site Scripting",
64
+ "C": "XML Secure Socket",
65
+ "D": "Cross-Server Sharing"
66
+ }
67
+ },
68
+ {
69
+ "number": 7,
70
+ "text": "Chức năng chính của một firewall là gì?",
71
+ "category": "Network",
72
+ "options": {
73
+ "A": "Mã hóa dữ liệu mạng",
74
+ "B": "Lọc lưu lượng mạng dựa trên các quy tắc bảo mật",
75
+ "C": "Phát hiện virus trong các tệp",
76
+ "D": "Tăng tốc kết nối internet"
77
+ }
78
+ },
79
+ {
80
+ "number": 8,
81
+ "text": "Loại mã độc nào ngụy trang thành phần mềm hợp pháp?",
82
+ "category": "Malware",
83
+ "options": {
84
+ "A": "Worm",
85
+ "B": "Ransomware",
86
+ "C": "Trojan",
87
+ "D": "Adware"
88
+ }
89
+ },
90
+ {
91
+ "number": 9,
92
+ "text": "Giao thức nào cung cấp giao tiếp an toàn trên web?",
93
+ "category": "Network",
94
+ "options": {
95
+ "A": "HTTP",
96
+ "B": "FTP",
97
+ "C": "HTTPS",
98
+ "D": "SMTP"
99
+ }
100
+ },
101
+ {
102
+ "number": 10,
103
+ "text": "Hàm băm mật mã là gì?",
104
+ "category": "Cryptography",
105
+ "options": {
106
+ "A": "Một khóa mã hóa có thể đảo ngược",
107
+ "B": "Một hàm một chiều tạo ra một bản tóm tắt (digest) có kích thước cố định",
108
+ "C": "Một giao thức xác thực",
109
+ "D": "Một loại chữ ký số"
110
+ }
111
+ },
112
+ {
113
+ "number": 11,
114
+ "text": "Công cụ nào được sử dụng để phân tích nhị phân (binary analysis)?",
115
+ "category": "Reverse Engineering",
116
+ "options": {
117
+ "A": "Nmap",
118
+ "B": "SQLMap",
119
+ "C": "Ghidra",
120
+ "D": "Nikto"
121
+ }
122
+ },
123
+ {
124
+ "number": 12,
125
+ "text": "Cuộc tấn công nào thao túng các yêu cầu DNS để chuyển hướng lưu lượng truy cập?",
126
+ "category": "Network",
127
+ "options": {
128
+ "A": "Phishing",
129
+ "B": "DNS Spoofing",
130
+ "C": "SQL Injection",
131
+ "D": "Brute Force"
132
+ }
133
+ },
134
+ {
135
+ "number": 13,
136
+ "text": "Cổng tiêu chuẩn cho SSH là gì?",
137
+ "category": "Network",
138
+ "options": {
139
+ "A": "21",
140
+ "B": "22",
141
+ "C": "80",
142
+ "D": "443"
143
+ }
144
+ },
145
+ {
146
+ "number": 14,
147
+ "text": "Xác thực hai yếu tố (2FA) là gì?",
148
+ "category": "Authentication",
149
+ "options": {
150
+ "A": "Sử dụng hai mật khẩu khác nhau",
151
+ "B": "Xác minh danh tính bằng hai loại thông tin xác thực riêng biệt",
152
+ "C": "Mã hóa dữ liệu hai lần",
153
+ "D": "Kết nối qua hai mạng"
154
+ }
155
+ },
156
+ {
157
+ "number": 15,
158
+ "text": "Lệnh Linux nào hiển thị các cổng đang mở trên một hệ thống?",
159
+ "category": "Linux",
160
+ "options": {
161
+ "A": "ls -la",
162
+ "B": "netstat -tulpn",
163
+ "C": "chmod 777",
164
+ "D": "cat /etc/passwd"
165
+ }
166
+ },
167
+ {
168
+ "number": 16,
169
+ "text": "Tấn công Man-in-the-Middle (MitM) là gì?",
170
+ "category": "Network",
171
+ "options": {
172
+ "A": "Truy cập trái phép vào một server",
173
+ "B": "Chặn và sửa đổi các giao tiếp giữa hai bên",
174
+ "C": "Gửi nhiều yêu cầu để làm quá tải một server",
175
+ "D": "Đoán mật khẩu bằng brute force"
176
+ }
177
+ },
178
+ {
179
+ "number": 17,
180
+ "text": "Cái nào trong số này là một thuật toán băm?",
181
+ "category": "Cryptography",
182
+ "options": {
183
+ "A": "AES-256",
184
+ "B": "SHA-256",
185
+ "C": "RSA-2048",
186
+ "D": "Diffie-Hellman"
187
+ }
188
+ },
189
+ {
190
+ "number": 18,
191
+ "text": "Nguyên tắc đặc quyền tối thiểu là gì?",
192
+ "category": "Security",
193
+ "options": {
194
+ "A": "Cấp quyền root cho tất cả người dùng",
195
+ "B": "Chỉ cấp các quyền hạn cần thiết để thực hiện một nhiệm vụ",
196
+ "C": "Sử dụng mật khẩu ngắn nhất có thể",
197
+ "D": "Vô hiệu hóa tất cả các firewalls"
198
+ }
199
+ },
200
+ {
201
+ "number": 19,
202
+ "text": "Công cụ nào thường được sử dụng để quét cổng (port scanning)?",
203
+ "category": "Network",
204
+ "options": {
205
+ "A": "Wireshark",
206
+ "B": "Metasploit",
207
+ "C": "Nmap",
208
+ "D": "Hashcat"
209
+ }
210
+ },
211
+ {
212
+ "number": 20,
213
+ "text": "ransomware là gì?",
214
+ "category": "Malware",
215
+ "options": {
216
+ "A": "Phần mềm hiển thị quảng cáo không mong muốn",
217
+ "B": "Phần mềm mã hóa tệp tin và yêu cầu thanh toán để giải mã",
218
+ "C": "Phần mềm ghi lại thao tác bàn phím",
219
+ "D": "Phần mềm tự nhân bản qua mạng"
220
+ }
221
+ },
222
+ {
223
+ "number": 21,
224
+ "text": "Sự khác biệt giữa mã hóa đối xứng và mã hóa bất đối xứng là gì?",
225
+ "category": "Cryptography",
226
+ "options": {
227
+ "A": "Mã hóa đối xứng sử dụng cùng một khóa để mã hóa và giải mã; mã hóa bất đối xứng sử dụng hai khóa khác nhau.",
228
+ "B": "Mã hóa đối xứng chậm hơn mã hóa bất đối xứng.",
229
+ "C": "Mã hóa bất đối xứng chỉ hoạt động với các tệp nhỏ.",
230
+ "D": "Không có sự khác biệt đáng kể."
231
+ }
232
+ },
233
+ {
234
+ "number": 22,
235
+ "text": "Lỗ hổng nào cho phép thực thi mã tùy ý trên máy chủ web?",
236
+ "category": "Web Security",
237
+ "options": {
238
+ "A": "CSRF",
239
+ "B": "Remote Code Execution (RCE)",
240
+ "C": "Clickjacking",
241
+ "D": "Open Redirect"
242
+ }
243
+ },
244
+ {
245
+ "number": 23,
246
+ "text": "OWASP là gì?",
247
+ "category": "Security",
248
+ "options": {
249
+ "A": "Một hệ điều hành bảo mật",
250
+ "B": "Một tổ chức xuất bản các tiêu chuẩn và hướng dẫn bảo mật web",
251
+ "C": "Một loại firewall",
252
+ "D": "Một ngôn ngữ lập trình cho bảo mật"
253
+ }
254
+ },
255
+ {
256
+ "number": 24,
257
+ "text": "Lệnh Linux nào thay đổi quyền truy cập tệp tin?",
258
+ "category": "Linux",
259
+ "options": {
260
+ "A": "chown",
261
+ "B": "chmod",
262
+ "C": "chgrp",
263
+ "D": "passwd"
264
+ }
265
+ },
266
+ {
267
+ "number": 25,
268
+ "text": "Chứng chỉ SSL/TLS là gì?",
269
+ "category": "Cryptography",
270
+ "options": {
271
+ "A": "Một tệp tin chứa malware",
272
+ "B": "Một tài liệu kỹ thuật số xác thực danh tính của một trang web",
273
+ "C": "Một khóa riêng (private key) cho SSH",
274
+ "D": "Một loại database được mã hóa"
275
+ }
276
+ },
277
+ {
278
+ "number": 26,
279
+ "text": "Đâu trong số những điều sau đây là một cuộc tấn công kỹ thuật xã hội?",
280
+ "category": "Security",
281
+ "options": {
282
+ "A": "Buffer overflow",
283
+ "B": "Phishing",
284
+ "C": "SQL Injection",
285
+ "D": "Port scanning"
286
+ }
287
+ },
288
+ {
289
+ "number": 27,
290
+ "text": "Lệnh Linux \"grep\" làm gì?",
291
+ "category": "Linux",
292
+ "options": {
293
+ "A": "Nén các tập tin",
294
+ "B": "Tìm kiếm các mẫu văn bản trong các tập tin",
295
+ "C": "Hiển thị các tiến trình đang hoạt động",
296
+ "D": "Cấu hình mạng"
297
+ }
298
+ },
299
+ {
300
+ "number": 28,
301
+ "text": "VPN là gì?",
302
+ "category": "Network",
303
+ "options": {
304
+ "A": "Một loại virus",
305
+ "B": "Một mạng riêng ảo mã hóa lưu lượng truy cập internet",
306
+ "C": "Một giao thức truyền tệp",
307
+ "D": "Một công cụ quét lỗ hổng bảo mật"
308
+ }
309
+ },
310
+ {
311
+ "number": 29,
312
+ "text": "CSRF (Cross-Site Request Forgery) là gì?",
313
+ "category": "Web Security",
314
+ "options": {
315
+ "A": "Một cuộc tấn công buộc trình duyệt của người dùng thực hiện các hành động trái phép",
316
+ "B": "Một phương pháp mã hóa dữ liệu",
317
+ "C": "Một loại máy quét mạng",
318
+ "D": "Một kỹ thuật nén tệp"
319
+ }
320
+ },
321
+ {
322
+ "number": 30,
323
+ "text": "Thực hành tốt nhất để lưu trữ mật khẩu trong cơ sở dữ liệu là gì?",
324
+ "category": "Security",
325
+ "options": {
326
+ "A": "Plain text",
327
+ "B": "Mã hóa bằng AES",
328
+ "C": "Băm với salt",
329
+ "D": "Mã hóa bằng Base64"
330
+ }
331
+ }
332
+ ]
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 1,
3
+ "name": "Incorrect Implementation of RSA",
4
+ "category": "crypto",
5
+ "translation": "我刚刚了解了 Rivest-Shamir-Aldeman,因此我创建了我自己的自定义实现。这是消息:\n\n```\nn: 16537241065399537261146800802060451995107796665337288928060948677362154976656429797729550619497788311160926523026781503470362013597201944839389519773564618679827061417896265475971561610333659217333638238386907603525565178455941971399130722191602944445714002268747028340120907894781607422707823554701443768586256913491149809410232167277063066105859165079765281480076330718726350243973636606134346374770537701812923215229226027759112780757449828410180237267791126609342382918352166823253106960191346933601235547281\ne: 5\nciphertext: [17623416832, 10510100501, 9509900499, 8587340257, 16105100000, 28153056843, 16850581551, 12166529024, 7737809375, 12762815625, 7737809375, 19254145824, 10510100501, 8587340257, 14693280768, 14693280768, 25937424601, 7737809375, 21003416576, 12166529024, 16850581551, 21924480357, 11592740743, 12166529024, 21003416576, 7737809375, 12762815625, 7737809375, 12166529024, 8587340257, 10000000000, 7737809375, 21003416576, 12166529024, 8587340257, 21003416576, 7737809375, 10000000000, 16850581551, 16105100000, 10510100501, 7737809375, 9509900499, 254803968, 19254145824, 19254145824, 345025251, 9509900499, 21003416576, 14693280768, 25937424601, 7737809375, 282475249, 282475249, 459165024, 312500000, 601692057, 30517578125]\n```",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:56:08.895Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 10,
3
+ "name": "The Perfect Breakfast",
4
+ "category": "crypto",
5
+ "translation": "啊,早餐。当太阳从地平线升起的那一刻,没有什么能比得上炉子上滋滋作响的食物的香味了。我从不跳过它,不是因为我是个早起的人,而是因为早餐是我找到真正使命的地方。有些人喜欢麦片,另一些人喜欢吐司,但我呢?我喜欢让一切都保持酥脆。\n\n我的早晨例行公事也充满艺术。两颗蛋,半熟。一杯黑咖啡。还有那颗皇冠上的宝石:那种烟熏咸香的完美滋味,总能让我嘴角上扬。我的最爱。确实有点放纵,但每一口都值得。\n\n他们说早餐是一天中最重要的一餐……也许这就是我把消息藏在那里的原因。你只需要知道在哪里寻找,就在层层之下。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:56:56.117Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 11,
3
+ "name": "Wise Words",
4
+ "category": "crypto",
5
+ "translation": "我曾遇到过奥古斯都,一位伟大将军的养子兼继承人。当我问他最伟大的策略是什么时,他只是耳语道:Fwfo_Djqifsaa_Fwpmwf",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:57:02.502Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 12,
3
+ "name": "HexedHeaders",
4
+ "category": "forensics",
5
+ "translation": "这个文件似乎包含秘密... 但是如何进入...",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:57:07.846Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 13,
3
+ "name": "Keylogger",
4
+ "category": "forensics",
5
+ "translation": "发现情况不对劲后,Ole 向安全团队报告了此事。团队决定调查网络并注意到了一些可疑之处。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:57:12.415Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 14,
3
+ "name": "obfuscated script",
4
+ "category": "forensics",
5
+ "translation": "一名员工在他们的 Downloads 文件夹中发现了两个奇怪的文件:一个脚本和一个他们无法读取的文件。你能弄清楚它们是什么吗?",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:05:55.383Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 15,
3
+ "name": "Ping",
4
+ "category": "forensics",
5
+ "translation": "如今的攻击者越来越狡猾了,他们正在寻找各种方法来外带数据!这次他们窃取了什么?",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:06:09.616Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 16,
3
+ "name": "Sound Inversion",
4
+ "category": "forensics",
5
+ "translation": "士兵,我们认为敌人在此文件的某处隐藏了一段语音消息。找到它,并立即汇报。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:06:18.456Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 17,
3
+ "name": "There is always a trace",
4
+ "category": "forensics",
5
+ "translation": "你刚被 NSA 录用,今天是入职的第一天。你的首项任务是处理一个看起来十分可疑的文件。他们几乎没有提供任何背景信息,只说明该文件是从一名嫌疑人的笔记本电脑中提取的,而此人涉嫌远程入侵了某台政府服务器。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:06:27.250Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 18,
3
+ "name": "Electric Debugger",
4
+ "category": "misc",
5
+ "translation": "其他流行 debuggers 的竞争对手今天早上刚刚发布了其 Electric debugger 的新版本。不幸的是,它已不再免费或开源。然而有传言称,如果有人能成功 hack 它,就可以获得赏金。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:06:40.651Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 19,
3
+ "name": "Old is gold",
4
+ "category": "misc",
5
+ "translation": "前任 sysadmin 已经在这里工作了近 47 年。你在他的旧 PC 上发现了这个文件……",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:06:47.249Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 20,
3
+ "name": "Perceptions",
4
+ "category": "misc",
5
+ "translation": "快来看看我做的这个博客!它有一个很酷的 backend,显然它使用了更少的 ports。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:06:55.488Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 21,
3
+ "name": "Rules",
4
+ "category": "misc",
5
+ "translation": "遵守本次 CTF 的规则!",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:07:00.406Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 22,
3
+ "name": "Survey",
4
+ "category": "misc",
5
+ "translation": "请告诉我们您对 PECAN+ CTF 2025 的看法。您的每一份反馈都很有帮助!\n\n<https://forms.cloud.microsoft/r/q5ESPCft24>",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:58:44.180Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 23,
3
+ "name": "The Job Interview",
4
+ "category": "misc",
5
+ "translation": "你弓着身子趴在键盘前,精神上与求职面试问题搏斗了两个小时,片刻不停。你的咖啡凉了。你的耐心也所剩无几。\n但就在你即将提交最终答案时,屏幕上出现了一条神秘信息:\n\n“你已经证明了你的耐力。现在,让我们来测试一下你的问题解决能力以及你似乎了如指掌的代码高级知识。”\n\n一个 URL 出现在眼前:\n\nhttps://docs.google.com/document/d/e/2PACX-1vRW7X8yMO9cM-b6Ao3FbiZysF3MIjARoeO73z0PlG8O_yeM8xxWAWzt9hdoavlh3HR1IOEwWtJFpczI/pub\n\n里面有什么?一个由神秘数据组成的网格,看似简单,实则隐藏着关键信息。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:58:51.673Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 24,
3
+ "name": "Class Above Par",
4
+ "category": "osint",
5
+ "translation": "每天,Jamie 都会穿过墨尔本南部郊区绿树成荫的街道,前往他们的中学——在那里,早上的点名常常被头顶远处飞机的轰鸣声打断。\n\n一天下午,在为一个课堂项目绘制当地地标时,Jamie 发现了一件奇怪的事情:他们的学校可能是一个主要机场最近的中学。更奇怪的是,它也离广阔的高尔夫球场不远,在那里,安静的挥杆与喷气式发动机的轰鸣声形成了鲜明对比。\n\n你能找出 Jamie 的学校吗?Flag 格式:`pecan{my_high_school}`",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:58:57.679Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 25,
3
+ "name": "Travelling Around",
4
+ "category": "osint",
5
+ "translation": "嗯…… 玉米人似乎去过一些有趣的地方,路线却非常奇怪。这会意味着什么吗?也许郊区藏着线索... 那些帖子可能包含一个指向正确方向的“指示”...\n请记住将 flag 包装在 pecan{} 中,使用大写字母,并用下划线分隔单词。例如:`pecan{I_LOVE_PECAN}`",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:59:04.567Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 26,
3
+ "name": "Online Presence",
4
+ "category": "osint",
5
+ "translation": "经过广泛调查,似乎 Corn Man 拥有社交媒体账号。你能帮我们找到他使用的账号吗?",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:59:15.108Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 27,
3
+ "name": "Happy Birthday Corn Man!",
4
+ "category": "osint",
5
+ "translation": "我追踪 Corn Man 已经有一段时间了,但现在遇到了一个障碍。我最近在线找到了他的电子邮件,是:<cornman25944@gmail.com>。他似乎在网上影响力很大。你能帮我找到他的生日,并协助这次调查吗?",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T02:59:20.293Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 28,
3
+ "name": "Ego is the weakness",
4
+ "category": "osint",
5
+ "translation": "最近发现了一起 ransomware 行动,在短短几秒钟内造成了数百万美元的损失。\n经过与政府的合作调查,我们将其活动轨迹追溯到了一个 Instagram 账号,并认为该账号属于罪魁祸首。\n你能帮我们找出这名网络罪犯经常光顾的某个地点的地址吗?\n我们的情报表明,这个人很有可能还很年轻,所以尚未毕业。\n\nFlag 格式:`pecan{Paste in the address from Google Maps}`",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:07:14.617Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 29,
3
+ "name": "Go git the door",
4
+ "category": "osint",
5
+ "translation": "一名过去曾成功实施过多起大规模 ransomware 行动的臭名昭著的网络罪犯,目前正在策划一项新行动。幸运的是,他不小心将他的 GitHub repository 设为了公开。你能检查一下,看看他是否意外泄露了任何机密信息吗?\n\nFlag format: `pecan{secret1_secret2}`",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:07:26.156Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 30,
3
+ "name": "Echo Chamber",
4
+ "category": "pwn",
5
+ "translation": "我发现了一个奇怪的服务,你发给它什么它就会回复什么,就像一面奇怪的镜子或者倒影之类的东西。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:07:34.348Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 31,
3
+ "name": "Flag Fish",
4
+ "category": "pwn",
5
+ "translation": "Bjarne 正在寻找那条令人垂涎的 flag 鱼。他的第一次 `try` 没有成功,这次你能帮他 `catch` 到它吗?",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:07:42.432Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 32,
3
+ "name": "fridge",
4
+ "category": "pwn",
5
+ "translation": "我们遭遇了数据泄露!我们的取证团队查明,我们新的智能冰箱发出了一些奇怪的流量,而且他们似乎发现了一个仍在运行的旧 debugging service……\n\n现在就靠你来查明他们是如何获取我们冰箱访问权限的了!",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:07:57.267Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 33,
3
+ "name": "Say Shells!",
4
+ "category": "pwn",
5
+ "translation": "一个简单的 web app 允许你上传图片文件来查看它们的 EXIF metadata。但感觉有些不对劲……你的图片是不是被分析得有点太深入了?\n你能否欺骗服务器执行你自己的命令——从而揭示隐藏的 flag.txt 文件的内容?\n\n注意:仅允许上传图片文件。你不需要使用 brute force ——只需要一点创造力和正确的格式。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:08:08.386Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 34,
3
+ "name": "Show Me What You GOT!",
4
+ "category": "pwn",
5
+ "translation": "给我看看你的 GOT!我想看看你的 GOT!",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:08:14.735Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 35,
3
+ "name": "cafe1995",
4
+ "category": "rev",
5
+ "translation": "你接手了一个刚刚被解雇且无人监管的开发者留下的程序残骸。\n找到密码并让公司重回正轨……否则他们连你也一起解雇。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:08:27.787Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 36,
3
+ "name": "Doors 3",
4
+ "category": "rev",
5
+ "translation": "你的朋友还有最后一个 flag,他觉得你肯定拿不到,因为他们正在测试自己检测绕过 licence check 的能力。\n\n尝试获取这最后一个 flag 吧。为了拿到它,你可能需要 patch 这个 binary,不过有几条不同的路线可以选择。",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:08:38.431Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 37,
3
+ "name": "Doors 2",
4
+ "category": "rev",
5
+ "translation": "你的朋友非常感谢你找到了他们遗忘的那个 flag!\n\n他们花了一些时间把剩下的 flags 藏了起来,并希望你找不到它们,你觉得你能逆向他们的 key validation function 吗?\n为他们的程序生成你自己的 licence key,并获取 flag!",
6
+ "lang": "zh",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-08T03:08:48.313Z"
9
+ }