本帖最后由 18288658820 于 2019-9-7 04:10 编辑
1. OD中非法工具和退出 查字符串就行了
0040765F |. E8 D79BFFFF call 1.0040123B .....这个call就是判断是否为非法,有两处调用: 004011AE, 0040765F
第一次调用进call
0040126C |. 837D FC 00 cmp [local.1],0x0 这里在比较 如果相同 堆栈 ss:[0012FD0C]=00000002
爆破方法一:右键堆栈地址-数据窗口中跟随地址 改为00
爆破方法二:如果你改了数据为00 下边的就不改了,如果不改数据就要改下边的跳
00401270 0F84 48000000 je 1.004012BE 改为跳 跳过了非法工具 和0比较的关键跳
004012C2 |. /0F85 5A000000 jnz 1.00401322 改为跳 其实不改也可以的只是说这是一个常识 和1比较的关键跳
00401326 |. /0F85 5A000000 jnz 1.00401386 改为跳 跳过了退出 和2比较的关键跳
上边就搞定了载入程序,在打开前的判断
窗口打开了输入假码登录它还会进行一次判断 (这是第二次调用,)
0040126C |. 837D FC 00 cmp [local.1],0x0 这里在比较 堆栈 ss:[0012F6F0]=00000002
爆破方法一:右键堆栈地址-数据窗口中跟随地址 改为00
爆破方法二:如果你改了数据为00 下边的就不改了,如果不改数据就要改下边的跳
00401270 0F84 48000000 je 1.004012BE 改为跳 跳过了非法工具 和0比较的关键跳
004012C2 |. /0F85 5A000000 jnz 1.00401322 改为跳 其实不改也可以的只是说这是一个常识 和1比较的关键跳
00401326 |. /0F85 5A000000 jnz 1.00401386 改为跳 跳过了退出 和2比较的关键跳
最好是改数据 比较稳定,改跳会有暗桩,麻烦。爆破的两方法为
第一种方法,改两个地址的数据,
第二种方法,改三个地址的跳 为 jmp
2.下按钮事件
0040765F |. E8 D79BFFFF call 1.0040123B 这个call 又调用了非法工具判断 F8会卡掉线程,重新激活就可以
004076AB /0F84 3C020000 je 1.004078ED 路过了登录成功 NOP
3.还有退出
004078B0 |> \E8 4E090100 call 1.00418203 这个call退出了,进call看看
004182EF |> \837D F4 01 cmp [local.3],0x1 寄存器中可以看到 006FB5BB ASCII "-1" -1和1比较判断是否退出
004182F3 |. 0F8D 16010000 jge 1.0041840F 是否退出的关键跳
00418455 |> \837D F4 01 cmp [local.3],0x1 寄存器中可以看到 006FB5BB ASCII "-1" -1和1比较判断是否退出
00418459 |. 0F8D 16010000 jge 1.00418575 是否退出的关键跳
还有退出的分析方法有两种,和非法工具一样的,
第一种改两个关键跳
第二种改006FB5BB 的值为01 要在004182C9下断,断下后改006FB5BB的数据为01 OD右下角会有地址,右键-数据窗口中跟随就可以改了
4.初始化失败,请检查系统环境,管理员运行本程序! 查字符串可以找到
0041A98F |> \837D D8 00 cmp [local.10],0x0 堆栈 ss:[0012F484]=00000000 堆栈数值和0比较,也就是0和0比较 影响了下边的跳
0041A993 |. 0F84 05000000 je 1.0041A99E 跳到初始化失败
0041A999 |. E9 34000000 jmp 1.0041A9D2 跳过初始化失败
爆破方法和上边一样有两种,
第一种 改0012F484 的数据为01
第二种 改0041A993 NOP 或者改为jnz 也就是二进制改为0F85 05000000 是一样的
5. 还有退出
0041B0E6 |. /0F85 90000000 jnz 1.0041B17C 改为jmp
0041B5D1 |. 8945 D8 mov [local.10],eax 这里又调用了0012F484地址的数据
0041B5D4 |. 837D D8 00 cmp [local.10],0x0
0041B5D8 |. 0F84 38000000 je 1.0041B616 ...............这里改为跳
0041B661 |> \837D D8 01 cmp [local.10],0x1
0041B665 |. 0F8D 38000000 jge 1.0041B6A3................这里改为跳
0041E50C . 8945 E8 mov dword ptr ss:[ebp-0x18],eax 在这里修改剩余时间 数据地址放在eax中 数据窗口中跟随就改了
00206428 改成39 39 39 39 就有9999天了
0041B71E |. 68 FBB66F00 push 1.006FB6FB ; 登陆成功! 剩余时间:
可以了,OK 了 截图不附了,好累!睡觉了。
|