您现在的位置是: 首页 > 关于我们 关于我们
od 硬件断点_
tamoadmin 2024-08-21 人已围观
简介1.求助OD汇编语法的问题2.ASPack/ASProtect 加壳器是这个东西,如何解密3.谁能帮我脱壳一个东西4.OD怎样修改游戏基址的数值?玩一会,用OD暂停,内存--》查找--》所更改数值,注意不要到DLL里面。搜索到全部几个数值记录,下硬件/内存断点,F9玩一会儿OD自动断下来,再根据分析很快就能找到减/加操作的地方,接下来怎么做……呵呵,不用我说了吧……求助OD汇编语法的问题原创“Ar
1.求助OD汇编语法的问题
2.ASPack/ASProtect 加壳器是这个东西,如何解密
3.谁能帮我脱壳一个东西
4.OD怎样修改游戏基址的数值?
玩一会,用OD暂停,内存--》查找--》所更改数值,注意不要到DLL里面。
搜索到全部几个数值记录,下硬件/内存断点,F9
玩一会儿OD自动断下来,再根据分析很快就能找到减/加操作的地方,接下来怎么做……呵呵,不用我说了吧……
求助OD汇编语法的问题
原创“Armadillo Version 6.04 KEY替换”
今天给大家带来一个猛壳KEY替换的教程“Armadillo Key保护”
因为很多朋友的软件都是这个加密工具加密的。没哟key就用不了。这里就教大家怎么搞定他
前提是必须有一个可以用的key文件。否则是用不了的。目前世界上还没有人能没有key就搞定Armadillo的
可以用的key:
============================
机器码:E335-0D3A
name:11
key: 4B20-26B3-F866-5B8E
============================我的机器码1371-BB
先用“Armadillo_Find_Protected_V1.8汉化版”查看保护方式,
========================================================
!- 目标为Armadillo保护
!- 保护系统级别为 (专业版)
!- <所用到的保护模式有>
屏蔽调试器
双进程模式
使用输入表乱序模式
防止内存补丁模式
!- <备份密钥设置>
可变的备份钥匙
!- <目标程序压缩设置>
最好 / 最慢的压缩方式
!- <其它保护设置>
48812E80 Version 6.04 19-07-2008
========================================================Version 6.04 19-07-2008,是最新版本的,2008年7月19日发布的,目前网上还没有这个版本的教程是一个双进程的,屏蔽调试器,输入表乱序模式,防止内存补丁模式 的我们要给他转成单进程,用OD载入程序,直接跑脚本“arm转单进程”好了变成但进程了。
我们来下断点 在命令行里面输入“he GetDlgItem” ,然后回车
F9
,看到一个提示,“不知道如何在地址00D88066处绕过命令,请尝试更改EIP或者忽略异常执行程序”
不要害怕。我们点确定。然后shift+F9运行程序运行到这里时听到叮的一声响声。我们在按一次F9,然后出现“Key Required”的界面
==============================================
77D23DCE > 8BFF mov edi,edi
77D23DD0 55 push ebp
77D23DD1 8BEC mov ebp,esp
77D23DD3 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
77D23DD6 E8 F546FFFF call USER32.77D184D0
77D23DDB 85C0 test eax,eax
77D23DDD 74 1F je short USER32.77D23DFE
77D23DDF 56 push esi
77D23DE0 FF75 0C push dword ptr ss:[ebp+C]
77D23DE3 50 push eax
77D23DE4 E8 A9FFFFFF call USER32.77D23D92
77D23DE9 85C0 test eax,eax
77D23DEB 0F84 60E20000 je USER32.77D32051
77D23DF1 8B30 mov esi,dword ptr ds:[eax]
77D23DF3 85F6 test esi,esi
77D23DF5 0F84 58E20000 je USER32.77D32053
77D23DFB 8BC6 mov eax,esi
77D23DFD 5E pop esi
77D23DFE 5D pop ebp
77D23DFF C2 0800 retn 8=============================================================我们点OK,然后取消硬件断点,取消硬件断点后,我们“ALT+F9”,
这时,我们向下找“ ASCII "%04X-%04X" ”这个字符串,要向下好大一块距离,找到了之后我们找这个字符上面的第一个Call,然后F4到那里。
==============================================================================================
00D5419C /0F84 90010000 je 00D54332
00D541A2 |6A 00 push 0
00D541A4 |B9 E0F4D800 mov ecx,0D8F4E0
00D541A9 |E8 E2BCFCFF call 00D1FE90 ;关键call,F7,跟进
00D541AE |8985 6CFFFFFF mov dword ptr ss:[ebp-94],eax
00D541B4 |8B8D 6CFFFFFF mov ecx,dword ptr ss:[ebp-94]
00D541BA |81E1 FFFF0000 and ecx,0FFFF
00D541C0 |51 push ecx
00D541C1 |8B95 6CFFFFFF mov edx,dword ptr ss:[ebp-94]
00D541C7 |C1EA 10 shr edx,10
00D541CA |52 push edx
00D541CB |68 642BD800 push 0D82B64 ; ASCII "%04X-%04X" ==============================================================================================
00D3FED4 E8 079D0100 call 00D59BE0 ; 关键call,F7,跟进
00D3FED9 3345 F4 xor eax,dword ptr ss:[ebp-C]
00D3FEDC 8BE5 mov esp,ebp
00D3FEDE 5D pop ebp
00D3FEDF C2 0400 retn 4
==============================================================================================00D3FED4 call 00D59BE0 ; 关键call,F7,跟进后来到这里
==============================================================================================
00D39BE0 55 push ebp
00D39BE1 8BEC mov ebp,esp
00D39BE3 83EC 4C sub esp,4C
00D39BE6 56 push esi
00D39BE7 894D B4 mov dword ptr ss:[ebp-4C],ecx
00D39BEA C745 FC 000000>mov dword ptr ss:[ebp-4],0
00D39BF1 B8 01000000 mov eax,1
00D39BF6 85C0 test eax,eax
00D39BF8 74 0B je short 00D39C05
00D39BFA 68 209AD900 push 0D99A20
00D39BFF FF15 0423D800 call dword ptr ds:[D82304] ; ntdll.RtlEnterCriticalSection
00D39C05 68 389AD900 push 0D99A38
00D39C0A FF15 0423D800 call dword ptr ds:[D82304] ; ntdll.RtlEnterCriticalSection
==============================================================================================我们一直F8跟,记住:遇到jmp往上跳的都F4到下一句,
注意寻找“ xor eax,dword ptr ds:[edx+ecx*4] ”这条语句
00D39CA6 E8 25910200 call 00D62DD0 ; 这里进入dll了,我们在下一句下断点,然后shift+F9
00D39CAB 8B0D 0C99D900 mov ecx,dword ptr ds:[D9990C] ; 中断后取消断点,继续F8跟
发现这条语句后注意观察寄存器EAX的值,EAX保存了你的机器码
我的机器码1371-BB
EAX的值是我的机器码去掉了中间的“-”符号。我们修改这个机器码为可以用的机器码“E3350D3A”可以用的key:
============================
机器码:E335-0D3A
name:11
key: 4B20-26B3-F866-5B8E
============================00D39E67 8945 FC mov dword ptr ss:[ebp-4],eax ; 在此下硬件执行断点,以后每次中断都修改EAX的值=======================================================================================
00D39E41 8D5401 18 lea edx,dword ptr ds:[ecx+eax+18]
00D39E45 8B45 C0 mov eax,dword ptr ss:[ebp-40]
00D39E48 3345 BC xor eax,dword ptr ss:[ebp-44]
00D39E4B B9 0D000000 mov ecx,0D
00D39E50 C1E1 02 shl ecx,2
00D39E53 8B35 2CFBD800 mov esi,dword ptr ds:[D8FB2C] ; psdto3d.0054F378
00D39E59 8B0C0E mov ecx,dword ptr ds:[esi+ecx]
00D39E5C 83F1 00 xor ecx,0
00D39E5F 33C1 xor eax,ecx
00D39E61 8B4D 0C mov ecx,dword ptr ss:[ebp+C]
00D39E64 33048A xor eax,dword ptr ds:[edx+ecx*4]
00D39E67 8945 FC mov dword ptr ss:[ebp-4],eax ; 在此下硬件执行断点,以后每次中断都修改EAX的值
=======================================================================================F8,向下走3-5句后再F9
这是我们输入正确的key,点OK后又中断了,我们继续改EAX,要改15次左右。具体的我没没有细查,反正只要中断了,你就改。
改到最后出现“Error while unpacking program, code C. Please report to author.”这个错误提示。
我们直接退出OD就可以了,
现在运行软件看看还提示注册吗?呵呵,软件启动了,我们可以用了。使用以下。先爽一下。
呵呵一个立体光栅软件,就这样搞定了
ASPack/ASProtect 加壳器是这个东西,如何解密
CALC
判断表达式WATCH
添加监视表达式AT / FOLLOW
Disassemble at address
在地址进行反汇编ORIG
Disassemble at EIP
反汇编于 EIPDUMP
Dump at address
在地址转存DA
Dump as disassembly
转存为反汇编代码DB
Dump in hex byte format
转存在十六进制字节格式DC
Dump in ASCII format
转存在 ASCII 格式DD
Dump in stack format
转存在堆栈格式DU
Dump in UNICODE format
转存在 UNICODE 格式DW
Dump in hex word format
转存在十六进制字词格式STK
Go to address in stack
前往堆栈中的地址AS + 地址 + 字符串
Assemble at address
在地址进行汇编L + 地址 + 字符串
Label at address
在地址进行标号C + 地址 + 字符串
Comment at address
在地址进行注释BP
Break with condition
使用条件中断BPX
Break on all calls
中断在全部调用BPD
Delete break on all calls
清除位于全部调用的断点BC
Delete breakpoint
清除断点MR
Memory breakpt on access
内存断点于访问时MW
Memory breakpt on write
内存断点于写入时MD
Remove memory breakpoint
清除内存断点HR
HW break on access
硬件中断在访问HW
HW break on write
硬件中断在写入HE
HW break on execution
硬件中断在执行HD
Remove HW breakpoint
清除硬件断点STOP
停止运行程序调试PAUSE
暂停程序调试RUN
Run program
运行程序进行调试Run till address
运行到地址GE
Run and pass exception
运行和通过例外SI
Step into
步入
SO
Step over
步过TI
Trace in till address
跟踪进入直到地址TO
Trace over till address
跟踪步过直到地址TC
Trace in till condition
跟踪进入直到条件TOC
Trace over till condition
跟踪步过直到条件TR
Till return
直到返回TU
Till user code
直到用户代码LOG
View Log window
查看记录窗口MOD
View Modules window
查看模块窗口MEM
View Memory window
查看内存窗口CPU
View CPU window
查看 CPU 窗口CS
View Call Stack
查看 Call 堆栈BRK
View Breakpoints window
查看断点窗口OPT
Open Options
打开选项EXIT / QUIT
Quit OllyDbg
退出 OllyDbgOPEN
Open executable file
打开可执行文件CLOSE
Close executable
关闭程序RST
Restart current program
恢复当前程序HELP
Help on API function
API 函数的帮助ASM
Assemble (if command needs it's own addres, \"ASM COMMAND;ADDRESS\")
汇编 (如果命令需要自身的地址 \"ASM COMMAND;ADDRESS\")DASM
Disassemble immediate opcode
反汇编直接的机器码FR
Find reference to selected command/address
查找参考到选定的命令/地址AC
Analyse code
分析代码SN
Search for Name(label) in current module
在当前模块中搜索名称(标号)SOB
Scan object files
扫描项目文件
谁能帮我脱壳一个东西
1。用OD载入
2。一般载入后第二条命令就是call,单步F8
3。记下ESP数据,用命令:dd XXXXXXXX(就记下的数据),
4。在数据窗中,右击查到的数据,先加断点为硬件,word
5.F9运行
6。F8单步
7。删除硬件断点。
8。右键脱壳
结束战斗!
要找我脱的话QQ:117502672,50RMB
OD怎样修改游戏基址的数值?
脱壳错误~~~
软件已经损坏~~~
重新找原来的软件脱壳 (不是好像脱了一点壳也有可能有2个壳继续脱壳!)
Aspck2.12的壳用脱壳机也可以搞定~
ESP跟踪法
1.F8,观察OD右上角寄存器中ESP有没有实现(红色)
2.命令行下 DD ******(当前代码ESP值),回车
3.DD就选中下端地址,断点-硬件访问-DWORD断点,F9运行,到跳转处按F8 到OEP
内存法
1.OD载入软件
2.点选项-调试选项-忽略全部-CTRL+F2重载
3.ALT+N打开内存镜像,找程序第一个.rsrc-F2下断-SHIFT+F9运行到断点,再打开找到程序第一个.rsrc上面的.code处(就是00401000处),F2下断-SHIFT+F9或无异常按F9,到OEP
一步到OEP法
只适合少数壳,如UPX,ASPACK
1.CTRL+F-输入:POPAD.回车查找-F2下断-F9运行到此处.
2.来到jmp大跳转处,点F8到OEP.
留下邮箱我看看吧~~
快升级了想要分呵呵 免费帮你脱壳吧
iy0507@qq
做下广告
iy0507@qq软件汉化收费服务~
玩一会,用OD暂停,内存--》查找--》所更改数值,注意不要到DLL里面。
搜索到全部几个数值记录,下硬件/内存断点,F9
玩一会儿OD自动断下来,再根据分析很快就能找到减/加操作的地方,接下来怎么做……呵呵,不用我说了吧……