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劫持。
非常感谢分享。
目前x64调试资料还比较少。正缺少这个
占位保存!感谢!! 前排围观 感谢校长!辛苦了!新年快乐!元旦快乐! 先顶再看啦。。。。 {:soso_e113:}意味着2015 X64开始…… 2015 X64
2015 iOS
2015 Android
2015 新年新气象 {:soso_e113:}火火火火火火火,X64 只能跟随一下学习
页:
[1]
2