import os for i inrange(11): filename = "C:\\Users\\atlan\\Downloads\\1\\{0}.txt".format(i) file_attr = os.stat(filename)#读取文件属性 alter_time = str(file_attr.st_mtime)#获取修改时间 print(chr(int(alter_time[7:10])),end='')
运行得到 key:ctfSh0w
前面我们说到 png 文件尾和 zip 文件头之间还有一些乱码之类的东西,9E97BA2A,这个是 oursecret 的加密特征
pre_sol = [(0, 0)] for x inrange(512 - 1, -1, -1): cur_pow = pow(2, len(x1) - x - 1) print(cur_pow) cur_sol = [] for p, q in pre_sol: for i inrange(2): for j inrange(2): ifstr((i + j) % 2) == x1[x]: cur_p = p + i * cur_pow cur_q = q + j * cur_pow if cur_p * cur_q % pow(2, len(x1) - x) == n1 % pow(2, len(x1) - x): cur_sol.append((cur_p, cur_q)) pre_sol = cur_sol
for p, q in pre_sol: if p * q == n1: print(p, q) break n=n1
e = 10463348796391625387419351013660920157452350067191419373870543363741187885528042168135531161031114295856009050029737547684735896660393845515549071092389128688718675573348847489182651631515852744312955427364280891600765444324519789452014742590962030936762237037273839906251320666705879080373711858513235704113 c = 60700608730139668338977678601901211800978306010063875269252006068222163102100346920465298044880066999492746508990629867396189713753873657197546664480233269806308415874191048149900822050054539774370134460339681949131037133783273410066318511508768512778132786573893529705068680583697574367357381635982316477364
# 非对称加密 m = bytes_to_long(key) e = 0x10001 p = getPrime(1024) q = getPrime(1024) n = p * q c = pow(m,e,n) print(f'p = {p}') print(f'q = {q}') print(f'n = {n}') print(f'c2 = {c}') # print("hint:key需要转成字节流也就是b''")
''' c1 = 10274623386006297478525964130173470046355982953419353351509177330015001060887455252482567718546651504491658563014875 p = 126682770761631193509957156425049279522830651950325320826580754739365086374362604934854454428815835196844469535588686149210573266628767888593088817059600076401582225549728184309047483547810100015820325082976781284679340880386138390518973395696206374336712856387090369022746536868747455939074262253452873845903 q = 99825079362327808334563489684167271427241139432727401182808888165552821217781929397837262324242177528386988701584385208395369790542025175917752058047649096340776854252623173162664426065810683048016574420043010318337693586527652970534982946701493024718805916479479658257730226388868060010370893747360166996939 n = 12646117645119414744807511144503229609414192869007113075368323921021672404219693075011763838210400633721060798765473421092201704833591315689681668160927426685183273670665030724394172000165517517884654100267567861284096827407481978978840602383267875832034344793848710383473014512122260278131503985961857107838296047172582364612603344429943715046318283653354068887129071531081918798285138812386418361474496678248683513378861801570673376726388110813411011818940310547686977359605296489433805717348250520973842927175837164120905300831792358190183785344002217291207378744610039145999012939983693891188308725179098958690917 c2 = 5211902378262010726785508340196935051860438587769647187076059600864676774592415052428465708887047312982844957691943180258845015420187239772414768121857728821510440178906193308448250067671679439841031484589864038401572589752057423667532898133171822921282769652197139455317095891357335645435094243006629469245881345449943250189771998449015275390517315432969774421721243965028796050948747282387052634211032729131656214346307483397410725129682422969273915759947596313513270946529649661334582775282060624547405060499311618257517792321792697831000977711752728887999320311631022598717946355057272761740061999974856808147244 '''
分析:本质上就是使用了RSA数据的AES解密题,已知p,q,e,c,可以用基础脚本直接得到key
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
import libnum
e = 65537 p = 126682770761631193509957156425049279522830651950325320826580754739365086374362604934854454428815835196844469535588686149210573266628767888593088817059600076401582225549728184309047483547810100015820325082976781284679340880386138390518973395696206374336712856387090369022746536868747455939074262253452873845903 q = 99825079362327808334563489684167271427241139432727401182808888165552821217781929397837262324242177528386988701584385208395369790542025175917752058047649096340776854252623173162664426065810683048016574420043010318337693586527652970534982946701493024718805916479479658257730226388868060010370893747360166996939 n = 12646117645119414744807511144503229609414192869007113075368323921021672404219693075011763838210400633721060798765473421092201704833591315689681668160927426685183273670665030724394172000165517517884654100267567861284096827407481978978840602383267875832034344793848710383473014512122260278131503985961857107838296047172582364612603344429943715046318283653354068887129071531081918798285138812386418361474496678248683513378861801570673376726388110813411011818940310547686977359605296489433805717348250520973842927175837164120905300831792358190183785344002217291207378744610039145999012939983693891188308725179098958690917 c = 5211902378262010726785508340196935051860438587769647187076059600864676774592415052428465708887047312982844957691943180258845015420187239772414768121857728821510440178906193308448250067671679439841031484589864038401572589752057423667532898133171822921282769652197139455317095891357335645435094243006629469245881345449943250189771998449015275390517315432969774421721243965028796050948747282387052634211032729131656214346307483397410725129682422969273915759947596313513270946529649661334582775282060624547405060499311618257517792321792697831000977711752728887999320311631022598717946355057272761740061999974856808147244