- UID
- 2198
注册时间2005-6-29
阅读权限255
最后登录1970-1-1
副坛主
该用户从未签到
|
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 ebp mov 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:[rsp+B8] |
- 000000013F0450B1 | 4C 8B 84 24 98 00 00 00 | mov r8,qword ptr ss:[rsp+98] |
- 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:[rsp+20],r9d | ;nscrackme.cpp:38
- 000000013F0222B5 | 4C 89 44 24 18 | mov qword ptr ss:[rsp+18],r8 |
- 000000013F0222BA | 48 89 54 24 10 | mov qword ptr ss:[rsp+10],rdx |
- 000000013F0222BF | 48 89 4C 24 08 | mov qword ptr ss:[rsp+8],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:[7792213C],r11d |
- 0000000077901322 | 74 2E | je user32.77901352 | | nop
- Detours Hook Fix 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:[37900170] | // JUMP to New Func ...
- 000000003790017E | CC | int3 |
- 000000003790017F | CC | int3 |
- 000000013FA21000 | 48 8D 15 39 32 00 00 | lea rdx,qword ptr ds:[13FA24240] | ;new func code ...
- 000000013FA21007 | 48 FF 25 0A 66 00 00 | jmp qword ptr ds:[13FA27618] | // jump to 000000007790131B
复制代码
这里有 Detours X64 的工程,可以作为测试调试用例。
https://www.chinapyg.com/thread-75832-1-1.html
总体来说,这个调试器上,OD应有的常用功能算是都有了。不习惯的地方可以就是 地址那0太多了,其实可以省略前5个0的 ^_^。 明天继续研究下X64下的DLL劫持。
|
评分
-
查看全部评分
|