逆向?qū)W習之pyc分析

pyc是由.py文件經(jīng)過編譯后生成的字節(jié)碼文件居砖,其加載速度相對于之前的.py文件有所提高,而且還可以實現(xiàn)源碼隱藏顽频,以及一定程度上的反編譯。比如圆兵,Python3.3編譯生成的.pyc文件,Python3.4就別想著去運行啦枢贿!一般來說import 別的 py 文件時殉农,那個 py 文件會被存一份 pyc 加速下次裝載。

pyc反編譯恢復到python代碼局荚,通過uncompyle6包就可以實現(xiàn)超凳,在線的反編譯工具也靠很方便,pyo文件也屬于py編譯的中間文件,所以也可以通過以上方式實現(xiàn)反編譯耀态,但是需要注意的是:有些時候需要滿足后綴名是滿足pyd,pyc,pyd的轮傍。但現(xiàn)在反編譯得到的python的代碼中一般不是完整的,或增加防護首装,或者有一些加密修改创夜,又或者利用一些函數(shù)復雜嵌套,例如lambda函數(shù)的嵌套使用仙逻,使得python的代碼變得比較難讀驰吓。

lambda是一個匿名函數(shù),表示一種運算系奉,lambda [ arg1 [arg2, arg3, … argN] ] : expression

例如:

map(lambda x : x*x, [y for y in range(10)])

lambda后寫的事函數(shù)變量x以及對x的操作檬贰,逗號之后表示x取值的方式。另外一種寫法類似與如下表示缺亮,使用括號來分割各個部分:

map( (lambda (x)(x*x)) (list 2 3 4) )

還有類似與下圖的式子翁涤,定義了一個參數(shù)為x的函數(shù)g,返回值是一個lambda函數(shù)萌踱,在lambda函數(shù)里葵礼,對x和y的大小進行比較并返回一個布爾值。使用((g ?(2))3)就可以實現(xiàn)返回3與2比較的布爾結(jié)果并鸵。

嵌套lambda還可以寫成(lambdaN:(lambdax:N>x))(2)(3)類似的函數(shù)章咧,第一個2是N的表示,3是x能真。

lambda : [ (fout.write(sssss), (fout.close(), None)[1])[1] for None in [open('key.enc', 'wb+')] ][0]

上面的語句中使用for None in XXX赁严,相當于fout=open('key.enc', 'wb+')。

(getattr(__old, '__ior__', (lambda other: NotImplemented))value

上面的語句則是使用getattr函數(shù)來實現(xiàn)或運算的函數(shù)功能粉铐。

另外在一些lambda函數(shù)中也可能使用數(shù)組來表示一個變量的名字對應使用變量的內(nèi)容疼约,如:

__l['data'][__l['i']]表示的是data[i]的值,其中__l是符號表的集合蝙泼。編譯過程中會將一些變量存在符號表中程剥,通過符號表索引到對應的地址和值。__l['i'][0]就是對應的值。

但是這些還不夠织鲸,嘗試分析一下:((lambda x: x(x)),)((lambda y: (f,)((lambda : y(y)()))))函數(shù)是在干什么舔腾。。搂擦。稳诚。還是不會。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瀑踢,一起剝皮案震驚了整個濱河市扳还,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌橱夭,老刑警劉巖氨距,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異棘劣,居然都是意外死亡俏让,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門茬暇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舆驶,“玉大人,你說我怎么就攤上這事而钞∩沉” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵臼节,是天一觀的道長撬陵。 經(jīng)常有香客問我,道長网缝,這世上最難降的妖魔是什么巨税? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮粉臊,結(jié)果婚禮上草添,老公的妹妹穿的比我還像新娘。我一直安慰自己扼仲,他們只是感情好远寸,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屠凶,像睡著了一般驰后。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矗愧,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天灶芝,我揣著相機與錄音,去河邊找鬼。 笑死夜涕,一個胖子當著我的面吹牛犯犁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播女器,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼酸役,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晓避?” 一聲冷哼從身側(cè)響起簇捍,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤只壳,失蹤者是張志新(化名)和其女友劉穎俏拱,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吼句,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡锅必,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惕艳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搞隐。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖远搪,靈堂內(nèi)的尸體忽然破棺而出劣纲,到底是詐尸還是另有隱情,我是刑警寧澤谁鳍,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布癞季,位于F島的核電站,受9級特大地震影響倘潜,放射性物質(zhì)發(fā)生泄漏绷柒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一涮因、第九天 我趴在偏房一處隱蔽的房頂上張望废睦。 院中可真熱鬧,春花似錦养泡、人聲如沸嗜湃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽净蚤。三九已至,卻和暖如春输硝,著一層夾襖步出監(jiān)牢的瞬間今瀑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留橘荠,地道東北人屿附。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像哥童,于是被迫代替她去往敵國和親挺份。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容