Nisy 发表于 2015-1-1 01:35:10

X64 调试的一些资料

x64_dbg (Latest Version: V2.3ALPHA (30 December 2014))调试器目前用起来已经比较爽了,最新版是 release_023.rar。
从21就开始支持了汇编级修改,和将修改保存至文件,这两点来看已经是一个破解调试器了。


HomePage: http://x64dbg.com/
DownLoad:http://sourceforge.net/projects/x64dbg/
Source: https://bitbucket.org/mrexodia/x64_dbg/downloads

本地上传一份:
工具下载:链接: http://pan.baidu.com/s/1sjHNSFb 密码: m4on
源码下载(V2.2ALPHA):链接: http://pan.baidu.com/s/1hq6ATHa 密码: 5nj5

玩X64得了解X64的习性,和X86有哪些区别。

目前来看有这样一些:
寄存器的扩展
传参模式
模块加载地址
函数内部没有 push ebpmov ebp,esp 这样的指令了 但是读起汇编来,也是很愉快的。


一些资料在这里:
Windows下的64位汇编语言:http://bbs.pediy.com/showthread.php?p=1240650
Windows X64汇编入门 (1):http://bbs.pediy.com/showthread.php?t=43967
Windows X64汇编入门 (2):http://bbs.pediy.com/showthread.php?t=44078

开始进行 64 位 Windows 系统编程之前需要了解的所有信息(中译)
http://www.microsoft.com/china/M ... esx64.mspx?mfr=true
Everything You Need To Know To Start Programming 64-Bit Windows Systems(原英):
http://msdn.microsoft.com/zh-cn/magazine/cc300794(en-us).aspx#fig1




int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow)

000000013F0450A9 | 44 8B 8C 24 B8 00 00 00    | mov r9d,dword ptr ss:            |
000000013F0450B1 | 4C 8B 84 24 98 00 00 00    | mov r8,qword ptr ss:             |
000000013F0450B9 | 33 D2                      | xor edx,edx                              |
000000013F0450BB | 48 8D 0D 3E AF FD FF       | lea rcx,qword ptr ds:[<__ImageBase>]   | ;rcx:__ImageBase
000000013F0450C2 | E8 1F C5 FD FF             | call <nscrackme.@ILT+1505(wWinMain)>   |

F7:

000000013F0222B0 | 44 89 4C 24 20             | mov dword ptr ss:,r9d            | ;nscrackme.cpp:38
000000013F0222B5 | 4C 89 44 24 18             | mov qword ptr ss:,r8             |
000000013F0222BA | 48 89 54 24 10             | mov qword ptr ss:,rdx            |
000000013F0222BF | 48 89 4C 24 08             | mov qword ptr ss:,rcx             | ;rcx:__ImageBase
000000013F0222C4 | 57                         | push rdi                                 |

// 但不是所有的函数都这样去搞预留位的





// MessageBoxW
0000000077901314 | 48 83 EC 38                      | sub rsp,38                               |
0000000077901318 | 45 33 DB                         | xor r11d,r11d                            |
000000007790131B | 44 39 1D 1A 0E 02 00             | cmp dword ptr ds:,r11d         |
0000000077901322 | 74 2E                            | je user32.77901352                     |               | nop   

Detours HookFix 8 Byte :
0000000077901314 | E9 5F EE FF BF             | jmp 37900178                           |// JUMP to Func Table ...
0000000077901319 | CC                         | int3                                     |
000000007790131A | CC                         | int3                                     |


0000000037900178 | FF 25 F2 FF FF FF          | jmp qword ptr ds:            | // JUMP to New Func ...
000000003790017E | CC                         | int3                                     |
000000003790017F | CC                         | int3                                     |

000000013FA21000 | 48 8D 15 39 32 00 00       | lea rdx,qword ptr ds:         | ;new func code ...
000000013FA21007 | 48 FF 25 0A 66 00 00       | jmp qword ptr ds:             |// jump to 000000007790131B




这里有 Detours X64 的工程,可以作为测试调试用例。
https://www.chinapyg.com/thread-75832-1-1.html

总体来说,这个调试器上,OD应有的常用功能算是都有了。不习惯的地方可以就是 地址那0太多了,其实可以省略前5个0的 ^_^。 明天继续研究下X64下的DLL劫持。

Sh4d0Walker 发表于 2015-1-1 03:33:24

非常感谢分享。
目前x64调试资料还比较少。正缺少这个

pentium450 发表于 2015-1-1 10:01:14

占位保存!感谢!!

lucky_789 发表于 2015-1-1 10:42:22

前排围观

阳光宅男 发表于 2015-1-1 12:27:05

感谢校长!辛苦了!新年快乐!元旦快乐!

iamok 发表于 2015-1-1 12:35:50

先顶再看啦。。。。

l0v3cr4ck 发表于 2015-1-1 12:56:00

{:soso_e113:}意味着2015 X64开始……

tree_fly 发表于 2015-1-1 15:15:46

2015 X64
2015 iOS
2015 Android
2015 新年新气象

small-q 发表于 2015-1-2 14:32:54

{:soso_e113:}火火火火火火火,X64

wgz001 发表于 2015-1-2 14:42:55

只能跟随一下学习
页: [1] 2
查看完整版本: X64 调试的一些资料