首页
社区
课程
招聘
[原创]OllyDBG 入门系列(四)-内存断点
发表于: 2006-2-15 23:22 468928

[原创]OllyDBG 入门系列(四)-内存断点

2006-2-15 23:22
468928
收藏
免费 14
支持
分享
最新回复 (490)
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
451
还是没搞清楚,那个“3”哪儿去了,
2013-2-4 13:47
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
452
c++搞定
#include <iostream>
#include <cstdlib>
#include <windows.h>
using namespace std;

int main()
{
    unsigned int a=GetDriveTypeA(NULL);
    char* b=new char[12];
    GetVolumeInformationA(NULL,b,12,NULL,NULL,NULL,NULL,NULL);
    int *c=reinterpret_cast<int*>(b);
    *c=(*c)/2 * a * (a+1);
    *c^=0x797A7553;
    cout << hex << uppercase << *c << endl;
    cout << dec << *c << endl;
    system("pause");
    return 0;
}
上传的附件:
2013-2-15 17:58
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
453
乘的是eax,结果放在eax里,不够的话高位放在edx中。
2013-2-15 18:03
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
454
经典教程,功德无量!感谢CCDebuger
2013-2-20 17:05
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
455
写的很仔细,不错
2013-4-10 14:35
0
雪    币: 4
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
456
入门精典啊,来迟了
2013-6-30 17:21
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
457
入门经典,篇篇精华,学习必备,下载收藏了,谢谢坛主。
2013-7-16 17:44
0
雪    币: 155
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
458
楼主辛苦了,学习了,精华啊!
2013-7-17 14:46
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
459
正在跟着楼主的脚步一步一步走过来
2013-10-7 14:07
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
460
悲剧啊 OD ALT+F9不像楼主说的那样,貌似并没有返回到程序领空啊
2013-11-1 16:41
0
雪    币: 41
活跃值: (159)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
461
[QUOTE=幻想术士;251501]ccDebuger 是不是改过了程序了
我是最近下的那个题目

00401310  |.  8B35 9C334000 MOV ESI,DWORD PTR DS:[40339C]
而这句的时候 DS:[40339c]=00000000

为什么把ESI的值直接附在了这里?
004014...[/QUOTE]
我也这么认为

00401310  |.  8B35 9C334000 mov     esi, dword ptr [0x40339C]
00401316  |.  6A 28         push    0x28                       
00401318  |.  68 C4334000   push    004033C4            
0040131D  |.  FF35 90314000 push    dword ptr [0x403190]            
00401323  |.  E8 4C010000   call    <jmp.&USER32.GetWindowTextA>  
00401328  |.  E8 A5000000   call    004013D2
0040132D  |.  3BC6          cmp     eax, esi

cmp之前还有一个call,在这个call里,寄存器esi的值在此处有变化。
00401405  |.  81F6 53757A79 XOR ESI,797A7553
2013-12-9 17:23
0
雪    币: 3
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
462
支持这个系列的  第四了 加油!
2013-12-13 09:38
0
雪    币: 350
活跃值: (27)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
463
至今也是受益匪浅啊!
2013-12-19 10:00
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
464
确实是好东西, 楼主辛苦,学习之...
2013-12-19 21:34
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
465
开始学习逆向!!
2013-12-21 16:47
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
466
那么好的系列贴原来已经是6年前的事情啦?相见恨晚啊
2013-12-24 04:43
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
467
谢谢谢谢你  新手学习了
2013-12-26 18:50
0
雪    币: 65
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
468
非常谢谢!!!!!!!!!!!!!!!!!!
2013-12-26 21:01
0
雪    币: 59
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
469
写的很好,适合我们这种新手入门
2014-5-27 00:10
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
470
构思 OllyDbg 2.0 插件的开发,还有 CmdBar 插件的焦点问题的修正和升级。
2014-5-28 00:38
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
471
菜鸟表示临时还看不懂,有没有简单点的入门教程?
2014-5-28 04:39
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
472
感谢,新手学习
2014-6-11 21:35
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
473
太好的入门资料。非常谢谢
2014-7-11 14:18
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
474
win7 64bit上跟着做。数据窗口转到40339C,第二幅图没有显示假码。跟着继续做,内存断点断下之后,看一下数据窗口,还是全0,第一个不是03。删掉内存断点后按Alt+F9,程序居然是单步,按一下Alt+F9就走一条汇编指令。这是什么情况?望高人解答
2015-4-13 22:50
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
475
自己解决了。首先数据窗口转到40339C,第二幅图没有显示假码的问题,主要是CCDebuger大大说的时候有那么一点点点省略,所以误解了。看图

第三章断下的地方是GetWindowTextA函数,在第四章,CCDebuger大大是这样写的“F9运行来到上面代码所在的地方(你上次设的断点应该没删吧?)”,实际上应该是“按F9之后再按一下F8让GetWindowTextA函数调用完成”。这样才能在数据窗口看到假码。原因也就很容易解释了,GetWindowTextA函数调用完成程序才能拿到我们在文本框输入的假码。

第二个问题是按一下Alt+F9就走一条汇编指令,这是因为Ollydbg对64位系统不兼容。下载Stealth64插件。dll放到Ollydbg的plusin目录里,重启Ollydbg之后打开Stealth64设置,如下图打开设置

见到如下的设置窗口

勾选x64 compatibility mode(x64兼容模式)然后再重启,Alt+F9就能正常返回用户代码领空,而不是变成单步执行。

生生不息,学习不止,遇难而进,遇题而解,今留所学,以怡后人
上传的附件:
2015-4-14 19:38
0
游客
登录 | 注册 方可回帖
返回
//