這個是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的時候,會將一...