摘要:
WDM的 DRIVER_OBJECT 不同于网上的 typedef struct _DRIVER_OBJECT { CSHORT Type; CSHORT Size; // // The following links all of the devices created b... 阅读全文
摘要:
驱动对象 typedef struct _DRIVER_OBJECT { CSHORT Type; CSHORT Size; // // The following links all of the devices created by a single ... 阅读全文
摘要:
配置好双机调试 DriverEntry设置断点 __asm int 3; 加载驱动 断下 u 查看 汇编 F8 步入 F10 步过 shift+F11 跳出函数 返回到上层call F5 运行 bp 下CC断点 bp 模块名!函数名 bl 显示断点 bd 禁用断点 bc ... 阅读全文
摘要:
下面为MFC 编程:int flag =0;HWND g_hWnd = NULL;BOOL CALLBACK EnumChildProc( HWND hwnd, // handle to child window LPARAM lParam // applica... 阅读全文
摘要:
delphi 用dede 查看 看到有 visiable=false 软件拖入 peExplorer 进去修改 隐藏部分灰色按钮 ShowWindow SetWindowLong EnableWindow 去看看 也可以资源工具 阅读全文
摘要:
这个CRACKME:00401262 |. 8D4424 04 lea eax,dword ptr ss:[esp+0x4]00401266 |. 6A 0A push 0xA ; /Count = ... 阅读全文
摘要:
能熟练读懂汇编代码熟悉一种脚本,如python、perl等。熟悉HS, NP 等游戏保护者游戏..有过辅助制作经验和工具者有加分研究网络游戏,进行破解逆向超过两年的OD熟练使用经验、熟悉软件破解和逆向、熟悉网络游戏通讯机制有过辅助制作经验和工具者有加分熟练使用WinDbg或SoftICE调试工具,有... 阅读全文
摘要:
CDQ 用EDX 把EAX扩展为四位 这条语句在 eax EAXstos 之类是存储指令 EAX->ESI 阅读全文
摘要:
这个程序采用SendDlgItemMessageA 限制 文本框的输入 但我们只要 修改push0040130D /$ 50 push eax0040130E |. 33C0 xor eax,eax00401310 |. A1 14324000 ... 阅读全文
摘要:
已经有人分析了 本着学习的目的再分析一遍【破文标题】KeyGenMe1【破文作者】Panda【破解工具】OD【破解平台】WinXP【破解声明】学习笔记而已程序通过 SendMessageA 得到字符串账号 假码004013D7 . 68 CC344000 push KeygenMe.004... 阅读全文
摘要:
编译类型 否:FUCKVMP(FKVMP) 插件 ->start -> 搜索自定义注释 看到 retn 下断点 并暂时禁止ALT+M, 看内存 数据段 内存地址 -> 在OD 数据窗口 搜索->发现全0下断点 VittualProtectEx 经历n次 程序跑飞 来到n-1 次 发现数据窗口有... 阅读全文
摘要:
fs:7FFDF000nt!_TEBTEB at fs:7FFDF000 +0x000 NtTib // _NT_TIB +0x01c EnvironmentPointer // Ptr32 Void +0x... 阅读全文
摘要:
#include "stdafx.h"#include #include #include char shellcode[]=//打开CMD的shellcode"\x55" //push ebp"\x8B\xEC" //mov ebp,... 阅读全文
摘要:
计算机内部寄存器阵列l 数据寄存器l 指针及变址寄存器l 段寄存器l 控制寄存器数据寄存器包括4个16位的寄存器(AX, BX, CX, DX)或者8个8位寄存器( AH, AL, BH, BL, CH, CL, DH, DL)这些寄存器都可以用来暂时存放操作数, 运算结果以及其他信息, 但同时又... 阅读全文
摘要:
VStartVM:00402230 > 50 PUSH EAX00402231 53 PUSH EBX00402232 51 PUSH ECX00402233 52 PUSH ... 阅读全文
摘要:
一、运算结果标志位1、进位标志CF(Carry Flag)进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令... 阅读全文
摘要:
对shellcode 进行加密:#include "stdio.h"char popup_general[]="\xFC\x68\x6A\x0A\x38\x1E\x68\x63\x89\xD1\x4F\x68\x32\x74\x91\x0C""\x8B\xF4\x8D\x7E\xF4\x33\xDB... 阅读全文
摘要:
采用FS去定位API地址:FS寄存器指向当前活动线程的TEB结构(线程结构)偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 ArbitraryUserPointer018 FS段寄存器在内存中的镜像地址020... 阅读全文
摘要:
对于栈中压入字符串请看:http://blog.csdn.net/zcc1414/article/details/9668907对于堆中压入字符串 也就是mov 堆,数据下面为例子:int main(){ __asm { push ebp mov ebp,esp xor ebx,ebx pu... 阅读全文
摘要:
很多返回地址 存在这样一种情况:不同主机 不同路径。导致在覆盖时无法确定返回地址那么你去覆盖时 不能准确的覆盖上返回地址 导致溢出失败1 使用按字节相同的双字跳转2 使用堆中的地址下面引用 riusksk大牛的话:1、堆喷射堆块大小 ≈ 程序堆块分配大小,以减小堆空隙大小。 2、不能使用堆缓存块,否... 阅读全文
摘要:
这是很久以前的笔记了 去年的笔记···········这里增加几条:1) PUSH 字符串, 先用其他字符代表0x00 然后 通过 EBP的负偏离量处一字节一字节的写入!!!!!!!!!!重新产生没有 NULL字节的 机器码2) XOR/add /sub 计算 比如 0x006e616c 那么 ... 阅读全文
摘要:
#include "stdafx.h"#include void func(char *str){ char buffer[16]; strcpy(buffer,str);} int main(int argc, char* argv[]){ char large[256]; int i; for ... 阅读全文
摘要:
《少有人走的路2:勇敢地面对谎言》《少有人走的路3:与心灵对话》 阅读全文