逆向 簡單的pyc

2021-09-22 02:24:24 字數 865 閱讀 6713

這個是i**c的比賽逆向題目(比賽還沒結束qaq)

題目內容很簡單

提示說要逆向乙個pyc

直接拉進去  執行

得到如下內容:

import base64

def encode(message):

s = ''

for i in message:

x = ord(i) ^ 32

x = x + 16

s += chr(x)

return base64.b64encode(s)

correct = 'eynzc2tjwv1gxfwpygltbq=='

flag = ''

print 'input flag:'

flag = raw_input()

if encode(flag) == correct:

print 'correct'

else:

print 'wrong'

這就很棒了

原始碼都有了  什麼是逆不出來的

這裡需要注意一下的是correct的內容最好不要用網上的base64解碼工具解碼

最好用python的base64模組解碼

簡單寫一下python得到decode後的字串

y\x83sskcy]`\\u\x8f`ism
然後寫乙個指令碼,跑一下就出來了

指令碼如下:

#include using namespace std;

int main ()

{ char buffer[512]="y\x83sskcy]`\\u\x8f`ism";

for(int i=0;i結束。

pyc逆向之opcode簡單置換

最近做了一道pyc的逆向題,主要難點在於python環境的opcode被置換,就簡單記錄一下相關知識。opcode其實是指python原始碼的操作碼,python源 py編譯後可以得到二進位制檔案 pyc,pyc檔案中就含有opcode序列。對於不同版本的python,其opcode是不完全相同的,...

關於pyc檔案的逆向

關於pyc檔案的逆向 最近感覺遇到的pyc檔案逆向的越來越多了,所以就來總結下。參考了大佬的blog 0x1 pyc的檔案結構 在命令列輸入 python m filename.py的時候,便會得到乙個對應的filename.pyc。拖進hxd中看二進位制。其中,開頭的4個位元組是magic num...

180627 逆向 pyc還原指令碼

針對suctf的python 好一題,通過解析內容還原pyc的指令碼 對於不同的解析內容需要另加修改,但原理一致 將元素按照 格式識別符號 len 內容的形式遞迴填入即可 值得說明的一點是指令碼無法還原出原來一模一樣的pyc,但可以還原出相同的py檔案 這是因為python在編譯pyc的時候,會將一...