1.前言

本文讲的是一道python逆向题,逆向分析python打包程序,首先对它进行解压缩,使用python逆向工具提取出关键py文件,分析py文件中的算法,然后写出求解flag的代码。

2.工具

1.x64dbg

3.pyinstaller

4.3.解题过程

1.选中该软件,右键发现可以解压缩,用binwalk工具发现南充茶馆.exe里面有压缩文件,解压缩后有CM.exe和aplib.dll,用binwalk工具发现CM.exe为打包程序,运行CM.exe文件,发现C:\Users\Lenovo\AppData\Local\Temp\_MEI****目录下有pyd文件,推测其为python打包程序。

2345截图20191214184356.png (8.31 KB, 下载次数: 2)

2019-12-22 13:49 上传

2345截图20191214191744.png (58.8 KB, 下载次数: 2)

2019-12-22 13:48 上传

2345截图20191214191822.png (37.31 KB, 下载次数: 2)

2019-12-22 13:48 上传

2.用ida打开,看到以下代码,aplib.dll提供解压函数,用编辑工具打开,PE文件在0x8000处,压缩大小为0x28131,x64dbg动态调式,并对aPsafe_depack下断,运行发现解压大小为0x42c00,解压后用插件转存。

2345截图20191215092310.png (21.98 KB, 下载次数: 2)

2019-12-22 13:49 上传

2345截图20191216143606.png (12.42 KB, 下载次数: 2)

2019-12-22 13:51 上传

3.打开转存后的文件,把转存后的文件复制粘贴到原文件0x42c00上部,直接用pyinstxtractor发现,识别有问题,接着看文件首和末尾处,发现文件尾部有DEADCODE,而前面是空,删除发现解压成功

image.png (122.96 KB, 下载次数: 2)

2019-12-22 14:03 上传

2345截图20191215160837.png (17.43 KB, 下载次数: 2)

2019-12-22 14:06 上传

2345截图20191215161337.png (36.31 KB, 下载次数: 3)

2019-12-22 14:07 上传

4.提取和反汇编步骤如下:

[Asm] 纯文本查看 复制代码C:\Users\lenon\AppData\Local\Programs\Python\Python37\Lib\site-packages\PyInstaller\utils\cliutils>archive_viewer.py CM.exe

pos, length, uncompressed, iscompressed, type, name

[(0, 252, 326, 1, 'm', 'struct'),

(252, 1104, 1807, 1, 'm', 'pyimod01_os_path'),

(1356, 4372, 9350, 1, 'm', 'pyimod02_archive'),

...........................................

1,

'b',

'Crypto\\Random\\OSRNG\\winrandom.cp37-win_amd64.pyd'),

(50657, 6552, 15872, 1, 'b', 'Crypto\\Util\\_counter.cp37-win_amd64.pyd'),

(57209, 48189, 87200, 1, 'b', 'VCRUNTIME140.dll'),

.....................................

(5216615, 1467669, 1467669, 0, 'z', 'PYZ-00.pyz')]

? X CM

to filename? CM.pyc

? O PYZ-00.pyz

Name: (ispkg, pos, len)

