---恢复内容开始---

1、滴答滴

摩斯密码,http://tool.bugku.com/mosi/

2、聪明的小羊

从提示猜是栅栏密码,http://tool.bugku.com/jiemi/

3、ok

看格式是ook

https://tool.bugku.com/brainfuck/

4、这不是摩斯密码

看格式很像是brainfuck

试了下https://tool.bugku.com/brainfuck/ 解决

5、easy crypto

稍稍变化了一下的摩斯,还是用

http://tool.bugku.com/mosi/

但不知道为啥我提交的flag总是说不对。。

6、简单加密

最后的AA有点像是base64的==,又看了下A和=的整数只差了4,所以猜测是先base64,后凯撒

s=密文

ss = ''.join([char(ord(i)-4) for i in s])

r = base64.b64decode(ss)

7、散乱的密文

从提示看显然是置换密码

http://tool.bugku.com/jiemi/

8、+[]-

显然brainfuck

https://tool.bugku.com/brainfuck/

9、.!?

显然ook

https://tool.bugku.com/brainfuck/

10、一段base64

 1 from base64 import b64decode
 2 import re
 3 def conv(s,pattern,base):
 4     t = re.findall(pattern,s)
 5     t = [chr(int(i,base)) for i in t]
 6     return ''.join(t)
 7 
 8 with open('1.txt','r') as f:
 9     s = f.read()
10 s = b64decode(s).decode()
11 print(s[:100])
12 s = conv(s,r'\\(\d+)',8)
13 print(s[:100])
14 s = conv(s,r'\\x([0-9a-fA-F]+)',16)
15 print(s[:100])
16 s = conv(s,r'\\u([0-9a-fA-F]+)',16)
17 print(s[:100])
18 s = s[20:-1]
19 s = eval('['+s+']')
20 s = [chr(i) for i in s]
21 s = ''.join(s)
22 print(s[:100])
23 s = conv(s,r'&#x([0-9a-fA-F]+);',16)
24 print(s[:100])
25 s = conv(s,r'&#([0-9a-fA-F]+)',10)
26 print(s[:100])
27 s = s.replace('%7B',chr(0x7B))
28 s = s.replace('%7D',chr(0x7D))
29 print(s)

 11、奇怪的密码

最前面两个字母是g和n。g和f相差一,n和l相差2.所以猜测是不是第一个-1,第二个字母-2.。。。这样子解密。

写个脚本试验下。

1 s = 'gndk€rlqhmtkwwp}z'
2 ss = ''
3 c = 1
4 for i in s:
5     ss += chr(ord(i)-c)
6 print(ss)

输出为flag₧lei_ci_jiami

中间的₧是一个非ascii字符。手动整理成flag{lei_ci_jiami}提交就可以了。

话说在非ascii字符这里折腾了好久,以为是编码方面的问题,没想到直接去掉再加上大括号提交居然是对的。

12、凯撒大帝的奖励

根据提示应该是凯撒密码

丢到http://tool.bugku.com/jiemi/里,列出所有组合

