
逆向分析
红色代码
Debug The World
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++反汇编一(if语句)
1: // Dasm.cpp : Defines the entry point for the console application.2: //3:4: #include "stdafx.h"5: #include 6: using namespace std;7:8: int main(int argc, char* argv[])9:原创 2012-02-10 01:32:38 · 1934 阅读 · 0 评论 -
windbg双机远程调试
1. 拷贝要调试的可执行文件和对应的PDB符号到虚拟机。 2. 在虚拟机中启动服务端,有2种方式。`windbg.exe -server tcp:port=8888 C:\Test.exe` 这种方式可以调试main函数和程序的启动过程。 `windbg.exe -server tcp:port=8888 -p 10086` 这种方式相当于附加到PID为10086的进程上去。 3. 在原创 2017-06-01 03:52:45 · 997 阅读 · 0 评论 -
Windbg 内核态调试用户态程序
使用!process 0 0 进程名或ID得到EPROCESS使用.process /p + EPROCESS切换到应用程序的地址空间重新加载user PDB文件:.reload /f /user使用非侵入式的切换进程空间:.process /i /p EPROCESS下应用层断点,执行原创 2017-05-30 13:51:36 · 1657 阅读 · 0 评论 -
jad 反编译文件夹下的所有class
jad -o -r -8 -dDestDirectory -sjava C:/Users/SrcDirectory/**/*.class将 C:/Users/SrcDirectory目录下的所有class文件按目录结构反编译到DestDirectory下.-o 不提示,覆盖文件-r 生成原始目录结构-8 使用Uniocde编码原创 2015-03-07 23:22:26 · 3788 阅读 · 0 评论 -
360双击CTRL桌面快捷搜索逆向
// 原理就是安装全局的WH_KEYBOARD_LL底层键盘钩子.主程序是360安装路径下的safemon文件夹下的searchdesktop.exe// 安装底层键盘钩子g_hHook =::SetWindowsHookEx( WH_KEYBOARD_LL, LowKeyboardProc, g_hDll, 0);// 底层钩子过程LRESULT CALLBACK LowKe原创 2013-11-29 17:58:43 · 1573 阅读 · 0 评论 -
小Q书桌图标实现分析一
相关知识: Windows在调用进程,创建线程时,操作系统都会为每个线程创建TEB,而且FS段寄存器总是被设置成FS:0,指向线程的TEB数据,TEB结构的0x30偏移处是PEB。基本原理: 根据系统版本(Win7 Or Not)和架构(64\32位)加载不同的Dll,在explorer中开启一个远线程执行,远线程中根据PEB,动态获取LoadLibrary的地址,加载该DLL.在原创 2013-10-14 00:43:37 · 2578 阅读 · 2 评论 -
C++反汇编十一(数组参数)
45: ArrayParam(Arr,ArrSize);004019E8 push 5 // 函数参数2(数组长度)入栈004019EA lea ecx,[ebp-18h] // 取数组首地址放ecx004019ED push ecx // 数组首地址入栈004019EE call原创 2012-02-29 00:00:24 · 1190 阅读 · 0 评论 -
C++反汇编十(数组)
15: void ArrayTest()16: {004010D0 push ebp004010D1 mov ebp,esp004010D3 sub esp,5Ch004010D6 push ebx004010D7 push esi004010D8 push edi原创 2012-02-28 23:47:56 · 1506 阅读 · 0 评论 -
C++反汇编八(函数调用_Debug版本)
int x=CallFunc(2,3);0040185B push 3 // 第二个参数3入栈0040185D push 2 // 第一个参数2入栈0040185F call @ILT+105(CallFunc) (0040106e) // 调用CallFunc00401864 add e原创 2012-02-16 21:25:44 · 974 阅读 · 0 评论 -
C++反汇编八(函数调用_Release版本)
00401213 |. 6A 03 push 3 // 第二个参数3入栈00401215 |. 6A 02 push 2 // 第一个参数2入栈00401217 |. E8 C4FFFFFF call 004011E0 // 调用CallFunc(2,3)0040121C |. 83C4 08原创 2012-02-16 21:41:14 · 1068 阅读 · 0 评论 -
C++反汇编六(WHILE...DO语句)
00401730 push ebp00401731 mov ebp,esp00401733 sub esp,44h00401736 push ebx00401737 push esi00401738 push edi00401739 lea edi,[eb原创 2012-02-15 00:40:34 · 1323 阅读 · 0 评论 -
C++反汇编五(DO...WHILE语句)
004016D0 push ebp004016D1 mov ebp,esp004016D3 sub esp,44h004016D6 push ebx004016D7 push esi004016D8 push edi004016D9 lea edi,[eb原创 2012-02-15 00:36:16 · 764 阅读 · 0 评论 -
C++反汇编七(FOR语句)
00401780 push ebp00401781 mov ebp,esp00401783 sub esp,48h00401786 push ebx00401787 push esi00401788 push edi00401789 lea edi,[eb原创 2012-02-15 00:47:30 · 881 阅读 · 0 评论 -
C++反汇编九(全局变量与局部变量)
00401020 push ebp00401021 mov ebp,esp00401023 sub esp,44h00401026 push ebx00401027 push esi00401028 push edi00401029 lea edi,[eb原创 2012-02-21 18:01:15 · 3443 阅读 · 0 评论 -
C++反汇编四(SWITCH语句)
004015D0 push ebp004015D1 mov ebp,esp004015D3 sub esp,48h004015D6 push ebx004015D7 push esi004015D8 push edi004015D9 lea edi,[eb原创 2012-02-14 00:49:46 · 991 阅读 · 0 评论 -
C++反汇编三(IF_ELSE多分支语句)
00401500 push ebp00401501 mov ebp,esp00401503 sub esp,44h00401506 push ebx00401507 push esi00401508 push edi00401509 lea edi,[eb原创 2012-02-12 21:17:04 · 2472 阅读 · 0 评论 -
C++反汇编二(if...else语句)
17: void Grammar_if_else()18: {00401450 push ebp00401451 mov ebp,esp00401453 sub esp,44h00401456 push ebx00401457 push esi00401458 push原创 2012-02-11 00:39:03 · 1358 阅读 · 0 评论 -
通过PEB枚举Kernel32.dll基址
kd> !process 0 0**** NT ACTIVE PROCESS DUMP ****PROCESS fffffa801a89e060 SessionId: 1 Cid: 026c Peb: 7fffffd3000 ParentCid: 0200 DirBase: 66362000 ObjectTable: fffff8a00111c4d0 Ha...原创 2018-12-12 16:01:34 · 365 阅读 · 0 评论