外挂
文章平均质量分 64
laogaoAV
一代学者
展开
-
OD条件与消息断点的设置方法
一、条件断点:使用方法(如):在当前行按[Shift+F2]键->条件断点(这个不太好用,因为程序BUG偶尔失效)。在当前行按[Shift+F4]键->条件记录断点(只要设置上条件语句和按什么条件生效就可以了)。条件语句(如):EAX == 00401000 ; 当EAX的值为00401000时。[EAX] == 05201转载 2013-03-14 02:08:48 · 3382 阅读 · 0 评论 -
转载:存储器分页管理机制
在保护模式下,控制寄存器CR0中的最高位PG位控制分页管理机制是否生效。如果PG=1,分页机制生效,把线性地址转换为物理地址。如果 PG=0,分页机制无效,线性地址就直接作为物理地址。必须注意,只有在保护方式下分页机制才可能生效。只有在保证使PE位为1的前提下,才能够使PG位 为1,否则将引起通用保护故障。 分页机制把线性地址空间和物理地址空间分别划分为大小相同的块。这样的块称之转载 2013-05-15 19:51:07 · 763 阅读 · 0 评论 -
CE with requiem
Cheat Engine with Requiem OnlineFinding basic game valuesI don’t know why someone has problems with CE, e.g. finding coordinates etc., their offsets and base address, but people has often ask ho转载 2013-06-08 12:19:15 · 1130 阅读 · 0 评论 -
通过一段汇编,加深对寄存器ESP和EBP的理解
一直对寄存器ESP和EBP的概念总是有些混淆,查看定义ESP是栈顶指针,EBP是存取堆栈指针。还是不能很透彻理解。之后借于一段汇编代码,总算是对两者有个比较清晰的理解。下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码;假设执行函数前堆栈指针ESP为NNpush p2 ;参数2入栈, ESP -= 4h , ESP = NN - 4h转载 2013-06-18 15:38:10 · 586 阅读 · 0 评论 -
一个简单函数的反汇编
void myfunction(int a,int b){ int c=a+b;}(1)保存ebp。ebp总是被我们用来保存这个函数执行前的esp的值。执行完毕后,我们用ebp恢复esp;同时,调用此函数的上层函数也用ebp做同样的事情。所以先把ebp压入堆栈,返回之前弹出,避免ebp被我们改动。push ebp(2转载 2013-06-18 15:43:52 · 626 阅读 · 0 评论 -
rep stos 指令(Intel汇编)
今天读代码时,忽然跳出如下一条指令==>>汇编代码: rep stos dword ptr es:[edi]在网上查了相关资料显示:/************************************************************/lea edi,[ebp-0C0h] mov ecx,30h mov eax,0CCCCCC转载 2013-06-18 15:53:05 · 629 阅读 · 0 评论 -
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.根据标志位跳转的指令:JE ;等于则跳转JNE ;不等于则跳转JZ ;为 0 则跳转JNZ ;不为 0 则跳转JS ;为负则跳转转载 2013-07-06 17:38:54 · 3243 阅读 · 0 评论 -
IDA 断点设置里,地址前得加上0x
IDA 断点设置里,地址前得加上0x原创 2013-08-20 18:49:39 · 978 阅读 · 0 评论 -
程序多开源理
最近,一个公司项目要求防止程序多开,采用了几种方法,效果还行。一、使用Mutex 1、原理 创建一个互斥体,并检查它是否已经有拥有者,如果有,表明互斥体已经建立(程序已经启动),否则表明程序未启动。 2、实现 (1)首先创建一个互斥体,CreateMutex函数,第一个参数可以设置为NULL,第二个参数必须设置为转载 2013-10-14 15:12:20 · 1414 阅读 · 0 评论 -
用Windbg调试一个Windows自带扫雷程序的逻辑bug
大二的时候玩Windows自带的扫雷很多,发现过一个在XP下让扫雷计时器停止的bug,具体参见过去我在mop上发的一个帖子http://dzh.mop.com/topic/readSub_5573508_0_0.html .重现这个bug的步骤很简单,1.打开扫雷游戏;2.开始游戏,点开一块;3.在没有点中雷而结束游戏之前的任何一个时刻,按下 开始键+D(开始键就是左边ctrl和a转载 2013-12-27 19:44:33 · 1973 阅读 · 0 评论 -
bp send 的腐朽和神奇
每每在其他技术论坛一提到广海大家就会取笑我:“广海呀,就是那些只会BP SEND 和CTRL+F9 的那些人啊”,听到这样的嘲笑起初自己也十分瞧不起BP SEND有段时间甚至刻意避免使用这个断点。其实不是人家的错,是我们自己将BP SEND这把利器用死了,学东西把东西学死了是非常大的悲哀,我们要用聪明智慧来展示出自己的实力,实力可以攻破任何谣言。 诚然BP SEND在网游发展的初期是一把无往而不利转载 2014-01-14 21:30:29 · 4549 阅读 · 1 评论 -
基于CallStack的反Rootkit HOOK检测
Anti-Rootkit目前扫描Hook的方法主要有以下几种: 1.对抗inline -hook ,IAT/EAT Hook Anti-Rootkit使用读取磁盘上系统文件并将之进行map\重定位后,同内存中的代码进行对比的方法来检测inline hook(或EAT/IAT HOOK,后同),类似的工具例如Rootkit Unhooker, gmer, Icesword等等。转载 2014-02-22 17:05:46 · 1331 阅读 · 0 评论 -
OllyDbg快捷键
http://wenku.baidu.com/view/37c2d6205901020207409c01.html转载 2014-02-24 15:48:09 · 884 阅读 · 0 评论 -
and esp, FFFFFFF0
栈16字节对齐的 编译的时候优化的吧 对齐访问效率高一些~原创 2014-03-01 17:51:25 · 2233 阅读 · 0 评论 -
Whats Enter指令,Whats Leave指令
Enter的作用相当==push ebp和mov ebp,esp这后面两句大家很熟悉吧?函数开始一般都是这两句Leave的作用相当==mov esp,ebp和pop ebp而这后面这两句也很常见,函数调用完后一般的用到以上的Enter和leave的作用分别函数开始和结束转载 2014-03-01 17:21:42 · 761 阅读 · 0 评论 -
入口点为0的程序
前几天群里有人给了个病毒样本拿来一看很奇怪,是个exe文件,但入口点显示却是0用OD加载后会提示出错: 之后问了一下同事,大概了解了一下原理:Windows系统加载PE文件后,会通过PE文件的特定结构读取各种信息。而该PE文件的各种信息都是完整的,可以正常被读取。 相关的PE结构捡主要的在这里大概说一下:转载 2014-03-02 22:37:23 · 2585 阅读 · 1 评论 -
od基础
1. This is the Open button. As you’ve probably already guessed, it opens a file into Olly.2. This is the Restart button. Fairly obvious, it restarts our executable.3. This is the Close button.转载 2013-05-13 19:07:57 · 738 阅读 · 0 评论 -
ollydbg Run Trace
Run trace Run trace was first introduced in OllyDbg 1.04. This debugging technique is basically very simple. Code is executed step by step, and debugger protocols every command, together with reg转载 2013-05-12 22:42:53 · 1591 阅读 · 0 评论 -
汇编语言的标志寄存器和条件转移指令
16位CPU内部有一个16位的标志寄存器,它包含9个标志位。这些标志位主要用来反映处理器的状态和运算结果的某些特征。各标志位在标志寄存器内的分布如图2.2所示。 1514131211109876543210转载 2013-03-13 23:50:21 · 5144 阅读 · 0 评论 -
OD和IDA快捷键
OllyDbg快捷键:Ctrl+N 打开应用程序输入表Ctrl+F9 出现ret命令的时候中断Alt+F9 若进入系统领空,次命令可以瞬间回到应用程序领空Ctrl+F2 重新运行程序F12 暂停程序Shift+F2条件断点 如: eax==0400000 或 [STRING[eax+4]=="c:\\1212.txt"]乱码问题:olldbg将这段代码转载 2013-03-13 22:52:20 · 4540 阅读 · 0 评论 -
od常用断点
OD常用断点常用断点(OD中)拦截窗口:bp CreateWindow 创建窗口bp CreateWindowEx(A) 创建窗口bp ShowWindow 显示窗口bp UpdateWindow 更新窗口bp GetWindowText(A) 获取窗口文本拦截消息框:bp MessageBox(A) 创建消息框bp MessageBoxExA转载 2013-03-14 01:59:22 · 1773 阅读 · 0 评论 -
movsx 和movzx
比如MOVSX EAX, BYTE PTR [00401000]或MOVZX EAX, BYTE PTR [00401000]在C语言中应该如何表达啊?比如定义一个全局变量BYTE bt = 101;DWORD dw;应该如何把bt赋值到dw中. 并且功能与MOVSX/MOVZX相同? 谢谢! -------------------------------转载 2013-03-14 20:20:33 · 2541 阅读 · 0 评论 -
Dll Injection Using Code Caves, by: Darawk
The code cave method Instead of exploiting a windows API function to force the process to load our Dll, this time we'll allocate a little chunk memory inside the target application, and inject a l转载 2013-03-16 03:16:14 · 1064 阅读 · 0 评论 -
va rva rawaddress
VA,虚拟地址,也就是程序被加载到内存中的地址RVA,以虚拟地址前边加上个“相对的”,也就是说它还是按虚拟地址来换算,只不过不是从0开始,而是把一个模块的基址作为参考点。RAW ADRRESS,或者FILE OSSFET,一般称文件偏移,你把一个文件看成一个连续的字节流,OFFSET就是这个字节流中的位置。//文件偏移又称物理偏移,就是保存在磁盘里的文件。换算关系为:将VA转载 2013-03-16 18:32:45 · 1709 阅读 · 0 评论 -
code caves
Theories and methods of Code-cavesIntro:Since many have read my tutorial on basic memory hacking and got stuck on the creation of code-caves, I’ve decided to make a short follow-up on somecode转载 2013-03-16 03:13:33 · 1132 阅读 · 0 评论 -
OllyDbg完全教程 单步执行与自动执行[Step-by-step execution and animation] Hit跟踪[Hit trace]
二十,单步执行与自动执行[Step-by-step execution and animation]您可以通过按 F7(单步步入)或 F8(单步步过),对程序进行单步调试。这两个单步执行操作的主要区别在于:如果当前的命令是一个子函数,按F7,将会进入子函数,并停在子函数的第一条命令上;而按 F8,将会一次运行完这个子函数。如果您单步步过的子函数中含有断点或其他调试事件,执行将会被暂停,但转载 2013-03-19 00:02:38 · 9171 阅读 · 0 评论 -
od粗跟踪和run跟踪
一、单步进入(F7)遇见CALL就进!进入该子程!行话:"跟进去" 单步跳过(F8)遇见CALL不进去!不去管子程的内部!第一次粗跟的时候常用! 执行到返回(ALT+F9)就是执行到该子程的返回语句! 单步执行与自动执行[Step-by-step execution and animation] 您可以通过按 F7(转载 2013-03-19 00:01:29 · 9050 阅读 · 0 评论 -
反NP监视原理
NP=nProtect GameGuard(如果你不知道这是什么,请不要往下看)********************************************标题:【原创】反NP监视原理 **作者:堕落天才 **日期:2007年1月3号 *转载 2013-03-19 17:59:55 · 1136 阅读 · 0 评论 -
如何在NP下读写游戏内存及如何进入NP进程
在上一篇文章《反NP监视原理》中说到要去掉NP的注入是很容易的事,但是去掉npggNT.des并不是说我们想对游戏怎么样都可以了,NP还挂钩了很多内核函数,所以很多关键系统函数就算我们在用户层能用也对游戏没有什么效果。 如果我们想在不破解NP前提下读写游戏内存该怎么办呢,我想办法至少有两个一、用驱动 在驱动下读写游戏内存是没问题,但是由于我不懂驱动,所以也没什么可说。二、进入游戏进程 在用户层,如转载 2013-03-19 18:19:35 · 1651 阅读 · 0 评论 -
散谈游戏保护那点事~就从_TP开始入手吧
声明:本文只为研究技术,请所有童鞋切勿使用本文之方法做下那天理难容罪恶不舍之坏事。 既是研究游戏保护,那么总要有一个研究对象。本文就以TMD_TP这款游戏保护为例进行分析讲解。请勿对号入座,如有雷同之处。纯属反汇编引擎之错误,不关我的事! 转载请注明出处 关键字:DNF驱动保护 鉴于最近很多同学找上门来求解这那问题,反转载 2013-03-19 18:22:52 · 1692 阅读 · 0 评论 -
浮点指令
对下面的指令先做一些说明: st(i):代表浮点寄存器,所说的出栈、入栈操作都是对st(i)的影响 src,dst,dest,op等都是指指令的操作数,src表示源操作数,dst/dest表示目的操作数 mem8,mem16,mem32,mem64,mem80等表示是内存操作数,后面的数值表示该操作数的内存位数(8位为一字节) x 1. 数据传递和对常量的操作指令转载 2013-03-20 18:38:53 · 672 阅读 · 0 评论 -
[Tutorial] DMA Dynamic Memory Allocation
Topic: Dynamic Memory Allocation (DMA)Level: Beginner Gamehacking Focus: AoE2: The Conquerors (v1.0c) Dated: 28th June 2009 (¯`·._.·[ Intro ]·._.转载 2013-03-20 17:35:18 · 1092 阅读 · 0 评论 -
CBW、CWDE、CDQ、CWD: 扩展指令
CBW、CWDE、CDQ、CWD: 扩展指令;CBW(Convert Byte to Word): 将 AL 扩展为 AX;CWDE(Convert Word to Extended Double): 将 AX 扩展为 EAX;CDQ(Convert Doubleword to Quadword): 将 EAX 扩展为 64 位数 EDX:EAX;CWD转载 2013-03-26 11:34:02 · 1604 阅读 · 0 评论 -
读取游戏血值c代码
HWND GameHwnd = ::FindWindow("QElementClient Window","Element Client"); if(0==GameHwnd){ GetDlgItem(IDC_GameRun)->SetWindowText("not run"); } else{ GetDlgItem原创 2014-03-25 00:05:58 · 2420 阅读 · 0 评论