您现在的位置是: 首页 > 关于我们 关于我们

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 硬件断点_

玩一会,用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自动断下来,再根据分析很快就能找到减/加操作的地方,接下来怎么做……呵呵,不用我说了吧……