forked from Inndy/MSDoggy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHackScripts.h
1340 lines (1187 loc) · 53.9 KB
/
HackScripts.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
extern int THE_VIP;
#include "Scripts\GetInfo.h"
#include "Scripts\Blast.h"
int NoKBSwitch = 0;
void __declspec(naked) NoKB_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_NoKB_asm");
#endif
__asm
{
Cmp [NoKBSwitch], 00
Je Back
Ret 0x0014
Back:
Push 0x0097BB75
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int MoveFastSwitch = 0;
int MFFakeTime = 0;
int MFRate = 4;
void __declspec(naked) MoveFast_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_MoveFast_asm");
#endif
__asm
{
Cmp [MoveFastSwitch], 00
Je Return
Cmp [Esp], 0x009326E7
Jne Return
Add Esp, 4
Push Esi
Mov Esi, [MFRate]
Cmp [THE_VIP], 1
Je NoLimitSpeed
Cmp Esi, 5
Jle SpeedChk
Mov Esi, 5
NoLimitSpeed:
SpeedChk:
Test Esi, Esi
Je Normal
Dec Esi
Push Esi
Push Ecx
Push Eax
Call dword ptr [Eax]
Pop Eax
Pop Ecx
Pop Esi
Jmp SpeedChk
Normal:
Pop Esi
Push 0x009326E7
Ret
Return:
Push 0x0097C43D // 53 56 57 8b f9 8d 77 ?? 8b 06 8b ce ff 50
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
void __declspec(naked) MFFakeTime_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_MFFakeTime_asm");
#endif
__asm
{
Add [MFFakeTime], 510
Add Eax, [MFFakeTime]
Push 0x009a8db6
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int MobFollowSwitch = 0;
int MobFollowX = 0;
#ifndef BlackMapleStory
int Pause = 0;
#endif
#ifdef BlackMapleStory
extern int Pause;
#endif
extern int MobVacSwitch, VacX;
void __declspec(naked) MobFollow_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_MobFollow_asm");
#endif
__asm
{
Cmp [Pause], 0
Jne Return
Cmp [MobVacSwitch], 00
Jne VacFollow
Cmp [MobFollowSwitch], 00
Je Return
Cmp [Ecx+0x000002A8], 0x01
Je Control
Cmp [Ecx+0x000002A8], 0x03
Je Control
Jmp Return
VacFollow:
Mov Eax, [VacX]
Jmp Follow
Control:
Mov Eax, [MobFollowX]
Follow:
Sub Eax, 5
Cmp [Ecx+0x000006A4], Eax
Jl GoRight
Add Eax, 10
Cmp [Ecx+0x000006A4], Eax
Jg GoLeft
Jmp GoStop
GoLeft:
Mov [Ecx+0x000000FC], 0xFFFFFFFF
Jmp Return
GoRight:
Mov [Ecx+0x000000FC], 0x00000001
Jmp Return
GoStop:
Mov [Ecx+0x000000FC], 0x00000000
Jmp Return
Return:
Push 0x009856D5 // 55 8B EC 51 53 56 57 FF 75 08
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int DoubleAttackSwitch = 0;
void __declspec(naked) UnlimitedWeapon_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_UnlimitedWeapon_asm");
#endif
__asm
{
Cmp [THE_VIP], 0
Je ICS
Mov [Ebp-0x00000224], 1
Cmp [DoubleAttackSwitch], 00
Je CRCReturn
Mov [Ebp-0x00000220], 1
CRCReturn:
Push 0x00915D43
Push 0x008FC369
Ret
ICS:
Cmp [esp+0x10],0x00915D43
Jne Return
Mov [Ebp-0x00000224], 1
Return:
Push 0x00521B01
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int MPFakeTime = 0;
int MPNextTime = 0;
int GetXYCALL = 0x004A3704;
int PickCall = 0x004EC355;
int ImmediateFullSwitch = 0;
void __declspec(naked) MP_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_MultiPickMain_asm");
#endif
__asm
{
Add Esp, 4
Call [GetXYCALL]
Cmp [THE_VIP], 00
Je NOTVIP1
Mov Ecx, 16
Jmp LoopPick
NOTVIP1:
Mov Ecx, 3
LoopPick:
Dec Ecx
Test Ecx, Ecx
Je NormalPick
Push Ecx
Push Eax
Push Eax
Mov Ecx, [MPFakeTime]
Mov Eax, [0x00E1CFF0]
Add [Eax+0x1C], Ecx
Mov Ecx, [0x00E20510]
Call [PickCall]
Test Eax, Eax
Je NoPick
Mov Eax, [0x00E181E0]
And [Eax+0x20DC], 0
NoPick:
Mov Ecx, [MPFakeTime]
Mov Eax, [0x00E1CFF0]
Sub [Eax+0x1C], Ecx
Add [MPFakeTime], 30
Pop Eax
Pop Ecx
Jmp LoopPick
NormalPick:
Cmp [THE_VIP], 00
Jne Return
Push Eax
Mov Eax, [0x00E181E0]
And [Eax+0x20DC], 0
And [Eax+0x20E0], 0
Mov Ecx, [0x00E20510]
Call [PickCall]
Return:
Push 0x00930767
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
void __declspec(naked) MultiPick_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_MultiPick_asm");
#endif
__asm
{
Cmp [Esp], 0x0093075F
Je MultiPick
Cmp [Esp], 0x0093E6E3
Je ImmediateFull
Back:
Push 0x004A3704
Ret
ImmediateFull:
Cmp [ImmediateFullSwitch], 00
Je Back
And [Esi+0x000070EC], 00
Jmp Back
MultiPick:
Mov Eax, [0x00E1CFF0]
Mov Eax, [Eax+0x1C]
Cmp Eax, [MPNextTime]
Jl Back
Add Eax, 30
Mov [MPNextTime], Eax
Jmp MP_asm
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int SuperStupidSwitch = 0;
int MobAggroSwitch = 0;
void __declspec(naked) SuperStupid_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_SuperStupid_asm");
#endif
__asm
{
cmp dword ptr [esp+0x48], 0x00985B05 // 3b c7 75 ? 33 c0 eb ? 83 be ? ? ? ? 06
jne My_Ret
Cmp [SuperStupidSwitch], 0
Je My_Ret
mov [esi+0x000002B0], 00 // 39 be ?? ?? 00 00 74 ?? 8d 8e ?? ?? 00 00 e8 ?? ?? ?? ff 85 c0
My_Ret:
push 0x0097C7BB
ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int ReduceHurtsSwitch = 0;
int MobNoFightBackSwitch = 0;
void __declspec(naked) ReduceHurts_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_ReduceHurts_asm");
#endif
__asm
{
Cmp [Esp], 0x009238A9
Je ReduceHurt
Cmp [Esp+0x58], 0x00613F4E
Jne Return
Cmp [THE_VIP], 1
Jne Return
Cmp [MobNoFightBackSwitch], 0
Je Return
Mov [Esp+0x58], 0x00614148
Jmp Return
ReduceHurt:
Cmp [ReduceHurtsSwitch], 0
Je Return
Mov Eax, [Ebp+0x58]
Shr Eax, 2 // 損血量 / 4
Sub [Ebp+0x58], Eax
Return:
Push 0x008F9C92
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int GodSwitch = 0;
int GodTime = 0;
int FullGod = 0;
void __declspec(naked) God30_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_God30_asm");
#endif
__asm
{
Cmp [GodSwitch], 0
Je Return
Cmp [Esp], 0x00921C7E // 下面ICS點的返回位置 [1/2] e8 ? ? ? ? 85 c0 0f 85 ? ? ? ? 8b 83 ? ? 00 00 83 e0 fe 83 f8 12 0f 84 ?? ?? 00 00 e8 ?? ?? ?? 00 8b ?? 8b ?? 8b ?? ff 50 10 8b c8 e8 ?? ?? ?? ff 85 c0 0f 85
Jne Return
Cmp [FullGod], 0
Jne God
Call GetTicket // 時間
Cmp Eax, [GodTime]
Jl God
Add Eax, 30000
Mov [GodTime], Eax
Jmp Return
God: // 無敵
Mov [Esp], 0x0092406C // ICS下面的JMP jne 00896AB4
Return: // 正常損血
Push 0x00931AFE // ICS: call dword ptr [eax+10]
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int FinalAttackSkillID = 0;
void __declspec(naked) OverAttack_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_OverAttack_asm");
#endif
__asm
{
db 0x8B,0x45,0x10,0x8B,0x75,0xF4,0x8B,0x4D,0xF0,0x89,0x86,0x40,0x5F,0x00,0x00,0x89,0xBE,0x44,0x5F,0x00,0x00,0x89,0x8E,0x48,0x5F,0x00,0x00
mov [FinalAttackSkillID],edi
db 0x5F,0x5E,0x5B,0xC9,0xC2,0x10,0x00
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int NoDelayFinalAttackSwitch = 0;
void __declspec(naked) NoDelayFinalAttack_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_NoDelayFinalAttack_asm");
#endif
__asm
{
Push 0x00933B76
DB 0x55 //00939D29 - push ebp
DB 0x8b,0xec //00939D2A - mov ebp,esp
DB 0x83,0xec,0x10 //00939D2C - sub esp,10
DB 0x53 //00939D2F - push ebx
DB 0x56 //00939D30 - push esi
DB 0x57 //00939D31 - push edi
DB 0x8b,0xf1 //00939D32 - mov esi,ecx
Mov Eax,0x009562dd //00939D34 - call 009562dd
Call Eax
DB 0x8b,0x0d,0xe0,0x81,0xe1,0x00 //00939D39 - mov ecx,[00e181e0] : 00E2AB58
DB 0x8b,0xd8 //00939D3F - mov ebx,eax
DB 0x8d,0x45,0xf0 //00939D41 - lea eax,[ebp-10]
DB 0x50 //00939D44 - push eax
Mov Eax,0x00422812 //00939D45 - call 00422812
Call Eax
DB 0x8b,0x40,0x04 //00939D4A - mov eax,[eax+04]
DB 0x8d,0x4d,0xf0 //00939D4D - lea ecx,[ebp-10]
DB 0x89,0x45,0xf8 //00939D50 - mov [ebp-08],eax
Mov Eax,0x0042189f //00939D53 - call 0042189f
Call Eax
DB 0x33,0xff //00939D58 - xor edi,edi
Cmp [NoDelayFinalAttackSwitch], 0
Je Normal
Push [FinalAttackSkillID]
Pop [esi+0x5F44] // Cmp [Esi+XXXXXXXX], Edi
Normal:
Push 0x00939D72 // Push [Esi+XXXXXXXX]
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
long Making00a169a9 = 0x00a169a9;long Making0045c8bb = 0x0045c8bb;long Making00440b54 = 0x00440b54;long Making00422812 = 0x00422812;long Making0042189f = 0x0042189f;long Making005d6d0c = 0x005d6d0c;long Making004545e0 = 0x004545e0;long Making0040f4dd = 0x0040f4dd;long Making00594c1d = 0x00594c1d;long Making0072faab = 0x0072faab;long Making0042056b = 0x0042056b;long Making00436841 = 0x00436841;long Making00423302 = 0x00423302;long Making009562dd = 0x009562dd;long Making0095ec3e = 0x0095ec3e;long Making007d9f7a = 0x007d9f7a;long Making0099185f = 0x0099185f;long Making007d97fb = 0x007d97fb;long Making0099238d = 0x0099238d;long Making00a16a81 = 0x00a16a81;
void __declspec(naked) UltraMaking_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_UltraMaking_asm");
#endif
__asm
{
DB 0x6a,0x18 //007DB421 - push 18
DB 0xb8,0x56,0x48,0xac,0x00 //007DB423 - mov eax,00ac4856
Call Making00a169a9 //007DB428 - call 00a169a9
DB 0x8b,0xf1 //007DB42D - mov esi,ecx
DB 0x8b,0x8e,0x14,0x01,0x00,0x00 //007DB42F - mov ecx,[esi+00000114]
Call Making0045c8bb //007DB435 - call 0045c8bb
DB 0x8d,0x8e,0x18,0x01,0x00,0x00 //007DB43A - lea ecx,[esi+00000118]
Call Making00440b54 //007DB440 - call 00440b54
DB 0x8b,0x86,0xa0,0x00,0x00,0x00 //007DB445 - mov eax,[esi+000000a0]
DB 0x33,0xdb //007DB44B - xor ebx,ebx
DB 0x2b,0xc3 //007DB44D - sub eax,ebx
je Doggy007db5c9 //007DB44F - je 007db5c9
DB 0x48 //007DB455 - dec eax
DB 0x48 //007DB456 - dec eax
jne Doggy007db5e3 //007DB457 - jne 007db5e3
DB 0x39,0x9e,0xa8,0x00,0x00,0x00 //007DB45D - cmp [esi+000000a8],ebx
je Doggy007db5e3 //007DB463 - je 007db5e3
DB 0x39,0x9e,0xac,0x00,0x00,0x00 //007DB469 - cmp [esi+000000ac],ebx
jng Doggy007db5e3 //007DB46F - jng 007db5e3
DB 0x89,0x5d,0xf0 //007DB475 - mov [ebp-10],ebx
DB 0x8b,0x0d,0xe0,0x81,0xe1,0x00 //007DB478 - mov ecx,[00e181e0] : 00E2AB58
DB 0x8d,0x45,0xdc //007DB47E - lea eax,[ebp-24]
DB 0x50 //007DB481 - push eax
DB 0x89,0x5d,0xfc //007DB482 - mov [ebp-04],ebx
Call Making00422812 //007DB485 - call 00422812
DB 0x8b,0x78,0x04 //007DB48A - mov edi,[eax+04]
DB 0x8d,0x4d,0xdc //007DB48D - lea ecx,[ebp-24]
Call Making0042189f //007DB490 - call 0042189f
DB 0x8b,0x8e,0x9c,0x00,0x00,0x00 //007DB495 - mov ecx,[esi+0000009c]
DB 0x3b,0xcb //007DB49B - cmp ecx,ebx
je Doggy007db4ab //007DB49D - je 007db4ab
DB 0x8d,0x45,0xf0 //007DB49F - lea eax,[ebp-10]
DB 0x50 //007DB4A2 - push eax
DB 0x6a,0x01 //007DB4A3 - push 01
DB 0x57 //007DB4A5 - push edi
Call Making005d6d0c //007DB4A6 - call 005d6d0c
Doggy007db4ab:
DB 0x8b,0x45,0xf0 //007DB4AB - mov eax,[ebp-10]
DB 0x3b,0xc3 //007DB4AE - cmp eax,ebx
je Doggy007db4e7 //007DB4B0 - je 007db4e7
DB 0x38,0x18 //007DB4B2 - cmp [eax],bl
je Doggy007db4e7 //007DB4B4 - je 007db4e7
DB 0x8d,0x45,0xf0 //007DB4B6 - lea eax,[ebp-10]
DB 0x6a,0x0b //007DB4B9 - push 0b
DB 0x50 //007DB4BB - push eax
Call Making004545e0 //007DB4BC - call 004545e0
DB 0x59 //007DB4C1 - pop ecx
DB 0x89,0x9e,0xac,0x00,0x00,0x00 //007DB4C2 - mov [esi+000000ac],ebx
Doggy007db4c8:
DB 0x59 //007DB4C8 - pop ecx
Doggy007db4c9:
DB 0x8b,0x45,0xf0 //007DB4C9 - mov eax,[ebp-10]
DB 0x83,0x4d,0xfc,0xff //007DB4CC - or dword ptr [ebp-04],ff
DB 0x3b,0xc3 //007DB4D0 - cmp eax,ebx
je Doggy007db5e3 //007DB4D2 - je 007db5e3
DB 0x83,0xc0,0xf4 //007DB4D8 - add eax,f4
DB 0x50 //007DB4DB - push eax
Call Making0040f4dd //007DB4DC - call 0040f4dd
DB 0x59 //007DB4E1 - pop ecx
jmp Doggy007db5e3 //007DB4E2 - jmp 007db5e3
Doggy007db4e7:
DB 0x8b,0x86,0x9c,0x00,0x00,0x00 //007DB4E7 - mov eax,[esi+0000009c]
DB 0x8b,0x40,0x10 //007DB4ED - mov eax,[eax+10]
DB 0xff,0x30 //007DB4F0 - push [eax]
DB 0x8b,0x0d,0xe4,0x81,0xe1,0x00 //007DB4F2 - mov ecx,[00e181e4] : 00000000
DB 0x8d,0x45,0xe8 //007DB4F8 - lea eax,[ebp-18]
DB 0x50 //007DB4FB - push eax
Call Making00594c1d //007DB4FC - call 00594c1d
DB 0xff,0x86,0xb0,0x00,0x00,0x00 //007DB501 - inc [esi+000000b0]
DB 0x8d,0x45,0xe4 //007DB507 - lea eax,[ebp-1c]
DB 0x68,0x72,0x16,0x00,0x00 //007DB50A - push 00001672
DB 0x50 //007DB50F - push eax
DB 0xc6,0x45,0xfc,0x01 //007DB510 - mov byte ptr [ebp-04],01
Call Making0072faab //007DB514 - call 0072faab
DB 0x8b,0xc8 //007DB519 - mov ecx,eax
Call Making0042056b //007DB51B - call 0042056b
DB 0x89,0x5d,0xec //007DB520 - mov [ebp-14],ebx
DB 0xff,0xb6,0xb0,0x00,0x00,0x00 //007DB523 - push [esi+000000b0]
DB 0x8b,0x00 //007DB529 - mov eax,[eax]
DB 0xff,0xb6,0xa4,0x00,0x00,0x00 //007DB52B - push [esi+000000a4]
DB 0xc6,0x45,0xfc,0x03 //007DB531 - mov byte ptr [ebp-04],03
DB 0xff,0x75,0xe8 //007DB535 - push [ebp-18]
DB 0x50 //007DB538 - push eax
DB 0x8d,0x45,0xec //007DB539 - lea eax,[ebp-14]
DB 0x50 //007DB53C - push eax
Call Making00436841 //007DB53D - call 00436841
DB 0x83,0xc4,0x14 //007DB542 - add esp,14
DB 0x50 //007DB545 - push eax
DB 0x8d,0x8e,0x30,0x01,0x00,0x00 //007DB546 - lea ecx,[esi+00000130]
Call Making00423302 //007DB54C - call 00423302
DB 0x8b,0x45,0xec //007DB551 - mov eax,[ebp-14]
DB 0xc6,0x45,0xfc,0x02 //007DB554 - mov byte ptr [ebp-04],02
DB 0x3b,0xc3 //007DB558 - cmp eax,ebx
je Doggy007db566 //007DB55A - je 007db566
DB 0x83,0xc0,0xf4 //007DB55C - add eax,f4
DB 0x50 //007DB55F - push eax
Call Making0040f4dd //007DB560 - call 0040f4dd
DB 0x59 //007DB565 - pop ecx
Doggy007db566:
DB 0x8b,0x45,0xe4 //007DB566 - mov eax,[ebp-1c]
DB 0xc6,0x45,0xfc,0x01 //007DB569 - mov byte ptr [ebp-04],01
DB 0x3b,0xc3 //007DB56D - cmp eax,ebx
je Doggy007db57b //007DB56F - je 007db57b
DB 0x83,0xc0,0xf4 //007DB571 - add eax,f4
DB 0x50 //007DB574 - push eax
Call Making0040f4dd //007DB575 - call 0040f4dd
DB 0x59 //007DB57A - pop ecx
Doggy007db57b:
DB 0x89,0x9e,0xa0,0x00,0x00,0x00 //007DB57B - mov [esi+000000a0],ebx
Call Making009562dd //007DB581 - call 009562dd
DB 0xff,0xb6,0x38,0x01,0x00,0x00 //007DB586 - push [esi+00000138]
DB 0x89,0x86,0xb8,0x00,0x00,0x00 //007DB58C - mov [esi+000000b8],eax
Call Making0095ec3e //007DB592 - call 0095ec3e
DB 0x59 //007DB597 - pop ecx
DB 0x8b,0xce //007DB598 - mov ecx,esi
DB 0x89,0x86,0x34,0x01,0x00,0x00 //007DB59A - mov [esi+00000134],eax
Call Making007d9f7a //007DB5A0 - call 007d9f7a
DB 0x53 //007DB5A5 - push ebx
DB 0x8b,0xce //007DB5A6 - mov ecx,esi
Call Making0099185f //007DB5A8 - call 0099185f
DB 0x8b,0x45,0xe8 //007DB5AD - mov eax,[ebp-18]
DB 0x88,0x5d,0xfc //007DB5B0 - mov [ebp-04],bl
DB 0x3b,0xc3 //007DB5B3 - cmp eax,ebx
je Doggy007db4c9 //007DB5B5 - je 007db4c9
DB 0x83,0xc0,0xf4 //007DB5BB - add eax,f4
DB 0x50 //007DB5BE - push eax
Call Making0040f4dd //007DB5BF - call 0040f4dd
jmp Doggy007db4c8 //007DB5C4 - jmp 007db4c8
Doggy007db5c9:
Call Making009562dd //007DB5C9 - call 009562dd
DB 0x2b,0x86,0xb8,0x00,0x00,0x00 //007DB5CE - sub eax,[esi+000000b8]
DB 0x3b,0x86,0xbc,0x00,0x00,0x00 //007DB5D4 - cmp eax,[esi+000000bc]
//jnge Doggy007db5e3 //007DB5DA - jnge 007db5e3
DB 0x8b,0xce //007DB5DC - mov ecx,esi
Call Making007d97fb //007DB5DE - call 007d97fb
Doggy007db5e3:
DB 0x8b,0xce //007DB5E3 - mov ecx,esi
Call Making0099238d //007DB5E5 - call 0099238d
Call Making00a16a81 //007DB5EA - call 00a16a81
DB 0xc3 //007DB5EF - ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
long Doggy_0048b66d = 0x0048b66d;
long Doggy_00408b6f = 0x00408b6f;
void __declspec(naked) NoMiningInterval_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_NoMiningInterval_asm");
#endif
__asm
{
push [ebp+0x0c]
push 0x00930c56
DB 0x56 //00909982 - push esi
DB 0x57 //00909983 - push edi
DB 0x8b,0xf1 //00909984 - mov esi,ecx
DB 0x8b,0x0d,0xe0,0x81,0xe1,0x00 //00909986 - mov ecx,[00e181e0] : 00E2AB58
DB 0x6a,0x00 //0090998C - push 00
Call Doggy_0048b66d //0090998E - call 0048b66d
DB 0x8b,0x4c,0x24,0x0c //00909993 - mov ecx,[esp+0c]
Call Doggy_00408b6f //00909997 - call 00408b6f
DB 0x8b,0x4c,0x24,0x0c //0090999C - mov ecx,[esp+0c]
DB 0x8b,0xf8 //009099A0 - mov edi,eax
Call Doggy_00408b6f //009099A2 - call 00408b6f
Push 0x009099AC
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
long Doggy_00694581 = 0x00694581;
long Doggy_0043183c = 0x0043183c;
long Doggy_006935ff = 0x006935ff;
long Doggy_0069596e = 0x0069596e;
long Doggy_008f662a = 0x008f662a;
void __declspec(naked) NoDelayMining_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_NoDelayMining_asm");
#endif
__asm
{
Push 0x00932619
DB 0x55 //008FFF88 - push ebp
DB 0x8b,0xec //008FFF89 - mov ebp,esp
DB 0x83,0xec,0x18 //008FFF8B - sub esp,18
DB 0x53 //008FFF8E - push ebx
DB 0x56 //008FFF8F - push esi
DB 0x8b,0xf1 //008FFF90 - mov esi,ecx
DB 0x33,0xdb //008FFF92 - xor ebx,ebx
DB 0x39,0x9e,0xd4,0x73,0x00,0x00 //008FFF94 - cmp [esi+000073d4],ebx
je Doggy0090008c //008FFF9A - je 0090008c
DB 0x8b,0x0d,0xdc,0x06,0xe2,0x00 //008FFFA0 - mov ecx,[00e206dc] : 00000000
DB 0x57 //008FFFA6 - push edi
DB 0x8d,0x45,0xe8 //008FFFA7 - lea eax,[ebp-18]
DB 0x50 //008FFFAA - push eax
Call Doggy_00694581 //008FFFAB - call 00694581
DB 0x8d,0x45,0xe8 //008FFFB0 - lea eax,[ebp-18]
DB 0x50 //008FFFB3 - push eax
DB 0xff,0x15,0x1c,0x33,0xb3,0x00 //008FFFB4 - call dword ptr [00b3331c] : 77D298FE
DB 0x85,0xc0 //008FFFBA - test eax,eax
jne Doggy0090007f //008FFFBC - jne 0090007f
DB 0x8d,0x45,0xf8 //008FFFC2 - lea eax,[ebp-08]
DB 0x50 //008FFFC5 - push eax
DB 0x8d,0x8e,0xc0,0x23,0x00,0x00 //008FFFC6 - lea ecx,[esi+000023c0]
Call Doggy_0043183c //008FFFCC - call 0043183c
DB 0xff,0x70,0x04 //008FFFD1 - push [eax+04]
DB 0xff,0x30 //008FFFD4 - push [eax]
DB 0x8d,0x45,0xe8 //008FFFD6 - lea eax,[ebp-18]
DB 0x50 //008FFFD9 - push eax
DB 0xff,0x15,0x18,0x33,0xb3,0x00 //008FFFDA - call dword ptr [00b33318] : 77D29719
DB 0x85,0xc0 //008FFFE0 - test eax,eax
je Doggy0090007f //008FFFE2 - je 0090007f
DB 0x8b,0x0d,0xdc,0x06,0xe2,0x00 //008FFFE8 - mov ecx,[00e206dc] : 00000000
DB 0x53 //008FFFEE - push ebx
Call Doggy_006935ff //008FFFEF - call 006935ff
DB 0x33,0xff //008FFFF4 - xor edi,edi
DB 0x47 //008FFFF6 - inc edi
DB 0x85,0xc0 //008FFFF7 - test eax,eax
je Doggy00900082 //008FFFF9 - je 00900082
DB 0x39,0xbe,0xd4,0x73,0x00,0x00 //008FFFFF - cmp [esi+000073d4],edi
jne Doggy0090008b //00900005 - jne 0090008b
DB 0x39,0x9e,0xd8,0x73,0x00,0x00 //0090000B - cmp [esi+000073d8],ebx
jle Doggy00900082 //00900011 - jle 00900082
DB 0x8b,0x86,0xe4,0x73,0x00,0x00 //00900013 - mov eax,[esi+000073e4]
DB 0x3d,0x15,0x01,0x00,0x00 //00900019 - cmp eax,00000115
jnge Doggy00900027 //0090001E - jnge 00900027
DB 0x3d,0x16,0x01,0x00,0x00 //00900020 - cmp eax,00000116
jle Doggy00900035 //00900025 - jle 00900035
Doggy00900027:
DB 0x3d,0xb3,0x01,0x00,0x00 //00900027 - cmp eax,000001b3
jnge Doggy00900082 //0090002C - jnge 00900082
DB 0x3d,0xb6,0x01,0x00,0x00 //0090002E - cmp eax,000001b6
jg Doggy00900082 //00900033 - jg 00900082
Doggy00900035:
DB 0x8b,0x86,0xdc,0x73,0x00,0x00 //00900035 - mov eax,[esi+000073dc]
DB 0x3b,0xc3 //0090003B - cmp eax,ebx
jle Doggy00900075 //0090003D - jle 00900075
//DB 0x39,0x45,0x08 //0090003F - cmp [ebp+08],eax
//jnge Doggy00900075 //00900042 - jnge 00900075
//DB 0x39,0x9e,0xe0,0x73,0x00,0x00 //00900044 - cmp [esi+000073e0],ebx
//jg Doggy0090004f //0090004A - jg 0090004f
//DB 0x53 //0090004C - push ebx
//jmp Doggy00900083 //0090004D - jmp 00900083
Doggy0090004f:
DB 0x8b,0x0d,0xdc,0x06,0xe2,0x00 //0090004F - mov ecx,[00e206dc] : 00000000
Call Doggy_0069596e //00900055 - call 0069596e
DB 0x85,0xc0 //0090005A - test eax,eax
je Doggy00900082 //0090005C - je 00900082
DB 0xff,0x8e,0xe0,0x73,0x00,0x00 //0090005E - dec [esi+000073e0]
DB 0xa1,0xdc,0x06,0xe2,0x00 //00900064 - mov eax,[00e206dc] : 00000000
DB 0x8b,0x40,0x5c //00900069 - mov eax,[eax+5c]
DB 0x03,0x45,0x08 //0090006C - add eax,[ebp+08]
DB 0x89,0x86,0xdc,0x73,0x00,0x00 //0090006F - mov [esi+000073dc],eax
Doggy00900075:
DB 0x39,0x9e,0xdc,0x73,0x00,0x00 //00900075 - cmp [esi+000073dc],ebx
jg Doggy0090008b //0090007B - jg 0090008b
jmp Doggy00900082 //0090007D - jmp 00900082
Doggy0090007f:
DB 0x33,0xff //0090007F - xor edi,edi
DB 0x47 //00900081 - inc edi
Doggy00900082:
DB 0x57 //00900082 - push edi
Doggy00900083:
DB 0x57 //00900083 - push edi
DB 0x8b,0xce //00900084 - mov ecx,esi
Call Doggy_008f662a //00900086 - call 008f662a
Doggy0090008b:
DB 0x5f //0090008B - pop edi
Doggy0090008c:
DB 0x5e //0090008C - pop esi
DB 0x5b //0090008D - pop ebx
DB 0xc9 //0090008E - leave
DB 0xc2,0x04,0x00 //0090008F - ret 0004
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int ItemVacSwitch = 0;
void __declspec(naked) MyPtInRect(){__asm{
db 0x55, 0x8B, 0xEC, 0x8B, 0x45, 0x08, 0x85, 0xC0, 0x74, 0x20, 0x8B, 0x4D, 0x0C, 0x3B, 0x08, 0x7C, 0x19, 0x3B, 0x48, 0x08
db 0x7D, 0x14, 0x8B, 0x4D, 0x10, 0x3B, 0x48, 0x04, 0x7C, 0x0C, 0x3B, 0x48, 0x0C, 0x7D, 0x07, 0x33, 0xC0, 0x40, 0x5D, 0xC2
db 0x0C, 0x00, 0x33, 0xC0, 0xEB, 0xF8
}}
void __declspec(naked) ItemVac_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_ItemVac_asm");
#endif
__asm
{
cmp [esp],0x004EC48E // 85 c0 75 ?? 83 4d fc ff 8d 4d ?? e8 ?? ?? ff ff 83 7d f0 00 0f 85
je SetItemXY
cmp [esp],0x004EB736 // 85 C0 74 07 39 5D ?? 75
jne MyPtInRect
xor eax,eax
inc eax
ret 0x000c
SetItemXY:
cmp [ItemVacSwitch], 0
jne ItemVac
jmp MyPtInRect
ItemVac:
mov eax,[esp+0x08]
mov [ebx],eax
mov eax,[esp+0x0C]
mov [ebx+0x04],eax
xor eax,eax
inc eax
ret 0x000c
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
void __declspec(naked) FixedSSAction_asm()
{
#ifdef VMProtectSDK
VMProtectBegin("_FixedSSAction_asm");
#endif
__asm
{
cmp [esp],0x0097C47B // 85 C0 74 ?? 8B 06 5F
jne NormalReturn
cmp [ItemVacSwitch], 0
je NormalReturn
add esp, 04
mov eax, 0x009894C6
call eax
xor eax,eax
Push 0x0097C47B
Ret
NormalReturn:
Push 0x009894C6 // 55 8B EC 83 EC ?? 53 8B 1D ?? ?? ?? 00 56 8B F1 57
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int VacX, VacY;
int MobVacSwitch = 0;
void __declspec(naked) MobVac_asm() {
#ifdef VMProtectSDK
VMProtectBegin("_MobVac_asm");
#endif
__asm {
mov eax,[esi+0x00000730]
pushad
cmp [MobVacSwitch],0
je NormalBack
Test Esi, Esi
Je NormalBack
Mov Eax, [Esi]
Test Eax, Eax
Je NormalBack
Cmp [Eax], 0x009845C6 // 56 8B F1 E8 ?? ?? FF FF F6 44 24 08 01 74 0B 56 B9 ?? ?? ?? 00 E8 ?? ?? ?? FF 8B C6 5E C2 04 00 6A 04 B8 ?? ?? ?? 00 E8 ?? ?? ?? 00 68 ?? 07 00 00
Jne NormalBack
// 只吸一次
Cmp [Esi+0x04], 01
Je NormalBack
// 檢測怪物類型
Cmp [Esi+0x000002A8], 01 // 走怪
Je MobVac
Cmp [Esi+0x000002A8], 03 // 跳怪
Je MobVac
Jmp NormalBack
MobVac:
mov eax,esi
mov ebx,eax
mov ecx,ebx
add eax,0x10
add ecx,0x10
mov edi,[eax]
Push 00
Push 00
Push 00
Push 00
Push [VacY]
Push [VacX]
Push 06
mov [Esi+4],01
Call dword ptr [Edi+0x84]
NormalBack:
popad
push 0x00612200
ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int CharX = 0, CharY = 0;
void __declspec(naked) GetXY()
{
#ifdef VMProtectSDK
VMProtectBegin("GetXY");
#endif
__asm
{
Sub Esp, 08
Mov Eax, Esp
Pushad
Mov Ebx, 0x004A3704
Mov Ecx, [0x00e1847c] // CharBase
Test Ecx, Ecx
Je _Exit
Add Ecx, 4
Push Eax
Call Ebx
Push [Eax]
Pop [CharX]
Push [Eax+4]
Pop [CharY]
_Exit:
Popad
Add Esp, 08
Ret
}
#ifdef VMProtectSDK
VMProtectEnd();
#endif
}
int LRStep = 0, LRTick = 0;
void __declspec(naked) AutoLR_asm() {
__asm {
Cmp [MobVacSwitch], 0
Je Back2GetFocus
Cmp [Esp], 0x009895B7
Je AutoLR
Back2GetFocus:
Jmp GetFocus
/* LRStep
* 1 往右
* 2 等待往左
* 3 往左