原创 ADVobfuscator開源項目分析

一、代碼混淆的定義代碼混淆(Obfuscated code)亦稱花指令,是將計算機程序的代碼,轉換成一種功能上等價,但是難於閱讀和理解的形式的行二、ADVobfuscator簡介ADVobfuscator演示如何使用C ++ 11/14語

原创 Linux編寫內核模塊及文件讀寫

sysfs是什麼sysfs是一個基於內存的文件系統,它的作用是將內核信息以文件的方式提供給用戶程序使用。該文件系統的目錄層次結構嚴格按照內核的數據結構組織。除了二進制文件外(只有特殊場合才使用),sysfs文件內容均以ASCII格式保存,

原创 Linux udev識別移動設備

udev是什麼udev 是Linux kernel 2.6系列的設備管理器。它主要的功能是管理/dev目錄底下的設備節點。它同時也是用來接替devfs及hotplug的功能,這意味着它要在添加/刪除硬件時處理/dev目錄以及所有用戶空間的

原创 劍指offer算法題彙總(java版)

1.二維數組中的查找題目描述在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。題目思路讀取矩陣最右上角的元素,也就是第一行

原创 熱部署插件JRebel安裝使用

IntelliJ IDEA實現熱部署一搬有三種方法:1.JRebel插件2.Maven項目的springloaded依賴3.Maven項目的springdevtool依賴博主覺得還是第一種方法比較好用。下面來看一下如何配置JRebel實現

原创 必考算法總結(java版)

樹的遍歷先序遍歷遞歸版本 public static void preorderTraversal(List<Integer> list,TreeNode root){ if(root==null)

原创 Wine中PE格式文件的加載(三):PE格式文件的加載

前面分析到ntdll中加載了kernel32,然後調用了kernel32的初始化函數__wine_kernel_init。該函數的實現在dlls/kernel32/process.c中。內容較多,就不完整截圖了首先函數開始獲取了需要加載的

原创 linux系統調用過程理解

用戶可以通過兩種方式使用系統調用:第一種方式是通過C庫函數,包括系統調用在C庫中的封裝函數和其他普通函數。(如write,read,kill,mkdir等函數)第二種方式是使用_syscall宏。2.6.18版本之前的內核,在includ

原创 Wine中PE格式文件的加載(一):Wine初始化過程

首先了解下Wine初始化過程。我們執行”wine WeChat.exe”命令,發生的過程是怎麼樣的?接下來從wine源碼一步步分析函數調用過程。在loader/目錄下的源碼編譯,由main.c生成了“wine”Linux可執行文件;pre

原创 OLLVM分析

一、LLVM是什麼LLVM最初是Low Level Virtual Machine的縮寫,定位是一個,但是是比較底層的虛擬機。然而LLVM本身並不是一個完整的編譯器,LLVM是一個編譯器基礎架構(infrastructure),把很多編譯

原创 Linux實現熱補丁

熱補丁是什麼熱補丁(hotfix),又稱爲patch,指能夠修復軟件漏洞的一些代碼,是一種快速、低成本修復產品軟件版本缺陷的方式。通過電子郵件或者其他途徑來通知用戶有關熱補丁的消息,一般在軟件供應商的網站上可以免費下載補丁程序。和升級軟件

原创 Wine中PE格式文件的加載(二):Wineserver初始化過程

Wineserver的初始化過程就在thread_init函數中進行的。具體分析thread_init函數(在ntdll/thread.c中)1.     創建了TEB,PEB等數據結構。2.     通過server_init_proc

原创 理解Raft協議

什麼是分佈式一致性 首先假設我們服務器系統中只有一個結點(node),這個結點可以是一個數據庫服務器存儲着單一的值,有一個客戶端向這個服務器發送了一個值,這個值可以很容易就滿足一致性。但是,如果我們的服務器部署在集羣上,有多個結點,每次對

原创 Ubuntu編譯Android源碼

博主是在Ubuntu16.04下編譯Android 6.0.1的源碼。首先需要獲取到Android源碼,有很多種方式,大家可以自行google。博主是在網上分享的一個百度雲鏈接中下載的,方便省事,需要鏈接的可以私信我或者給我留言。Andr

原创 Netty4——Handler執行順序

Netty4中, I / O事件由ChannelInboundHandler或ChannelOutboundHandler處理,並通過調用ChannelHandlerContext中定義的事件傳播方法(如ChannelHandlerCon