{'CMpub': (0, 17, 2250),

'Crypto': (1, 2267, 597),

'Crypto.Cipher': (1, 2864, 1035),

'Crypto.Cipher.AES': (0, 3899, 1596),

'Crypto.Cipher.blockalgo': (0, 5495, 2148),

....................................

? X CMpub

to filename? CMpub.pyc

? X general

to filename? general.pyc

2345截图20191219185120.png (15.73 KB, 下载次数: 2)

2019-12-22 14:08 上传

5.三个文件整合在一起之后的代码如下:

[Python] 纯文本查看 复制代码#from CMpub import pub_n_list, pub_e_list

#from general import valid_serial, valid_username, get_enc_seq, enc0

from Crypto.Util.number import bytes_to_long

from os import system

#CMpub.py

pub_n_list = [

1230179032923966355216193664456989083993912178939747632284136330115404600706909248395341278324517175820853286404743710145952644302282044037365125019184623573863075946389644423629304167773956447181872440665027369039751736977631813405,

1230197346433601576871359147146318345794660644587556813317361121112259736906064757424819981626600536503633922734399282271582600808051530362336101942259823441839299355603967188517947938968081105138847731565260537550727639211683197879,

1230175103148238074642625667635930176506433011031372989302833308622794392947506662903737049730958209740476679577696669046125817578949235076594181707520951908118478466754559490593457625240572006099913042624607335165510041897534435209,

1230195419889872144876656964938566328205499234259210834822623032535100815525647028091967713768075507813160118981470260555950945392043292242406398016007295386079663975352275199434079009613722639414793342879897781273997830701207001839,

1230174827420484335136670743465041112031290639257519417607166302989196920558878232997045073571925815302061150702941267642751824310540753494973942944709182841639107639574372312103384805313053886702823094137071927771880443876497834223,

1230185988420782350445684618408731075592594374149632568516959143947765502111474165779039038375448460747737995123102271976521803891348006321134167925739699715318653372703575221067707929872597815216923462345784043188962130180912008349,

1230182067416272799574586563163545941454653137377618375202713428977357995541722463977983142958255155175313052685136009571171283284447072364958073918526788611457558644331357136872625495927467161960356807765452292242153097362794537297,

1230175667673121302771605367336364266247327534138626737357715728447532125946735363769285915448580252805827932111511713836998047583507066247536863749820566853793525683889378074234787827092004094825431802398656705570322640700888234457,

1230196215847264556140155304337951587143228841840811940425256504477922246092127337047231112435502675187836322205816125340569108923142351137471846665258392302281836567949024626839375922984390501852966755563575130612920367863203222919,

1230186684530117755130494958384962720772853569595334792197322452151726400507263657518745202199786469389956474942774063845925192557326303453731548268507917026122142913461670429214311602221240479274737794080665351419597459856902143413]

pub_e_list = [

516522834974778788822737622050071002228140433403308439492366176194856535110473049678585760137133115927927751389873437178270126066640141239601219481836725664034890696476089482771855782560150644578106217444113872365843767702019835165,

763019398230639020385095590111745749325105506404934257293148841704076883985487416392986296273940405033341623636375465706381388882972769884442281412068657916633528090146878551371406807944205178239005601520958614234641039656871416589,

758988267473789691400810521950661631157749425185051374867090671651749645717430551141709267885532654476900928589359256799354189000242807872593092025777838259738748452497031844208902096380110211365512236965688511597330444132995706089,

1160624249765899561934599801255171381291816170997589163041066264243942985094428544791715385847964978883555709070528078257993944356365754193784103706700609561770247555832359683008614876192584738534198649251915489100192910235497240729,

969584864618350548573879514405798110739020997255786147754353418263140741786718203172013471748696400657712445258494301947449205093259143099235572291402265831321039275001497928579686310419303799571460516007736804962510266314260484877,

977635869919691501956476862485989771461480520535754082824505449124021204549179419508424215127475063873127952064971338143136691515421466871627243381628988777601672460858098249144471775030169367579800220246847826510445608881346258241,

78547544255936347746865903259860321812178052069796003154571672431430356709336862994676369608681727972743046653319757142976388460246409300441314120923213061705641045744824531268088986356203751782848608006264879618324460588039470689,

917852167599983949701460374746950168138446186550074700858636881546192542929330983597633909534315139846805451671216776221152853388795036676315895948093016056124384137235869660229554239964598066970045657946753074761366723500887474273,

512767915836808239407587704603826045022417741229198687031456060058182528147222248648359114235863620155721720617193551963387219761946115199232261616095015003006138489919312964841684835736418589367746436759162173805823822810793395319,

1528664914065178933673821962753205462549978186396819666317790993639228285768444490202530533489915241541000489357324333513953018274712260336841857865516134868397620862505815431605074038377372062941322744934135683316080403207986149067]

#general.py

from hashlib import sha256

def valid_serial(serial):

assert type(serial) == str

assert len(serial) > 0

if not '0' != serial[0]:

assert 1 == len(serial)

for c in serial:

if not ord('0') <= ord(c) <= ord('9'):

if not ord('A') <= ord(c) <= ord('F'):

raise AssertionError

return serial

def valid_username(username):

assert type(username) == str

assert len(username) > 0

for c in username:

assert ord(c) > 0

return username

def get_enc_seq(username):

h = sha256()

h.update(username)

hash_value = int(h.hexdigest(), 16)

T = 9

S = 10

stat = [0] * (T + 1)

seq = [0]

n = hash_value

while n > 0:

if S * T > len(seq):

now = n % T + 1

if stat[now] < S:

seq.append(now)

stat[now] += 1

n //= T

return seq

def enc0(m, e, n):

nbit = 192

T = (n.bit_length() - 1) // nbit + 1

ans = 0

for i in range(T - 1, -1, -1):

def xxx(x, t):

return x >> t * nbit & (1 << nbit) - 1

now_n = xxx(n, i)

now_e = xxx(e, i)

now_m = xxx(m, i)

if now_m >= now_n:

return 0

ans = (ans << nbit) + pow(now_m, now_e, now_n)

return ans

#CM.py

def check(serial, seq):

now = serial

for j in range(len(seq)):

i = seq[j]

n = pub_n_list[i]

e = pub_e_list[i]

if now > pub_n_list[i]:

return False

if i > 0:

now = pow(now, e, n)

else:

now = enc0(now, e, n)

if 0 == now:

return False

return now

def main():

username0 = input('Please input Username:\t')

serial0 = input('Please input Serial:\t')

try:

valid_serial(serial0)

valid_username(username0)

except:

print('\nInvalid Input\n')

return

else:

serial = int(serial0, 16)

username = username0.encode('utf-8')

seq = get_enc_seq(username)

username = bytes_to_long(username)

check_value = check(serial, seq)

if check_value == username:

print('\nCorrect!\n')

else:

print('\nOops! The encrypted Serial is not "' + username0 + '".\n')

system('pause')

if __name__ == '__main__':

main()

6.代码分析:首先是验证输入信息,check函数为关键函数,里面有个循环结构,其中i的值的取值范围是:0-9,等价于进行了十次RSA加密,接下来要做的就是求d,求d的算法可参考我发的文章(https://www.52pojie.cn/thread-1070003-1-1.html)。

第一次:

[Asm] 纯文本查看 复制代码n = 1230179032923966355216193664456989083993912178939747632284136330115404600706909248395341278324517175820853286404743710145952644302282044037365125019184623573863075946389644423629304167773956447181872440665027369039751736977631813405

把n转换成十六进制为:CAD931A5AEDA20EA5E7956D07284DB74832A28D331ADFEB1FFFFDB4924156BC1CF0E65FBD9840345985858FCC2F58571FFFF43FBA7A3F0E50F38CD120AC5AFB0F6360E79DCF2E935FFFF7B8B04F0DC86ABF13C3F79E202726A2ED42564211F1DL

均分四组:

CAD931A5AEDA20EA5E7956D07284DB74832A28D331ADFEB1

FFFFDB4924156BC1CF0E65FBD9840345985858FCC2F58571

FFFF43FBA7A3F0E50F38CD120AC5AFB0F6360E79DCF2E935

FFFF7B8B04F0DC86ABF13C3F79E202726A2ED42564211F1D

e = 516522834974778788822737622050071002228140433403308439492366176194856535110473049678585760137133115927927751389873437178270126066640141239601219481836725664034890696476089482771855782560150644578106217444113872365843767702019835165

转16进制并均分4组为:

552BD4790ABF307B7ED1C5997D56639E581CBA65B4762769

9A57D7321E5297B133CB0EBA55FC8AB8D7839772C6490FF1

DE5EEA637EE42461497F3B3286B410FDA678C2EB0662F13D

668594EA4C1BA173614B9860AE8BB1231F60A2BFD36B051D

分别求p[i],q[i],d[i],其中p,q可用yafu求解

把求得di拼在一起可得:

d=231349749158583579949039718606348832345605133393805777133420928094319680216601822460127654993430958078940461462422406257359280556871448350189878998731668936956281838863906877563919765029383962761070215049843547656169497792123978897

第二次:

[Asm] 纯文本查看 复制代码n为1230197346433601576871359147146318345794660644587556813317361121112259736906064757424819981626600536503633922734399282271582600808051530362336101942259823441839299355603967188517947938968081105138847731565260537550727639211683197879

p = 3012613441

q = 408348887278831461892610983390456945715612189153595698014201723503582993177671598068402822885301113712860820610804438839912419021850712894809826330539771179969086301239790288951959814006579380835620367785931463468740342519

e = 763019398230639020385095590111745749325105506404934257293148841704076883985487416392986296273940405033341623636375465706381388882972769884442281412068657916633528090146878551371406807944205178239005601520958614234641039656871416589

d = 1229061379053482744823152709690434888605435342198642793057361495153090878523561729157374272032362247153476832905266577597936263875922635915871109425948662301015976854125739243408750974498511602088546684816889116185016023460221241669

image.png (122.29 KB, 下载次数: 3)

2019-12-22 15:40 上传

接下来的第三次到第十次(除了第五次)都一样,从第三次开始我是使用factordb求解p和q。

第五次

求解第五次的p和q时,迭代几百次会循环,所以不用求d,也许第五次不需要密钥。

7.最后求解的d集合为:

[Asm] 纯文本查看 复制代码1229061379053482744823152709690434888605435342198642793057361495153090878523561729157374272032362247153476832905266577597936263875922635915871109425948662301015976854125739243408750974498511602088546684816889116185016023460221241669,

777757116197429014363243483536399809327489478672765799132008796613164652485176625704586327714092043960999487185568710834915265226900792279774759093092549483626423808502139519027474793822444064402879491357824424416255246538629615833,

823517544270505260875748293850542665969704501523967290816451493771583601768953397655610971102989198539746963950912153425409736040224095605717482218948794082459357645210952999432155985335398508720958815348576453854403675948095665769,

201419093613711761798540120588879041236840801068737686325195769604622639638393093247553615834885873886104026065263583851481439063609372020322699902282368593094548575688163522138303256348801329176798576662806247524508598547117027909,

0,

922636550562204599680939922372659456090989853033213781402035071733018496656291847983487357218691366381484789513851952285401356211108779700672241308549478980097499945532484886375918716118514969665502334756552044884230174523807259329,

627567627354326605515830278366021138159090868181225778581524414114680017539982571880336309158282300554534438008003322761037932916796881232969829716072515736525821134512405811777096389132413642826921797756179543381108933388795804769,

87763698610259057934268676955169084425464093902524300758830437447338976666426976224860384022223934601405128988601223084334832120115000652985202766336425151725676233383146800117094745887838499800523801384784235875984207816521259103,

476133969086427941368462698171675198835788633664060460402567958612344234273279077792246479357026462298849835811290909092037603283477920353500979549470973082158764663458247740861805650589884280458476962517272738918503674157481390819]

8.以下是求解序列号的算法

[Python] 纯文本查看 复制代码from Crypto.Util.number import bytes_to_long

from hashlib import sha256

d_list = [0,

1229061379053482744823152709690434888605435342198642793057361495153090878523561729157374272032362247153476832905266577597936263875922635915871109425948662301015976854125739243408750974498511602088546684816889116185016023460221241669,

777757116197429014363243483536399809327489478672765799132008796613164652485176625704586327714092043960999487185568710834915265226900792279774759093092549483626423808502139519027474793822444064402879491357824424416255246538629615833,

823517544270505260875748293850542665969704501523967290816451493771583601768953397655610971102989198539746963950912153425409736040224095605717482218948794082459357645210952999432155985335398508720958815348576453854403675948095665769,

201419093613711761798540120588879041236840801068737686325195769604622639638393093247553615834885873886104026065263583851481439063609372020322699902282368593094548575688163522138303256348801329176798576662806247524508598547117027909,

0,

922636550562204599680939922372659456090989853033213781402035071733018496656291847983487357218691366381484789513851952285401356211108779700672241308549478980097499945532484886375918716118514969665502334756552044884230174523807259329,

627567627354326605515830278366021138159090868181225778581524414114680017539982571880336309158282300554534438008003322761037932916796881232969829716072515736525821134512405811777096389132413642826921797756179543381108933388795804769,

87763698610259057934268676955169084425464093902524300758830437447338976666426976224860384022223934601405128988601223084334832120115000652985202766336425151725676233383146800117094745887838499800523801384784235875984207816521259103,

476133969086427941368462698171675198835788633664060460402567958612344234273279077792246479357026462298849835811290909092037603283477920353500979549470973082158764663458247740861805650589884280458476962517272738918503674157481390819]

now0_d = [3278088227273880484685188900446423165326324359156241482897,

5595268830569065289149075246423557309146176813871482913465,

5168422726700129702446055556002687483861807983023239862033,

935387432279493795970516178982877288303534264234974679937,

]

now0_n = [6277052177355867862708971469565390229110991711310599757597,

6277031389885428580574088212602983156224270664268963309877,

6277087998938792861042405062580257456598525084583043892593,

4973828634074084070222279013150769733596223651485114564273,

]

pub_n_list = [

1230179032923966355216193664456989083993912178939747632284136330115404600706909248395341278324517175820853286404743710145952644302282044037365125019184623573863075946389644423629304167773956447181872440665027369039751736977631813405,

1230197346433601576871359147146318345794660644587556813317361121112259736906064757424819981626600536503633922734399282271582600808051530362336101942259823441839299355603967188517947938968081105138847731565260537550727639211683197879,

1230175103148238074642625667635930176506433011031372989302833308622794392947506662903737049730958209740476679577696669046125817578949235076594181707520951908118478466754559490593457625240572006099913042624607335165510041897534435209,

1230195419889872144876656964938566328205499234259210834822623032535100815525647028091967713768075507813160118981470260555950945392043292242406398016007295386079663975352275199434079009613722639414793342879897781273997830701207001839,

1230174827420484335136670743465041112031290639257519417607166302989196920558878232997045073571925815302061150702941267642751824310540753494973942944709182841639107639574372312103384805313053886702823094137071927771880443876497834223,

1230185988420782350445684618408731075592594374149632568516959143947765502111474165779039038375448460747737995123102271976521803891348006321134167925739699715318653372703575221067707929872597815216923462345784043188962130180912008349,

1230182067416272799574586563163545941454653137377618375202713428977357995541722463977983142958255155175313052685136009571171283284447072364958073918526788611457558644331357136872625495927467161960356807765452292242153097362794537297,

1230175667673121302771605367336364266247327534138626737357715728447532125946735363769285915448580252805827932111511713836998047583507066247536863749820566853793525683889378074234787827092004094825431802398656705570322640700888234457,

1230196215847264556140155304337951587143228841840811940425256504477922246092127337047231112435502675187836322205816125340569108923142351137471846665258392302281836567949024626839375922984390501852966755563575130612920367863203222919,

1230186684530117755130494958384962720772853569595334792197322452151726400507263657518745202199786469389956474942774063845925192557326303453731548268507917026122142913461670429214311602221240479274737794080665351419597459856902143413]

pub_e_list = [

516522834974778788822737622050071002228140433403308439492366176194856535110473049678585760137133115927927751389873437178270126066640141239601219481836725664034890696476089482771855782560150644578106217444113872365843767702019835165,

763019398230639020385095590111745749325105506404934257293148841704076883985487416392986296273940405033341623636375465706381388882972769884442281412068657916633528090146878551371406807944205178239005601520958614234641039656871416589,

758988267473789691400810521950661631157749425185051374867090671651749645717430551141709267885532654476900928589359256799354189000242807872593092025777838259738748452497031844208902096380110211365512236965688511597330444132995706089,

1160624249765899561934599801255171381291816170997589163041066264243942985094428544791715385847964978883555709070528078257993944356365754193784103706700609561770247555832359683008614876192584738534198649251915489100192910235497240729,

969584864618350548573879514405798110739020997255786147754353418263140741786718203172013471748696400657712445258494301947449205093259143099235572291402265831321039275001497928579686310419303799571460516007736804962510266314260484877,

977635869919691501956476862485989771461480520535754082824505449124021204549179419508424215127475063873127952064971338143136691515421466871627243381628988777601672460858098249144471775030169367579800220246847826510445608881346258241,

78547544255936347746865903259860321812178052069796003154571672431430356709336862994676369608681727972743046653319757142976388460246409300441314120923213061705641045744824531268088986356203751782848608006264879618324460588039470689,

917852167599983949701460374746950168138446186550074700858636881546192542929330983597633909534315139846805451671216776221152853388795036676315895948093016056124384137235869660229554239964598066970045657946753074761366723500887474273,

512767915836808239407587704603826045022417741229198687031456060058182528147222248648359114235863620155721720617193551963387219761946115199232261616095015003006138489919312964841684835736418589367746436759162173805823822810793395319,

1528664914065178933673821962753205462549978186396819666317790993639228285768444490202530533489915241541000489357324333513953018274712260336841857865516134868397620862505815431605074038377372062941322744934135683316080403207986149067]

def gen_code(name, seq):

now = name

for j in range(len(seq) - 1, -1, -1):

i = seq[j]

n = pub_n_list[i]

d = d_list[i]

e = pub_e_list[i]

if now > pub_n_list[i]:

return False

if i == 5:

for _ in range(972):

now = pow(now, e, n)

elif i > 0:

now = pow(now, d, n)

else:

now = dec0(now, e, n)

return now

def dec0(m, e, n):

nbit = 192

T = (n.bit_length() - 1) // nbit + 1

ans = 0

for i in range(T - 1, -1, -1):

def xxx(x, t):

return x >> t * nbit & (1 << nbit) - 1

now_m = xxx(m, i)

ans = (ans << nbit) + pow(now_m, now0_d[i], now0_n[i])

return ans

def get_enc_seq(username):

h = sha256()

h.update(username)

hash_value = int(h.hexdigest(), 16)

T = 9

S = 10

stat = [0] * (T + 1)

seq = [0]

n = hash_value

while n > 0:

if S * T > len(seq):

now = n % T + 1

if stat[now] < S:

seq.append(now)

stat[now] += 1

n //= T

return seq

def enc0(m, e, n):

nbit = 192

T = (n.bit_length() - 1) // nbit + 1

ans = 0

for i in range(T - 1, -1, -1):

def xxx(x, t):

return x >> t * nbit & (1 << nbit) - 1

now_n = xxx(n, i)

now_e = xxx(e, i)

now_m = xxx(m, i)

if now_m >= now_n:

return 0

ans = (ans << nbit) + pow(now_m, now_e, now_n)

return ans

def check(serial, seq):

now = serial

for j in range(len(seq)):

i = seq[j]

n = pub_n_list[i]

e = pub_e_list[i]

if now > pub_n_list[i]:

return False

if i > 0:

now = pow(now, e, n)

else:

now = enc0(now, e, n)

print 'now,',now

if 0 == now:

return False

return now

def main():

username0 = 'KCTF'

username = username0.encode('utf-8')

seq = get_enc_seq(username)

username = bytes_to_long(username)

serial = gen_code(username, seq)

check_value = check(serial, seq)

if check_value == username:

print 'serial :', hex(serial)[2:].upper()

if __name__ == '__main__':

main()

temp.png (29.25 KB, 下载次数: 3)

2019-12-22 16:11 上传

提取码:smjx

黑马python2019吾爱破解_2019KCTF 南充茶坊(python逆向)相关推荐

  1. python教程吾爱破解_2020年最新python入门到精通教程

    2020年最新python入门到精通教程 资源共享吧良心论坛,一直用心为每位会员服务,希望大家能学有所成,今天为大家分享一套2020年最新python入门到精通教程,如果你是0基础想学习python这 ...

  2. 【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )

    文章目录 一.吾爱破解专用版Ollydbg 二.运行 OD 工具 一.吾爱破解专用版Ollydbg 从 OD 官方网站 http://www.ollydbg.de/ 下载的 Ollydbg1.10 工 ...

  3. 吾爱破解 - https://www.52pojie.cn

    吾爱破解 - https://www.52pojie.cn martian6125

  4. 吾爱破解培训第一课作业密码_如何实现您的第一个无密码登录系统

    吾爱破解培训第一课作业密码 You may have heard that there are 360 Million Reasons to Destroy All Passwords and tha ...

  5. 吾爱破解 2023 春节解题领红包之 Web 题解

    (图作者 | 吾爱破解@Ps出来的小赵) 文章目录 题目简介 初级难度 flag1 flag2 flag3 flag4 flagA 中级难度 flag5 flag6 flag7 flag8 flagB ...

  6. 吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn

    吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn https://www.52pojie.cn/

  7. 【JS 逆向百例】吾爱破解2022春节解题领红包之番外篇 Web 中级题解

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 逆向目标 本次逆向的目标来源于吾爱破解 2022 春节解题领红包之番外篇 Web 中级题,吾爱破解每年都会有派送红包活动(送吾爱 ...

  8. B站微博吾爱破解知乎热榜软件

    简介: B站微博吾爱破解知乎热榜软件能够帮助用户获取各个网站的最新热门信息,让用户可以在B站.知乎.微博.贴吧等知名网络论坛或平台上,直接截取各种热点信息,热榜信息或者相关热点内容,通过其中的列表用户 ...

  9. 2014吾爱破解论坛精华贴

    吾爱破解论坛精华贴: http://www.52pojie.cn/thread-231684-1-1.html 配合买了两本安全方面的书: 1.android应用程序安全 2.ios应用逆向工程 3. ...

最新文章

  1. JavaScript与C# Windows应用程序交互
  2. nyoj1057寻找最大数3
  3. go thrift demo
  4. 寻找GridView中模板列中的控件
  5. 3_7 MementoMode 备忘录模式
  6. 【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著
  7. Java中子类覆盖父类方法所必须满足的条件
  8. 中小企业上ERP项目不可回避的9个基本问题
  9. 达梦数据charindex_更新日志 · dotnetcore/FreeSql Wiki · GitHub
  10. I00007 打印菱形字符图案
  11. Matlab中使用varargin来实现参数可变的函数
  12. Atitit 医学之道 attilax总结
  13. matlab 固态 机械_固态硬盘无法识别或数据删除还能恢复数据吗?
  14. 手动卸载金蝶旗舰版KIS软件流程
  15. android学习笔记-udacity/Sunshine-Version-2出错
  16. CURL命令参数详解
  17. 计算机网络笔记02---网络边缘和网络核心
  18. edge linux 下载软件,如何下载安装微软Microsoft Edge for Linux预览版?
  19. idea向github传文件
  20. 《棒球大联盟2nd》:青春赛场·棒球1号位

热门文章

  1. 微信h5分享图标没有展示
  2. win10 注销 睡眠 休眠 cmd 命令
  3. 【Windows 问题系列第 14 篇】如何删除 Win10 系统自带的微软拼音输入法
  4. XGen工具箱提示 gxgmTMLookupTable是未声明的变量
  5. 台式计算机怎么进入bios,小编告诉大家hp台式机怎么进bios
  6. Media Player Classic - HC 源代码分析 14:PIN连接过程中推模式和拉模式区别
  7. Java new Date() 获取的时间不正确 【已解决】
  8. cadaver (davtest)
  9. 0.《解密:网络营销推广实战和流量变现公式》
  10. 幅度响应怎么计算_黄河三角洲地区植被变化及其对气温的响应特征