MSW{byly_Cm_sIol_lYqUlx_yhdIs_Cn_Wuymul_il_wuff_bcg_pCwnIl_cm_u_Yrwyffyhn_guh_cz_sio_quhn_ni_ayn_bcm_chzilguncihm_sio_wuh_dich_om}
NTX{czmz_Dn_tJpm_mZrVmy_zieJt_Do_Xvznvm_jm_xvgg_cdh_qDxoJm_dn_v_Zsxzggzio_hvi_da_tjp_rvio_oj_bzo_cdn_diajmhvodjin_tjp_xvi_ejdi_pn}
OUY{dana_Eo_uKqn_nAsWnz_ajfKu_Ep_Ywaown_kn_ywhh_dei_rEypKn_eo_w_Atyahhajp_iwj_eb_ukq_swjp_pk_cap_deo_ejbkniwpekjo_ukq_ywj_fkej_qo}
PVZ{ebob_Fp_vLro_oBtXoa_bkgLv_Fq_Zxbpxo_lo_zxii_efj_sFzqLo_fp_x_Buzbiibkq_jxk_fc_vlr_txkq_ql_dbq_efp_fkclojxqflkp_vlr_zxk_glfk_rp}
QWA{fcpc_Gq_wMsp_pCuYpb_clhMw_Gr_Aycqyp_mp_ayjj_fgk_tGarMp_gq_y_Cvacjjclr_kyl_gd_wms_uylr_rm_ecr_fgq_gldmpkyrgmlq_wms_ayl_hmgl_sq}
RXB{gdqd_Hr_xNtq_qDvZqc_dmiNx_Hs_Bzdrzq_nq_bzkk_ghl_uHbsNq_hr_z_Dwbdkkdms_lzm_he_xnt_vzms_sn_fds_ghr_hmenqlzshnmr_xnt_bzm_inhm_tr}
SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}
TZD{ifsf_Jt_zPvs_sFxBse_fokPz_Ju_Dbftbs_ps_dbmm_ijn_wJduPs_jt_b_Fydfmmfou_nbo_jg_zpv_xbou_up_hfu_ijt_jogpsnbujpot_zpv_dbo_kpjo_vt}
UAE{jgtg_Ku_aQwt_tGyCtf_gplQa_Kv_Ecguct_qt_ecnn_jko_xKevQt_ku_c_Gzegnngpv_ocp_kh_aqw_ycpv_vq_igv_jku_kphqtocvkqpu_aqw_ecp_lqkp_wu}
VBF{khuh_Lv_bRxu_uHzDug_hqmRb_Lw_Fdhvdu_ru_fdoo_klp_yLfwRu_lv_d_Hafhoohqw_pdq_li_brx_zdqw_wr_jhw_klv_lqirupdwlrqv_brx_fdq_mrlq_xv}
WCG{livi_Mw_cSyv_vIaEvh_irnSc_Mx_Geiwev_sv_gepp_lmq_zMgxSv_mw_e_Ibgippirx_qer_mj_csy_aerx_xs_kix_lmw_mrjsvqexmsrw_csy_ger_nsmr_yw}
XDH{mjwj_Nx_dTzw_wJbFwi_jsoTd_Ny_Hfjxfw_tw_hfqq_mnr_aNhyTw_nx_f_Jchjqqjsy_rfs_nk_dtz_bfsy_yt_ljy_mnx_nsktwrfyntsx_dtz_hfs_otns_zx}
YEI{nkxk_Oy_eUax_xKcGxj_ktpUe_Oz_Igkygx_ux_igrr_nos_bOizUx_oy_g_Kdikrrktz_sgt_ol_eua_cgtz_zu_mkz_noy_otluxsgzouty_eua_igt_puot_ay}
ZFJ{olyl_Pz_fVby_yLdHyk_luqVf_Pa_Jhlzhy_vy_jhss_opt_cPjaVy_pz_h_Lejlsslua_thu_pm_fvb_dhua_av_nla_opz_pumvythapvuz_fvb_jhu_qvpu_bz}
AGK{pmzm_Qa_gWcz_zMeIzl_mvrWg_Qb_Kimaiz_wz_kitt_pqu_dQkbWz_qa_i_Mfkmttmvb_uiv_qn_gwc_eivb_bw_omb_pqa_qvnwzuibqwva_gwc_kiv_rwqv_ca}
BHL{qnan_Rb_hXda_aNfJam_nwsXh_Rc_Ljnbja_xa_ljuu_qrv_eRlcXa_rb_j_Nglnuunwc_vjw_ro_hxd_fjwc_cx_pnc_qrb_rwoxavjcrxwb_hxd_ljw_sxrw_db}
CIM{robo_Sc_iYeb_bOgKbn_oxtYi_Sd_Mkockb_yb_mkvv_rsw_fSmdYb_sc_k_Ohmovvoxd_wkx_sp_iye_gkxd_dy_qod_rsc_sxpybwkdsyxc_iye_mkx_tysx_ec}
DJN{spcp_Td_jZfc_cPhLco_pyuZj_Te_Nlpdlc_zc_nlww_stx_gTneZc_td_l_Pinpwwpye_xly_tq_jzf_hlye_ez_rpe_std_tyqzcxletzyd_jzf_nly_uzty_fd}
EKO{tqdq_Ue_kAgd_dQiMdp_qzvAk_Uf_Omqemd_ad_omxx_tuy_hUofAd_ue_m_Qjoqxxqzf_ymz_ur_kag_imzf_fa_sqf_tue_uzradymfuaze_kag_omz_vauz_ge}
FLP{urer_Vf_lBhe_eRjNeq_rawBl_Vg_Pnrfne_be_pnyy_uvz_iVpgBe_vf_n_Rkpryyrag_zna_vs_lbh_jnag_gb_trg_uvf_vasbezngvbaf_lbh_pna_wbva_hf}
GMQ{vsfs_Wg_mCif_fSkOfr_sbxCm_Wh_Qosgof_cf_qozz_vwa_jWqhCf_wg_o_Slqszzsbh_aob_wt_mci_kobh_hc_ush_vwg_wbtcfaohwcbg_mci_qob_xcwb_ig}
HNR{wtgt_Xh_nDjg_gTlPgs_tcyDn_Xi_Rpthpg_dg_rpaa_wxb_kXriDg_xh_p_Tmrtaatci_bpc_xu_ndj_lpci_id_vti_wxh_xcudgbpixdch_ndj_rpc_ydxc_jh}
IOS{xuhu_Yi_oEkh_hUmQht_udzEo_Yj_Squiqh_eh_sqbb_xyc_lYsjEh_yi_q_Unsubbudj_cqd_yv_oek_mqdj_je_wuj_xyi_ydvehcqjyedi_oek_sqd_zeyd_ki}
JPT{yviv_Zj_pFli_iVnRiu_veaFp_Zk_Trvjri_fi_trcc_yzd_mZtkFi_zj_r_Votvccvek_dre_zw_pfl_nrek_kf_xvk_yzj_zewfidrkzfej_pfl_tre_afze_lj}
KQU{zwjw_Ak_qGmj_jWoSjv_wfbGq_Al_Uswksj_gj_usdd_zae_nAulGj_ak_s_Wpuwddwfl_esf_ax_qgm_osfl_lg_ywl_zak_afxgjeslagfk_qgm_usf_bgaf_mk}
LRV{axkx_Bl_rHnk_kXpTkw_xgcHr_Bm_Vtxltk_hk_vtee_abf_oBvmHk_bl_t_Xqvxeexgm_ftg_by_rhn_ptgm_mh_zxm_abl_bgyhkftmbhgl_rhn_vtg_chbg_nl}
然后肉眼搜索,发现有一行居然有意义,提交了下就是对的。

