逆向入门ing…
贪吃蛇
玩够60分就行,动调我还不太熟:)
babyre
字符串里 The flag is: NSSCTF{this_is_the_first_flag}
easyre
字符串里 NSSCTF{oh_you_find_it}
base64
字符串里找到TlNTQ1RGe2Jhc2VfNjRfTlRXUTRaR0ROQzdOfQ==
,base64解密即可
base64-2
字符串窗口可定位码表:NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm0123456789+/
逻辑都不需要看了,换表而已,脚本处理下即可:
1 | import string |
xor
1 | c = 'LQQAVDyZMP]3q]emmf]uc{]vm]glap{rv]dnce' |
android
反编译成java源码,在mian类里明文可见:NSSCTF{a_simple_Android}
upx
upx脱壳,所有位异或2得flag
1 | c = 'LQQAVDyWRZ]3q]zmpf]uc{]vm]glap{rv]dnce' |
py1
参考博客,安装了最新的pyinstxtractor,最新的uncomepyle6,然后一步步反编译得到py源码。直接可以看到flag:
1 | # uncompyle6 version 3.8.0 |
py2
类似py1恢复源码,base64解密
1 | # uncompyle6 version 3.8.0 |
pypy
甚至不需要将exe反编译为pyc,直接给的pyc文件,恢复得到源码:
1 | # uncompyle6 version 3.8.0 |
简单逆一下:
1 | def init_S(): |
oh这就是rc4?以前没看过源码,感觉挺简单的。
android2
反编译定位到encode类:
1 | package com.example.ilililililil; |
已知key做异或即可。