reverse-engineering

    0熱度

    2回答

    我有一個Linux可執行二進制文件(C或C++編譯)。在某些時候,程序使用時間戳來產生隨機數 我需要實現一定的隨機數序列,所以我想製作一個攔截系統調用的腳本(首選python)(AFAIK這是稱爲「掛鉤」)來獲取時間戳並返回一個自定義值直到我得到我需要的序列。我必須這樣做,因爲可執行文件不使用整個時間戳,就像timestamp % 10000 這可能嗎?如果是這樣,怎麼樣?

    1熱度

    2回答

    我最近聽說過一家軟件安全公司,它使您的代碼在反向工程和代碼修改方面具有防黑客功能。他們的技術是這樣的: 它們在代碼中的多個檢查點插入校驗和,以確保它們之間的代碼安全。由於代碼流在每個檢查點執行,所以會檢查校驗和,如果代碼已被篡改,則校驗和將失敗,並且您知道代碼已被修改。如果檢查點被刪除,則下一個檢查點也將失敗,因爲檢查點已被刪除。 購買他們的服務將完全超出我的項目(一個Android應用程序)的預

    0熱度

    2回答

    我是新來的android和我不太瞭解軟件工程。我想知道應該做些什麼來使反編譯應用程序變得更加困難。我對它進行了一些研究,並且遇到了這個調試器JEB,它似乎可以在應用程序運行時監控一些東西。然而我不知道使用它的好處,因爲我沒有得到JEB正在監控的android應用程序的關鍵點。例如: enter image description here appearantly右側顯示局部變量。 x/xh對於in

    2熱度

    1回答

    我正在調試我的java應用程序並添加了「Start Recording Marker」{1}和一個「End Recording Marker」{2}單擊 - >斷點 - >添加...標記)。 我還必須添加一個正常的斷點{3},因爲如果我不這樣做,應用程序會在啓動時卡住某處。 (StartingFrame顯示,所以代碼的一部分被執行,但不是全部) 當我然後按下「記錄&分析」窗口中的播放按鈕{4}並選

    0熱度

    1回答

    每個TEST_DEBUG.EXE加載在0x04000000基地IDA模塊,但在任何隨機量基地像0x0C120000,0x0C710000,0x0ABC0000 加載 TEST_DEBUG.DLL文件時,如何我說IDA調試器,負載TEST_DEBUG.DLL在0x0ABC0000 BASE每次? PS: TEST_DEBUG.EXE負載許多DLL和他們中的一個是TEST_DEBUG.DLL

    2熱度

    2回答

    我有一個字符串: RP581147238IN其編碼爲A3294Fc0Mb0V1Tb4aBK8rw== 和另一個字符串: RP581147239IN其編碼爲A3294Fc0Mb1BPqxRDrRXjQ== 但呆了一天後,我仍然無法弄清楚什麼是編碼過程。 編碼的字符串看起來像它的base64編碼。 但是,當我對其進行解碼,它看起來像: base64.decodestring( 「A3294Fc0Mb0

    1熱度

    1回答

    我不確定如何從C++中的地址獲取字符串。 假裝這是地址:0x00020348 假裝這個地址存放值「美味」 如何我會得到從地址0x00020348字符串「好吃的」? 謝謝。

    0熱度

    1回答

    我是反向工程自定義二進制文件格式。我找到了表示UTF-8字符串的數據結構。頭中有一個或兩個字節用於保存字符串長度,然後是實際的字符串數據。 ╔════════════╦═══════════════╦═══════════════════╗ ║ first byte ║ optional byte ║ UTF-8 string data ║ ╚════════════╩════════════

    1熱度

    2回答

    我有用C#編寫的庫。我想分發它作爲一個DLL。但似乎.NET允許對它進行舒適的反編譯,所以算法很容易被盜用。 我可以用C++重寫它,但我是.NET新手。所以,主要的問題是編寫一個C#接口。該庫不是太大,並使用線程,網絡和一些數學 有沒有一種方法可以通過反彙編只能建立一個DLL?或者我最好只需要用C++編寫所有內容並提供一個C#接口?反編譯C++比C#更難嗎?

    0熱度

    1回答

    我在IDA Pro的獲得在C以下代碼++,我正在看: __int64 __fastcall sub_14023B480(__int64 a1) { return *(_DWORD *)(a1 + 0x384) > 0 && !(*(_BYTE *)(a1 + 0xE8) & 8) && !(*(_DWORD *)(a1 + 0x290) & 0x800000); } a1是一個實