JarvisOJ Basic部分題目wp
阿新 • • 發佈:2019-01-14
1 握手包
在kali linux平臺下 有aircrack -ng工具 可以直接暴力破解跑字典破解密碼
aircrack-ng -w 字典 包檔名字
例如:
aircrack-ng -w /root/dic/wordlist.txt /root/1.cap
跑出密碼即可
2 德軍的密碼
只要知道這是費娜姆密碼直接上指令碼就可以了
#--encoding:utf-8-- table = {'A':'1000001','N':'1001110', 'B':'1000010','O':'1001111', 'C':'1000011','P':'1010000', 'D':'1000100','Q':'1010001', 'E':'1000101','R':'1010010', 'F':'1000110','S':'1010011', 'G':'1000111','T':'1010100', 'H':'1001000','U':'1010101', 'I':'1001001','V':'1010110', 'J':'1001010','W':'1010111', 'K':'1001011','X':'1011000', 'L':'1001100','Y':'1011001', 'M':'1001101','Z':'1011010'} key_list=[] value_list=[] for key,value in table.items(): key_list.append(key) value_list.append(value) #print key_list, value_list def get_key_of_value(value): if value in value_list: get_value_index = value_list.index(value) #print type(key_list[get_value_index]) return key_list[get_value_index] else: print ("你要查詢的值%s不存在" %get_value) def how_to(a,b): if a in ['0','1'] and b in ['0','1']: if a == '1' and b == '1': return '0' elif a == '0' and b == '0': return '0' else: return '1' else: return 0 def bin_turn(arg): binstring = '' for i in arg: binstring += table[i] return binstring def encrypt(plain,key): binkey = bin_turn(key) binplain = bin_turn(plain) chiper = '' if len(binplain)==len(binkey): for i in range(0,len(binplain)): chiper += how_to(binkey[i],binplain[i]) #print return chiper else: return 0 def decrypt(chiper,key): binkey = bin_turn(key) plain = '' if len(chiper)==len(binkey): for i in range(0,len(chiper)): plain += how_to(binkey[i],chiper[i]) #print binkey[i] #print plain return plain else: return 0 key = 'WELCOMETOCFF' chiper = '000000000000000000000000000000000000000000000000000101110000110001000000101000000001' binplain = decrypt(chiper,key) #print type(binplain) plain = '' for i in range(0,len(binplain),7): plain += str(get_key_of_value(binplain[i:i+7])) print (plain)
3 -.-字串
看格式就知道是莫爾斯電碼,直接線上解密即可
4 A Piece Of Cake
字母頻率題
線上解密
5 Shellcode
說實話,搞逆向的(只針對我這個菜X)真不會這個題
網上找到:
#include<stdio.h> char shellcode[] = "PYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIYIhkmKzyCDq4l4FQyBlrRWEahI1tLKT16Pnk1ftLnkPvwlnkW6fhNkan5pNkgF6XPOR8T5HsCivaN19okQSPlKRLvD6DNk3uelNkpTthRXuQ9znk2jEHLK1Ja0FaXkhcTtBink4tlKUQhnvQYotqo0ylnLMTO0SDEWZahOtMwqhG8kXteksLwTdh1e8aLKsja4uQ8kavLKdLrklK0ZeL7qjKLKUTLKuQM8k9bdvDeL1qiSnR5XVIXTOyjENikrphNnrnVnhlBrzHooKOYoyok93u7tOKCNyHzBBSnguLgTcbyxlNKOYoYoMYaUTHphRL2LupQQ0htsFRTn541x3E2Se5T26PyKK8QLTddJlIZFBvyoSeUTLIkrv0oKy8ORpMmlk7Gl6DBrm8SoyoioyoaxrOqh0XwP1xu1Qw1upBbHrmrED3T34qiKOxQLTdEZOyZCaxQmRxgPUp0hpnPn4srRe8BDSo2PT7axqOCWROpophSYpnSo04u83K72Peu70hBpCsqDpF4qHIMXpLQ429k98aEaJr1BF3Ca3bIozp01IPf0Yof5GxAA"; int main() { int (*ret)() =(int(*)())shellcode; ret(); //shellcode(); return 0; }
有空持續更新。。。。