0F 84 87 1B 01 00看着机器码,直接转换成JMP 到xx地址的机器码
本帖最后由 冥界3大法王 于 2021-2-8 23:38 编辑0F 84 87 1B 01 00看着机器码,直接转换成JMP 到xx地址的机器码?
怎么才能手动的计算出来? 编了一个自动化汇编爆破的程序
0F 84 ?? ?? ?? ==> JMP xx
0F 85 ?? ?? ?? ==> JMP xx不会了。{:301_972:}
近跳,远跳,这个查表就行了。偏移量就不会算了。
无闻无问 发表于 2021-2-9 13:08
要跳的地址 - 当前指令的下一行地址,然后反向取,即为机器码…
@无闻无问
求教x32dbg/x64dbg里的计算器取反,怎么输入?
Delphi的实现代码又长成啥样?
00427B7C | E8 3C6B0000 | call keygen.42E6BD | 假如当前,这是当前行!
00427B81 | E9 78FEFFFF | jmp keygen.4279FE | 这里算下一行?
00427B86 | 8BFF | mov edi,edi |
00427B88 | 55 | push ebp |
00427B89 | 8BEC | mov ebp,esp |
00427B8B | 51 | push ecx | ecx:EntryPoint
00427B8C | 53 | push ebx |
00427B8D | 8B45 0C | mov eax,dword ptr ss: | 这里要跳的地址
00427B8D -00427B81 然后结果 再取反? 这理解的对吧? 无闻无问 发表于 2021-2-9 21:58
过年了还在研究,令人敬佩…厉害,你把x64弄精了,我也学到了很多…
@无闻无问 用了三四天时间编了个自动化的工具
我现在已经很少用OD了,还是x36dbg用起来香各种组合技,各种自定义按键,
自创心法《36路爆破经典定式》+Ollydbg/x36dbg贴心伴侣
还有最近半年多新领悟的技能。
瞬间就定位到关键代码处。
全在总结和运用了。
没解决的问题就画思维导图和2分法化难为易的拆解掉。 目标地址-当前指令地址-5 用的是E9 目标地址-当前地址-5我想公式应该是一样的
64的地址好像是 目标地址-当前地址-7 本帖最后由 westcafe 于 2021-2-9 09:19 编辑
e9 88 1B 01 00 90 本帖最后由 冥界3大法王 于 2021-2-9 09:23 编辑
westcafe 发表于 2021-2-9 09:11
eb 85 87 1B 01 90
005EFE47E9 881B0100jmp gsp5.6019D4
@westcafe
然而与实际不符,看正确答案。
楼上两位的,至少能对上。 本帖最后由 westcafe 于 2021-2-9 09:19 编辑
长跳转就是地址+1最后补90 0f 84 或者 0f 85是操作码 后面的是地址 ,比如 原来是0f 8412 01 00 00 就改为e9 13 01 00 00 90 , 同理如果是0f 8522 05 00 00 就改为e9 23 05 00 00 90 很好记得! 要跳的地址 - 当前指令的下一行地址,然后反向取,即为机器码… @无闻无问
明白了,谢谢。{:301_1006:} @无闻无问
计算公式为:
要跳的地址 - 当前指令的下一行地址,然后反向取,即为机器码
当前行为:005EFE47 0F84871B0100je gsp5.6019D4
下一行为:005EFE4D 83EC08 sub esp,8
要跳的地址为6019D4
006019D4-005EFE4D= 得这个00011B87(这个如何取反成87 1B 01 00) 用x32dbg/x64dbg命令行实现?有取反的现成命令吗?{:301_982:}
页:
[1]
2