原创 用Swing寫了一個Class編輯器:ClassEditor

一、它是什麼? 顧名思義,它是一個用來編輯字節碼的簡單的小工具。 二、它能幹嘛? 字節碼編輯器?據我所知,修改字節碼相當麻煩。一般情況下,我們需要: 將 jar 包用 JD-GUI 等工具,將所有 Class 文件全部反編譯成 Ja

原创 【網上的都不靠譜?還是得改源碼】用Javasisst的字節碼插樁技術,徹底解決Gson在轉Map時,Int變成double問題

一、探究原由 首先申明一下,我們要解決的問題有兩個: Json串轉Map時,int變double問題 Json串轉對象時,對象屬性中的Map,int變double問題 然後,我們來了解一下,Gson實現Json反序列化的源碼:

原创 【正則助我,事半功倍】好用的幾個正則

1、時間串轉時間 var str = "20170818102656"; //這種時間串,有時總能遇到。還可能是其他的,如2017.08.18 10:26:56 str = str.replace(/^(\d{4})(\d{2})(\

原创 【面試必讀】求你們不要再問我Java中的鎖及優化了?

一、Java線程阻塞的代價 Java的線程是映射到操作系統原生線程之上的。如果要阻塞或喚醒一個線程就需要操作系統介入,需要在戶態與核心態之間切換,這種切換會消耗大量的系統資源。 因爲用戶態與內核態都有各自專用的內存空間,專用的寄存器等

原创 感謝CSDN:獲得CSDN的2018博客之星入圍獎(前50名)

感謝一直相伴的CSDN,及爲我投票的各位小夥伴們! 2019,我們繼續努力!

原创 一張時序圖看懂:髒讀、不可重複讀

[必讀] 共享鎖與排他鎖 首先說明:數據庫的增刪改操作默認都會加排他鎖,而查詢不會加任何鎖。 共享鎖 對某一資源加共享鎖,自身可以讀該資源,其他人也可以讀該資源(也可以再繼續加共享鎖,即 共享鎖可多個共存),但無法修改。要想修改

原创 才從Grava中明白了一件事:不可變特性與防禦性編程

一、面試常談:String類與不可變特性 問:String類是可變的嗎? 答:emm……由於String類的底層是final關鍵字修飾,因此它是不可變的。 問:它被設計爲不可變的好處有哪些呢? 答: 節約內存 大家都知道,編程的

原创 技術人員的發展之路

轉自酷殼-陳皓:https://coolshell.cn/articles/17583.html 2012年的時候寫過一篇叫《程序算法與人生選擇》的文章,我用算法來類比如何做選擇,說白了就是怎麼去計算,但是並沒有講程序員可以發展的方向

原创 『DNS隧道工具之滲透神器』— cobalt strike

一、入坑必讀 着重說明:該工具的定位,是一個後滲透協同APT工具,主要用於內網的滲透測試和作爲apt的終端控制。它不是一個單純的DNS隧道工具,把它放在此處講,只是因爲它也支持DNS隧道功能而已,所以下文也只會講講它的DNS隧道能力!

原创 『DNS隧道工具』— ozymandns

一、入坑必讀 1、簡介 ozymandns 較早的一個DNS隧道工具,它基於perl開發,使用較複雜。 最初版本只有0.1,有各個愛好者的修改版,如via1,via2,via3等。它的主要功能就是結合 ssh 來做通道,因此這也是它的

原创 『DNS隧道工具』— dns2tcp

一、入坑必讀 1、簡介 dns2tcp 是一個利用DNS隧道轉發TCP連接的工具,使用C語言開發。 使用熱度: ★★★★☆ 2、專業詞 Type:DNS解析的類型,常見的有:A、CNAME、MX、TXT…… 直連模式:客戶端直接向指

原创 『DNS隧道工具』— dnscat2

一、入坑必讀 1、簡介 dnscat2是一個DNS隧道工具,通過DNS協議創建加密的命令和控制通道,它的一大特色就是服務端會有一個命令行控制檯,所有的指令都可以在該控制檯內完成。包括:文件上傳、下載、反彈Shell…… 使用熱度: ★

原创 『DNS隧道工具』— Iodine

一、入坑必讀 1、簡介 因爲 iodine(碘)的原子序數爲53,這恰好是DNS端口號,故取名爲iodine。 iodine基於C語言開發,分爲服務端程序 iodined 和客戶端程序 iodine,kali系統內置。 服務端程序 i

原创 《碼農愛上黑客》之“如何Web安全”!

從勒索病毒就可以看出,其實病毒離我們並不遠…… 一、引言 隨着對黑客淺略地瞭解,慢慢知道了這個鬼東西是一個多麼可怕的存在。 希望能通過這篇文章,讓一些和之前的我一樣沒有對黑客一詞引起重視的人,加深一下對這方面的瞭解和關注! 接下來就以

原创 Doker使用小結及常用軟件安裝

0、常用命令 刪除 docker rm container_id #刪除容器,容器需要先stop docker rmi image_id #刪除鏡像 docker停止、移除所有 docker stop * docker rm