Created
September 1, 2016 04:45
-
-
Save FGFW/1ff25ef36ac63724474ab996a1d3a28a to your computer and use it in GitHub Desktop.
python3下载远程代码并执行
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
这个代码主要示范: | |
1、示范python3如何从远程下载代码并执行 | |
2、示范如何把一个文件转成文本嵌入到程序代码中。 | |
3、示范把字符还原成文件,并调用。这段代码中使用的是base85编码 | |
# 调用方法 import urllib.request; code_url = url; req = urllib.request.urlopen(code_url).read();exec(req) | |
#运行环境 windows python3.4 | |
#2016年9月1日 11:51:16 codegay | |
""" | |
import base64 | |
amp3 = r""" | |
s5P6?!#0DW?irk8!4Z3Y@0-^#!bBcl]=Z(=Lku)C]=Xdb`(kZokl-G8!K0,aE&\]!EsobJ#N(aK5EtF<ci<KRi1(nIpc`!`arL!PPR$0(7rUdB&!mh,0(;.,5QDK*"Tj6?s5P<A#o/Rd | |
dU.u!!2*.:'F2>G\SrpF;o4$MIHd=#c-m"ZM?;c5:(t(=U4CV/4nG`BN2Z^Bk[B;Z-m2=d-o(L,ht3o!s75JIVtnO8LjR&'..htts2>^]L]dd&[cr:\@q[G>"omU*`"!T9md;1;-j,4M | |
jqp@Mc?"c\*PCQ$5g`g6mOV_maK=i&Qg7!YL4@Ttku<Ym?GsBW'<MaC5O?/bs%i5dV5[o*Z5Hqpf73fZrRO[]ZB:NWYPf/Y]uP\cbYk=llV%1b63#sh`![<Kk5IP(7,@qloMNM#^&ao8 | |
nh>_\"%!R6@0f4*`$#(BdM"c46'8:,RAbr+e'mu9ke?<]s7Ce`A@,8;*PmgC$loL@)G>RFeAWG,$lZJFTh<B?!$$Qu2h*r_JdEXUr@e32+N+g.!nQI^;?WEmTcMHX"I`2^j!k"t+B#Ds | |
:[email protected]/s&U?RGQ3>-E_&n2I2Rj/mma4i7*5Gcs8W,U6_*=!(uYT/0H^K<m9QOc8F$?q16*7`Z/=br"p$2Cg]m^LV$$bX,/aj)F2%>H-q.0h2tT32@3^O6ns#p`'_l3oaAE*t2dB$# | |
!#M);@/k`sd1\uBo-5.OVMkNJs7W#?a(ko65`B8E7s3q^=5(Cgs8ApBf<%drj:&srgccke$+,kVp*;X&?r@4/iul8L(JD'mp//d*Z/P_I$m5D_+;4^IpoV<\.`ZDUj++W8SfVe8WQ#4e | |
r^&jIJQo&(ro@,[\+pT0Q''`N_#h5uVuDDMg]!.7aYKljRa-f.&XCA:aU,KEeVqQN*JuoW?reNPj!)DK'No2DIL8J01*ur1"CL<o!Wd66/,rM8s.Z4"kG"aNW)F%=61b2LW3N#[Y^A&+ | |
,TX*la%]q=@%d_m;,rQ;epG0_f/"5UZ@S;\*qh&J&teb--O"$S8QC*<+A<#,PMXHQs5P6?'GME;a9l\qOGROGfF][)P=uGp%Eo=0,"1"*'3M78&J5XO;)FW!2"hSsbm_[=o@??mWM/7K | |
T]CV&s7WTB:]LIp<AagGs8Ds4_+EK[KG#"qmS$G,1LCPIO?*CUMO$09s5P<A*Y^koe/hL]J8ctV%%0-c,]FI__dOqC5g`H%-*]#0`2`k(`pja(_dT=\?5f6^HU%BSm4[o[:[.iH#App& | |
ralu-MkGY1Z.(<q2TJ9e"?qRKXDc`_FH$?ZLC9S[pWF,>F8t8C`$lC>hS^L4-ihHpk!M42U)XR7XAc.;lGpPn)=J<sc-0HqR*'94D67E9DV2+?\h1%Jdn&W^l?5UX0i"l\8k-F8VgiX& | |
euT5dU8H?qobe??>k(]8MQ/@XDaG&:_ao+"q#B@u`%i-kG,,/+5QIcB(]")P`0)8a07;!&+FBKuX'A&rs1ZNr\`qS>4hpIWs5*BTBC"crh-/>/pIIq$@jO]3nPa,#EH9+_o;.^`PtXY% | |
19*@^aamQ+Q<U["9oN),B^3rE"0V[a+N,oT_d\#:Qp:X]<JG2eaU^b$W!\BH?(-9C(d+S4F\#MeBiU5orpJaTR?:@*d]3f)WuqBAk:2@N[-("@9e>#"29N*3s8W-!CD0T?C=Z8)$C32D | |
s8F;Wjjj\[$33nV"ciWC,/aj'CA(%3a:J=i.`s5Um)N'_s8U5HXjGu*jY-Z6r2'Gn6YQCobQ%/Q0srH:?hm>^)3Dk\;XHhN\Op$B:r$fQS`3a$i=Kt;lT;qdnL@3u9gpij3ArKEWiE)! | |
WiE)!WiE*!iul8T!!!*lzWiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE'""" | |
def decodemp3(): | |
bmp3=base64.a85decode(amp3.encode()) | |
with open("my.mp3","wb") as f: | |
f.write(bmp3) | |
import os | |
os.system("start my.mp3") | |
from tkinter import * | |
class app: | |
def __init__(self,master): | |
frame = Frame(master) | |
frame.pack() | |
self.button = Button(frame,text="exit", fg="red",command=frame.quit) | |
self.button.pack(side=LEFT) | |
self.hi = Button(frame, text="16年前书上的tkinker代码现在还能跑,点这个按钮会解码文本并弹出播放MP3",command=self.say_hi) | |
self.hi.pack(side=LEFT) | |
def say_hi(self): | |
print("hi~~") | |
decodemp3() | |
root = Tk() | |
a = app(root) | |
root.mainloop() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment