一個簡單的c#逆向
今天有時間就看了一下reversing.kr上的題目, 玩了會C#的題目, 感覺還是挺簡單的。
大致的流程就是在form1 建立的時候, 把某個方法的位元組碼做一定的改變, 然後反編譯器就無法看到裡面的內容了, 解題方法其實也很簡單, 就是按著他的思路把最後的方法還原就好。然後解出來的內容就是抑或和字元對比,沒什麼好說的。 我寫的程式碼比較挫就不放上來了(免得被大牛噴) 。
寫這篇部落格的目的實際上只是想談談自己對反編譯器的看法吧。 在最開始學逆向的時候,接觸到的是reflector , 這個確實是反編譯.net的一個神器, 畢竟是微軟人的東西,到了後來, 無意間發現了C#的神器, dotpeek, 。之後還發現了一個加ILSPY的工具, 感覺這個倒是蠻輕便的。現在.net 方面基本還是用dotpeek 多一些吧。 就像分析apk一樣, 差不多都是直接丟jeb, 然後native的直接丟ida 。工具對逆向分析幫助還是挺大的, 但是最重要的還是要去理解作者的思路, 當然還有各種猥瑣的反除錯技術了。
說了這麼多,大牛們還請輕噴。
相關推薦
一個簡單c#爬蟲程序
count www 數據 排名 其他瀏覽器 pytho 分享 很多 attr 這篇文章只是簡單展示一個基於HTTP請求如何抓取數據的文章,如覺得簡單的朋友,後續我們再慢慢深入研究探討。 圖1: 如圖1,我們工作過程中,無論平臺網站還是企業官網,總少不了新聞展示。
一個簡單C++躲避子彈遊戲
Hello guys,This is very simple and one of my old projects I've created.It's probably the best one,as it really looks like a game,mind you the co
樹莓派跑一個簡單c++小程式教程
我用的是樹莓派3代b型,所使用的是Debian系統的衍生系統raspbian(對系統不太瞭解不清楚)。樹莓派開發c++程式需要的工具有編輯器vim,偵錯程式gdb,編譯器gcc或者g++.(大神飄過就行~~ 記錄一下)用紅筆塗得地方是我命令敲錯的地方,大家忽略就行。 安裝vim 執行
一個簡單C語言的詞法分析器
一個簡單C語言的詞法分析器 語言的詞法構成: 識別符號 id 同C語言識別符號 常量 num 數字 ch 字元 str 字串 關鍵字 kw_int int kw_char char kw_void void kw_if
一個簡單C順序棧的實現
僅用於記錄,加深理解的練習。 水平有限,不規範之處還請包涵指正。 只實現了初始化棧,進棧,出棧,列印資料功能。 #include<stdio.h> #include<stdlib.h> #define ADDSIZE 10 #
自己動手實現一個簡單c編譯器
這學期的編譯課程設計需要做一個類c編譯器,準確的說是完善上學期做的大實驗。 上學期的實驗中,使用antlr完成的編譯器識別的語法很有限,基本上是個計算器的語法,於是這次決定弄語法一個更加完整。 語法支援: 宣告,賦值,函式,if-else,while,for。 首先是詞法分
一個簡單的c#逆向
今天有時間就看了一下reversing.kr上的題目, 玩了會C#的題目, 感覺還是挺簡單的。 大致的流程就是在form1 建立的時候, 把某個方法的位元組碼做一定的改變, 然後反編譯器就無法看到裡面的內容了, 解題方法其實也很簡單, 就是按著他的思路把最後
初遇C#:一個簡單的小程序(圓形周長,面積計算器)
編碼 雙精度 崩潰 輸入 面向對象 窗口 語句 readline 面向對象的語言 作為一個面向對象的語言,與用戶的交互很關鍵! 在此,我們可以先分析一下我們這個小程序要與用戶交互的內容:1.命名很重要,讓用戶看見這個程序就知道這個程序的作用。 2.當用戶打開這個程序時,提示
C語言多線程的一個簡單例子
color oid blog stdlib.h null bsp 等待 creat 多線程 多線程的一個簡單例子: #include <stdio.h> #include <stdlib.h> #include <string.h&
用 C# 實現一個簡單的 Rest Service 供外部調用
message [] operation rem adk www span method title 用 C# 實現一個簡單的 Restful Service 供外部調用,大體總結為4點: The service contract (the methods it o
Tinyhttpd - 超輕量型Http Server,使用C語言開發,全部代碼只有502行(包括註釋),附帶一個簡單的Client
net 事件驅動 免費 好評 lua ansi c tor 這一 通過 - 2. Tinyhttpd tinyhttpd是一個超輕量型Http Server,使用C語言開發,全部代碼只有502行(包括註釋),附帶一個簡單的Client,可以通過閱讀這段代碼理解一個 Htt
C#做一個簡單的進行串口通信的上位機
時序 網上 fun style 什麽 函數 數值 pos 表示 C#做一個簡單的進行串口通信的上位機 1、上位機與下位機 上位機相當於一個軟件系統,可以用於接收數據、控制數據。即可以對接收到的數據直接發送操控命令來操作數據。上位機可以接收下位機的信號。下位機是一個
C# 定時器 一個簡單 並且可以直接運行的Demo
threading pac als 簡單 time tar model ali 代碼 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat
C++11實現一個簡單的線程池
start art AI fun con var func iostream any 為了不讓手生,邊復習邊手擼了一個線程池,代碼量比較少,如下,用了一些C++11的實現,語言標準嘛,就是跨平臺的: thread_poo.h #ifndef _THREAD_POOL_ #
自己寫一個C#數據結構:用List<T>實現一個簡單的Stack
count 實現簡單 ole exceptio tac on() rem linq -- 在C#中利用List<T>實現一個簡單的Stack 需要實現的功能:壓棧、彈棧、查看棧頂元素、查看元素個數、查看Socket是否為空,判斷元素是否在Socket中、清空So
C#一個簡單辦法判斷操作系統版本
message art 微軟 tin dem pac sna string win 做個記錄,最近寫個小軟件,涉及到判斷操作系統版本的,查看了微軟的相關資料,感覺以及網上的一些Demo,感覺不全,而且有些系統也不好區分。 因為之前寫過批處理版本的操作系統判斷使用了WMIC的
如何在ubuntu中寫一個簡單的C語言程式碼並編譯執行
首先需要安裝一個編譯器 因為筆者也是剛剛開始學習ubuntu所以不知道各個編譯器之間的區別,筆者所用的是gcc就簡單介紹一下gcc的安裝方法吧。 方法一: 開啟控制檯輸入以下程式碼: sudo apt-get build-dep gcc; sudo apt-get bui
編寫一個簡單的C++程式
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
一個簡單的C#命令列引數程式
新建一個c#控制檯程式,命名為ConsoleApplication1 程式主體如下 class Program { static void Main(string[] args) {
一個簡單的C++實現有理數類的例子
這次本來是老師佈置的一個作業,老師提前把main.cpp給了我們,要求我們在標頭檔案中定義並且實現一個有理數類,使得執行程式後輸出的結果跟他給的一樣。 main.cpp如下: #include <stdio.h> #include "Rational.h" int main() { Ra