當前位置:首頁 » 操作系統 » axj源碼

axj源碼

發布時間: 2023-05-16 15:32:31

㈠ 匯編語言怎麼產生隨機數

NASM匯編:

section	.text
global_start;gcc必須的聲明
rand:;生成隨機數,返回值在eax
pushedx
rdtsc;內核納秒級時間作為種子
imuleax,edx
addeax,0xF1E2D3C4
imuleax,0xB5A69788
popedx
ret
_start:;程序入口
nop
callrand;生成隨機數

movesi,msg
movecx,len
callbinasc;轉換成ascii

mov edx,棚簡ecx;顯示
mov ecx,esi
mov ebx,1
mov eax,襲老4
int 0x80
moveax,1;退出
xorebx,ebx
int80h

;將鏈禪褲數字轉換成ascii
binasc:
push edx
push ebx
push edi
push eax
mov edi,esi
ba1:
mov byte[esi],''
inc esi
loop ba1
mov ebx,10
or eax,eax
jns ba2
neg eax
ba2:
xor edx,edx
div ebx
add dl,'0'
dec esi
mov [esi],dl
inc ecx
cmp esi,edi
jz ba4
or eax,eax
jnz ba2
pop eax
or eax,eax
jns ba3
dec esi
mov byte[esi],'-'
inc ecx
ba3:
pop edi
pop ebx
pop edx
ret
ba4:
pop eax
jmp ba3
section .data

msg db '',0xa
len equ $-msg

多次運行結果:

python2 能使用requests嗎

由於公司要用到模擬用戶登錄,於是用學校圖書館讀者登錄來進行練習。

工具是python2 + requests第三方庫+火狐瀏覽器的firebug進行http抓包

目標 用python成功登錄學校圖書館

接下來幾篇會利用urllib和urllib2標准庫進行登錄

以下為具體步驟:

1 打開學校圖書館網址,以下為登錄界面


綜合以上分析,利用requests庫進行模擬用戶登錄。這里的post參數採用了之前圖片的源碼形式,使得參數順序匹配

import requests

url = "http://210.32.205.60/login.aspx"
# 學校圖書館登錄url
header = {"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Encoding":"gzip, deflate",
"Accept-Language":"zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
"Connection":"keep-alive",
"Content-Type":"application/x-www-form-urlencoded",
"Host":"210.32.205.60",
"Referer": "http://210.32.205.60/login.aspx",
"Upgrade-Insecure-Requests":"1",
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; rv:54.0) Gecko/20100101 Firefox/54.0"
}

body = b'__VIEWSTATE=%uMtIIHXEj%&__VIEWSTATEGENERATOR=C2EE9ABB&__EVENTVALIDATION=%2FwEdAAbAeS%2BByzNg%%2FzVFQdp1z%2BnYWZ%%2BIuKmLNV%%3D%3D&DropDownList1=0&TextBox1=讀者號&TextBox2=密碼&ImageButton1.x=44&ImageButton1.y=12'r = requests.post(url, data=body, headers=header)

print r.text

以上為一次提交,沒有進行重定向截取。

如果想用reque庫截取重定向,在這個圖書館登錄中則需要進行兩次操作,這里相當於只做了post請求,頭部,post參數都不變,只不過在requests.post()內設置了參數

r = requests.post(url, data=body, headers=header, allow_redirects=False)
# 設置 allow_redirects=False 使得禁止重定向
aspid = r.headers["Set-Cookie"] # 返回頁面的頭部的cookie
print r.status_code # 輸出302

如果再想登陸圖書館頁面,那麼需要將cookie重新加入新的url上,進行get請求的提交,此時url為/Default.aspx.

url ="http://210.32.205.60/Default.aspx"
header = {
"Accept": "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*",
"Referer": "http://210.32.205.60/login.aspx",
"Accept-Language": "zh-CN",
"User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)",
"Accept-Encoding": "gzip, deflate",
"Host": "210.32.205.60",
"Connection": "Keep-Alive",
"Pragma": "no-cache",
"Cookie": aspid
}
r = requests.get(url=url,headers=header)
print r.status_code
print r.text

接下來的幾篇是利用python2的urllib2和urllib進行相同的模擬用戶登錄。

ps 由於urllib2處理重定向的時候不會將cookie帶上,會導致頁面不能正確爬取,所以要處理重定向。解決urllib重定向文章在此,分別介紹了urllib2自動處理重定向(帶上cookie),和urllib2阻止重定向,返回cookie。

利用urllib2進行自動處理重定向,模擬瀏覽器提交post一次,就可以登錄圖書館的文章在這。

利用urllib2處理重定向,使得重定向截斷,獲取cookie,根據cookie用代碼實現重定向,登錄圖書館的文章在此。

熱點內容
安卓按鍵大師怎麼用 發布:2025-05-15 01:54:12 瀏覽:686
手機ea伺服器連不上怎麼辦 發布:2025-05-15 01:35:03 瀏覽:450
資料庫數據插入語句 發布:2025-05-15 01:30:01 瀏覽:871
js是無需編譯直接運行嗎 發布:2025-05-15 01:28:30 瀏覽:476
android文件夾重命名 發布:2025-05-15 01:13:50 瀏覽:481
cns腳本 發布:2025-05-15 01:13:38 瀏覽:722
數據結構與演算法筆試題 發布:2025-05-15 01:04:20 瀏覽:417
搜狗輸入法如何直接編輯配置文件 發布:2025-05-15 00:51:47 瀏覽:668
電箱都有哪些配置 發布:2025-05-15 00:30:21 瀏覽:74
安卓qq邀請碼在哪裡尋找 發布:2025-05-15 00:02:04 瀏覽:35