Загрузка...

Decompiling the CRMP AHK script

Thread in GTA SAMP created by brin Jul 11, 2019. 221 view

  1. brin
    brin Topic starter Jul 11, 2019 3 Oct 8, 2017
  2. Rebrad
    Rebrad Jul 11, 2019 Не с Земли, но человек 647 Dec 17, 2016
    Первый в формате .cs и открывается спокойно даже блокнотом, иероглифы правда будут, но сам код ты увидишь. А так тебе понадобится софт для работы с C# (Си шарп).
    Второй запакован уже в .exe, тут понадобится анпакер, видел такой вот тут
     
  3. brin
    brin Topic starter Jul 11, 2019 3 Oct 8, 2017
    Rebrad, а ты сможешь распаковать?

    Rebrad, таким способом 2й файл не распаковывается
     
  4. Rebrad
    Rebrad Jul 11, 2019 Не с Земли, но человек 647 Dec 17, 2016
    brin, ну вот тело скрипта аимбота.
    //-------------MAIN---------------
    0000: NOP
    0662: write_debug "SKIN AIMBOT" // nop
    0662: write_debug "AIM BY SAMPHACK" // nop
    0006: 31@ = 0

    :NONAME_62
    0001: wait 0
    00D6: if
    0AB0: is_key_pressed 20
    004D: goto_if_false @NONAME_186
    00D6: if
    0039: 31@ == 0
    004D: goto_if_false @NONAME_146
    0AD1: print_formatted_now "AIM BY SAMPHACK ~G~ ON" time 1500
    018C: add_one_off_sound 0.0 0.0 0.0 sound 1083
    0006: 31@ = 1
    0001: wait 200
    0002: goto @NONAME_186

    :NONAME_146
    0AD1: print_formatted_now "AIM BY SAMPHACK ~G~ OFF" time 1500
    018C: add_one_off_sound 0.0 0.0 0.0 sound 1058
    0006: 31@ = 0
    0001: wait 200

    :NONAME_186
    0002: goto @NONAME_193

    :NONAME_193
    0001: wait 0
    00D6: if and
    0039: 31@ == 1
    0AD2: get_char_player_is_targeting $PLAYER_CHAR store_to 2@
    004D: goto_if_false @NONAME_62

    :NONAME_223
    0001: wait 0
    00D6: if and
    056D: does_char_exist 2@
    0AB0: is_key_pressed 1
    004D: goto_if_false @NONAME_193
    00D6: if and
    8118: not is_char_dead 2@
    02CB: is_char_on_screen 2@
    004D: goto_if_false @NONAME_193
    0A96: get_char_pointer 2@ store_to 6@
    000A: 6@ += 68
    0A8D: read_memory 6@ size 4 vp 0 store_to 3@
    000A: 6@ += 4
    0A8D: read_memory 6@ size 4 vp 0 store_to 4@
    000A: 6@ += 4
    0A8D: read_memory 6@ size 4 vp 0 store_to 5@
    00A0: get_char_coordinates 2@ store_to 6@ 7@ 8@
    0006: 10@ = 35
    0093: 10@ = int_to_float 10@
    0007: 12@ = 17.0
    0017: 12@ /= 360.0
    006B: 3@ *= 12@ // (float)
    006B: 4@ *= 12@ // (float)
    006B: 5@ *= 12@ // (float)
    006B: 3@ *= 10@ // (float)
    006B: 4@ *= 10@ // (float)
    006B: 5@ *= 10@ // (float)
    005B: 6@ += 3@ // (float)
    005B: 7@ += 4@ // (float)
    005B: 8@ += 5@ // (float)
    00A0: get_char_coordinates $PLAYER_ACTOR store_to 3@ 4@ 5@
    00D6: if
    06BD: is_line_of_sight_clear 3@ 4@ 5@ to 6@ 7@ 8@ buildings 1 cars 1 chars 0 objects 1 particles 0
    004D: goto_if_false @NONAME_531
    0AB1: call @NONAME_538 4 2@ 6@ 7@ 8@

    :NONAME_531
    0002: goto @NONAME_223

    :NONAME_538
    0087: 4@ = 1@ // (float)
    0087: 5@ = 2@ // (float)
    0087: 6@ = 3@ // (float)
    068D: get_active_camera_coordinates 1@ 2@ 3@
    04C4: get_offset_from_char_in_world_coords $PLAYER_ACTOR offset 0.0 0.0 0.0 store_to 7@ 8@ 9@
    0063: 1@ -= 4@ // (float)
    0063: 2@ -= 5@ // (float)
    0096: abs_var_float 1@
    0096: abs_var_float 2@
    0087: 10@ = 1@ // (float)
    0087: 11@ = 2@ // (float)
    006B: 10@ *= 10@ // (float)
    006B: 11@ *= 11@ // (float)
    005B: 10@ += 11@ // (float)
    01FB: sqrt 10@ store_to 10@
    0087: 11@ = 1@ // (float)
    0087: 12@ = 10@ // (float)
    0073: 11@ /= 12@ // (float)
    0AA5: call_function 4327328 num_params 1 pop 1 11@
    0AE9: pop_float 12@
    0AA5: call_function 4775488 num_params 1 pop 1 11@
    0AE9: pop_float 13@
    00D6: if
    0AB1: call @NONAME_1272 0 16@
    004D: goto_if_false @NONAME_833
    00D6: if
    0AB1: call @NONAME_838 7 4@ 5@ 7@ 8@ 12@ 13@ 16@ 15@
    004D: goto_if_false @NONAME_833
    000B: 15@ += 0.0389
    0A8C: write_memory 11989592 size 4 val 15@ vp 0

    :NONAME_833
    0AB2: ret 0

    :NONAME_838
    00D6: if
    0039: 6@ == 5
    004D: goto_if_false @NONAME_903
    0007: 7@ = 0.01
    0007: 8@ = 0.01
    0007: 9@ = 1.5607
    0007: 10@ = 1.5807
    0002: goto @NONAME_1008

    :NONAME_903
    00D6: if
    0039: 6@ == 6
    004D: goto_if_false @NONAME_968
    0007: 7@ = 0.018
    0007: 8@ = 0.02
    0007: 9@ = 1.5507
    0007: 10@ = 1.5907
    0002: goto @NONAME_1008

    :NONAME_968
    0007: 7@ = 0.0
    0007: 8@ = 0.0
    0007: 9@ = 1.5707
    0007: 10@ = 1.5707

    :NONAME_1008
    00D6: if and
    0025: 2@ > 0@
    0025: 3@ > 1@
    004D: goto_if_false @NONAME_1051
    0063: 5@ -= 8@ // (float)
    0087: 15@ = 5@ // (float)

    :NONAME_1051
    00D6: if and
    0025: 2@ > 0@
    8035: not 3@ >= 1@
    004D: goto_if_false @NONAME_1104
    0013: 5@ *= -1.0
    0063: 5@ -= 7@ // (float)
    0087: 15@ = 5@ // (float)

    :NONAME_1104
    00D6: if and
    8035: not 2@ >= 0@
    0025: 3@ > 1@
    004D: goto_if_false @NONAME_1147
    005B: 4@ += 9@ // (float)
    0087: 15@ = 4@ // (float)

    :NONAME_1147
    00D6: if and
    8035: not 2@ >= 0@
    8035: not 3@ >= 1@
    004D: goto_if_false @NONAME_1200
    0013: 4@ *= -1.0
    0063: 4@ -= 10@ // (float)
    0087: 15@ = 4@ // (float)

    :NONAME_1200
    0A8D: read_memory 11989592 size 4 vp 0 store_to 11@
    0063: 11@ -= 15@ // (float)
    00D6: if and
    8031: not 11@ >= 0.18
    0021: 11@ > -0.18
    004D: goto_if_false @NONAME_1262
    0485: is_pc_version
    0002: goto @NONAME_1264

    :NONAME_1262
    059A: return_false

    :NONAME_1264
    0AB2: ret 1 15@

    :NONAME_1272
    0A96: get_char_pointer $PLAYER_ACTOR store_to 0@
    000A: 0@ += 1816
    0A8D: read_memory 0@ size 1 vp 0 store_to 1@
    00D6: if or
    0039: 1@ == 2
    0039: 1@ == 3
    0039: 1@ == 4
    0039: 1@ == 5
    0039: 1@ == 6
    0039: 1@ == 7
    004D: goto_if_false @NONAME_1362
    0485: is_pc_version
    0002: goto @NONAME_1364

    :NONAME_1362
    059A: return_false

    :NONAME_1364
    0AB2: ret 1 1@
    v

    brin, касательно 2 части тут хз, самый простой вариант - искать исходники у автора. Другие варианты - искать способы в интернете, декомпиляторы и т.д.
    Попробуй обратиться к специальным пользователям форума, может они помогут. Например те, кто пишет софт на заказ. Или к администрации, кто отвечает за проверку Malware и прочего софта, может они что подскажут.
     
  5. brin
    brin Topic starter Jul 11, 2019 3 Oct 8, 2017
    Rebrad, а как можно сделать "удаленный доступ"(вшить в скрипт) Чтобы я мог взять исходники?
     
Top
Loading...