原创 8--python之遞歸

遞歸的兩個條件 1、有調用函數自身的一個過程 2、有一個合理的結束條件 遞歸的特點: 必須有一個明確的結束條件,要不就會變成死循環了,最終撐爆系統 每次進入更深一層遞歸時,問題規模相比上次遞歸都應有所減少 遞歸執行效率不高,遞歸層

原创 5--python中的列表和元組

列表 創建列表 創建一個普通列表 創建一個混合列表 創建一個空列表 向列表添加元素 append() eg:member.append(“小郝”) extend() append()和extend()均是自動在末尾追加 in

原创 6--python的字符串

0x01 字符串的內置方法 字符串是 Python 中最常用的數據類型。我們可以使用引號('或")來創建字符串。 創建字符串很簡單,只要爲變量分配一個值即可。 0x02 格式化 0x03 序列 列表、元組和字符串的共同點

原创 7--python的函數

函數的調用 >>> def MyFirstFunction(): print('這是我創建的第一個函數') print('我感覺很開心') >>> MyFirstFunction <function MyFirstFunct

原创 4--python分支和循環

while循環 while 循環體 需要注意冒號和縮進。另外,在 Python 中沒有 do…while 循環 for循環 雖然說python是由C語言編寫而來,但是python與c語言裏的for循環不太一樣,p

原创 1--python的主要數據類型和主要操作符

數據類型 整型:int() 浮點型:float() 小數 Python區分整型和浮點型的依據看是否有小數點 布爾類型: 特殊的整型,true(1) false(0) 字符串:str() 數據類型間的互相轉化 負數類型 e

原创 2--一個簡單的小遊戲

import random secret = random.randint(1,10) print('-------------------gclome-------------------') temp = input("不妨輸

原创 3--用python編程,給成績打等級

按照100分制,90分以上成績爲A,80到90爲B,60到80爲C,60以下爲D,寫一個程序,當用戶輸入成績,自動轉化爲ABCD的形式打印。 方案一: score = int(input('請輸入一個分數:')) if 100>=

原创 彙編學習--函數

函數是一個程序模塊,用來實現一個特定的功能。一個函數包括函數名、入口參數、返回值、函數功能等功能。 一、函數的識別 程序通過調用程序來調用函數,在函數執行後又返回調用程序繼續執行。調用函數的代碼中保存了一個返回地址,該地址會與參數

原创 peda和pwndbg的切換

在調試時有時候需要不同功能,在gdb下需要安裝兩個工具pwndbg和peda,可惜這兩個不兼容 pwndbg在調試堆的數據結構時候很方便 peda在查找字符串等功能時方便 peda和pwndbg的切換 nano /root/.gd

原创 彙編之循環語句

今天看了《加密與解密》循環語句部分,接下來將從do-while循環,while循環,for循環三個方面去學習循環的彙編。 0x01 do-while循環 do-while循環的流程是:先執行語句塊,在進行表達式判斷,當表達式爲真時

原创 mov,lea指令的區別

轉載自 渣渣愛學習 最近在學習彙編語言,過程中遇到很多問題,對此在以後的隨筆會逐漸更新,這次談談mov,lea指令的區別 一,關於有沒有加上[]的問題 1,對於mov指令來說: 有沒有[]對於變量是無所謂的,其結果都是取值

原创 pwn學習---藉助格式化輸出繞過canary保護

0x01 原理簡介 格式化字符串漏洞是因爲c語言中printf的參數個數不是確定的,參數的長度也不是確定的,當printf把我們的輸入當作第一個參數直接輸出的時候,我們輸入若干格式化字符串,會增加與格式化字符串相對應的參數,會泄露

原创 pwn學習---attach調試與ret2libc

0x01 attach調試 我們將4.c文件編譯成41.exe,然後使用python腳本運行 C語言程序如下: #include<stdio.h> void exploit() { system("/bin/sh"

原创 pwn學習----定位溢出點位置

0x00 準備工作 首先,用於溢出的C語言代碼爲: #include <stdio.h> void exploit() { system("/bin/sh"); } void func() { char s