13、进制转换

打开题目一看,最喜欢这种题目了。最怕的是没思路,只要有思路写脚本就好了。

s = 'd87 x65 x6c x63 o157 d109 o145 b100000 d116 b1101111 o40 x6b b1100101 b1101100 o141 d105 x62 d101 b1101001 d46 o40 d71 x69 d118 x65 x20 b1111001 o157 b1110101 d32 o141 d32 d102 o154 x61 x67 b100000 o141 d115 b100000 b1100001 d32 x67 o151 x66 d116 b101110 b100000 d32 d102 d108 d97 o147 d123 x31 b1100101 b110100 d98 d102 b111000 d49 b1100001 d54 b110011 x39 o64 o144 o145 d53 x61 b1100010 b1100011 o60 d48 o65 b1100001 x63 b110110 d101 o63 b111001 d97 d51 o70 d55 b1100010 d125 x20 b101110 x20 b1001000 d97 d118 o145 x20 d97 o40 d103 d111 d111 x64 d32 o164 b1101001 x6d o145 x7e'
s = s.split(' ')
for i in range(len(s)):
    if s[i][0]=='d':
        s[i] = int(s[i][1:],10)
    elif s[i][0]=='x':
        s[i] = int(s[i][1:],16)
    elif s[i][0]=='o':
        s[i] = int(s[i][1:],8)
    elif s[i][0]=='b':
        s[i] = int(s[i][1:],2)
s = ''.join([chr(i) for i in s])
print(s)

 14、告诉你个秘密

 1 s = '636A56355279427363446C4A49454A7154534230526D684356445A31614342354E326C4B4946467A5769426961453067'
 2 t = []
 3 while len(s)>0:
 4     n = s[:2]
 5     s = s[2:]
 6     t.append(int(n,16))
 7 s = [chr(i) for i in t]
 8 s = ''.join(s)
 9 print(s)
10 import base64
11 t = base64.b64decode(s).decode()
12 print(t)

得到r5yG lp9I BjM tFhBT6uh y7iJ QsZ bhM

然后我就不会了。。

所以。。百度。哇,原来还有键盘密码这种东东

顺便还了解了下猪圈密码。。。

这个脑洞真的大。。

拿r5yG来说,低头看键盘,这5个字符所在的按键是不是包着字母t,所以着五个字母解密出来就是t。。

15、这不是md5

一看这个形式,首先肯定是16进制,然后有很多6和3,估计就是ascii了。

1 s = '666c61677b616537333538376261353662616566357d'
2 t = ''
3 while len(s)>0:
4     t += chr(int(s[:2],16))
5     s = s[2:]
6 print(t)