首页
社区
课程
招聘
[旧帖] [求助]请教,为什么10个以上出错 0.00雪花
发表于: 2014-9-20 20:11 5252

[旧帖] [求助]请教,为什么10个以上出错 0.00雪花

2014-9-20 20:11
5252
我有一软件是简易的版本,在调入前10个数据都没有什么就是在调入10个以上时就会出错,请教大家这种软件可以修改吗?
005222B6  |.  8B00          mov     eax, [eax]
005222B8  |.  85C0          test    eax, eax
005222BA  |.  7E 44         jle     short 00522300
005222BC  |.  8945 DC       mov     [ebp-24], eax
005222BF  |.  C745 F4 01000>mov     dword ptr [ebp-C], 1
005222C6  |>  8B45 F4       /mov     eax, [ebp-C]
005222C9  |.  48            |dec     eax
005222CA      83F8 09       cmp     eax, 9
005222CD  |.  76 05         |jbe     short 005222D4
005222CF  |.  E8 4C16EEFF   |call    00403920
005222D4  |>  40            |inc     eax
005222D5  |.  8B15 00D05200 |mov     edx, [52D000]                   ;  Ipi2win.0052EB6C
005222DB  |.  8B4482 FC     |mov     eax, [edx+eax*4-4]
005222DF  |.  8B55 F4       |mov     edx, [ebp-C]
005222E2  |.  0355 EC       |add     edx, [ebp-14]
005222E5  |.  4A            |dec     edx
005222E6      83FA 09       cmp     edx, 9
005222E9  |.  76 05         |jbe     short 005222F0
005222EB  |.  E8 3016EEFF   |call    00403920           这就出错了
005222F0  |>  42            |inc     edx
005222F1  |.  898495 04FDFF>|mov     [ebp+edx*4-2FC], eax
005222F8  |.  FF45 F4       |inc     dword ptr [ebp-C]
005222FB      FF4D DC       dec     dword ptr [ebp-24]
005222FE    ^ 75 C6         \jnz     short 005222C6
00522300  |>  837D EC 01    cmp     dword ptr [ebp-14], 1
00522304  |.  0F8E A7010000 jle     005224B1            到这就正常

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 218
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
[QUOTE=佟鹏;1317995]我有一软件是简易的版本,在调入前10个数据都没有什么就是在调入10个以上时就会出错,请教大家这种软件可以修改吗?
005222B6  |.  8B00          mov     eax, [eax]
005222B8  |.  85C0          test    eax, eax...[/QUOTE]

这里的出错可以理解为,这是软件试用版的限制么?

从你贴的汇编来看,
005222E9  |.  76 05         |jbe     short 005222F0
005222EB  |.  E8 3016EEFF   |call    00403920           这就出错了
005222F0  |>  42            |inc     edx

直接把 jbe 改成 jmp 不就可以跳过出错的那一行call了?
jbe前面是 cmp edx,9 就是说如果执行次数不超过9就不执行那个出错的call了
2014-9-20 21:51
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
可以按照楼上的试试,另外,上面的另外一个jbe也需要改下
2014-9-21 21:57
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看不懂啊,呃呃
2014-9-25 00:39
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
就改这个 83F8 09 为 83F8 7F,应该就够了吧
2014-10-6 23:35
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
很简单的啦
2014-10-7 01:14
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
看不懂。。。
2014-10-14 11:26
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
什么原因啊
2014-10-14 18:29
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
005222E6      83FA 09       cmp     edx, 9改为005222E6      83FA 09       cmp     edx, 99999或者把005222E9  |.  76 05         |jbe     short 005222F0改为:005222E9  |.  76 05         |jmp     short 005222F0
2014-10-20 01:07
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
应该是这样把。。。
2014-10-25 18:12
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习一下!
2014-11-19 13:10
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
看不得啊    这是什么语言啊     vc++么
2014-11-27 13:37
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这个应该是个二重循环,[ebp-C]记录的是第一重循环用i表示,循环十次;第二重循环的次数记录在[ebp-24]中。他把第一重循环的次数i加上了[ebp-14],大于9就跳走了(也就是你上面写的出错)。[ebp-14]从代码里看不出什么意思。按照二楼的方法简单的把跳转指令改一下也许可以,如果对程序的继续运行没有影响的话。。不知道对错,仅供参考
2014-11-28 14:23
0
游客
登录 | 注册 方可回帖
返回
//