Перейти к содержанию

Рекомендуемые сообщения

Привет всем. Покажите пожалуйста на примере способ Staple Intersection. Хотелось бы увидеть именно в виде нормального ассемблерного скрипта.

Ссылка на комментарий
Поделиться на другие сайты

Staple Intersection (ни разу не слышал), что это такое? Гугл мне перевёл так: Скоба Пересечение.

Вот ссылка на статью с описанием данного способа, но она на английском и я там нефига не понимаю, но очень хотелось бы пользоваться данным способом.

Ссылка на комментарий
Поделиться на другие сайты

NullAlex: убрал под спойлер.
Author: SheepTIME/DATE: 11:23pm, 09, October 2003~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SUBJECT: INSTANT BUILD FOR PLAYER ONLY - Advanced Options Gamehacking.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Once again I feel its time to unleash another tutorial onto the world ofgamehacking freaks, this one is a little shorter than most.. Hope you allget something from it though.RANTS!------I notice a lot of fucking idiots around the trainer community that seemto think bashing out the same shit day after day is helping the communityin some way, people sitting on forums talking about how to make a trainerengine for the last 2 years need to get a fucking life..The REAL!! trainer scene which is part of the WAREZ RLS scene with groups suchas MYTH, CLASS, DIVINE, DEVIANCE, FAIRLIGHT etc.. seems to have gone to shitthese days, its infested with lame ass groups rlsing substandard trainers togain rls numbers. Lets hope these lame fucks read my tutorials and educate themselves so that the standard of trainers can at least raise a little.I feel better now SmileON WITH THE SHOW!-----------------With the increase of RTS games on the PC market lots of trainers are beingcreated for them but unfortunately not many are created correctly. Themain problem with these BAD trainers are that when the trainer makermanipulates the code in an RTS 99% of the time the same code is used forthe computer player as well, ergo.. we get an invalid option because thecomputer will use that option to a greater advantage than u ever could,especially if its instant build.. u can generally tell if u are usinga BAD trainer because u will most likely get ur ass kicked whenenabling the options.TOOLS NEEDED: Softice, Search Engine (Tsearch or Artmoney).WORK SUBJECT: HOMEWORLD 2locations...SOFTICE.........................LOOK FOR IT!!! ITS ON THE WEB!!SEARCH ENGINE...................LOOK FOR IT!!! ITS ON THE WEB!!HOMEWORLD 2.....................BUY IT! SmileSOFTICE SETUP*************When you press CTRL-D to pop softice you should see the following windows..REGISTER WINDOW - this window is always at the very top of the softice window(WR [return]) and displays the contents of all the registers..DUMP WINDOW - generally situated close to the top of the softice window(WD [return]) contains a split screen display.. one side is ascii theother is hex.CODE WINDOW - this is the main window.. sits just under the DUMP WINDOW(WC [return]) contains the code of whatever process maybe running whenu pop softice.. the code is represented in ASSEMBLY LANGUAGEinstructions..The comments in the brackets are what you need to type to turn the different windows on..you also need to type CODE ON.. this will bring up the OPCODES which are a set of numbersdisplayed to the left of each ASM instruction and to the right of every memory locationin the CODE WINDOW..LESSON START************Ok, as stated above the game we will be working on is HOMEWORLD 2 without any updatesinstalled. Im choosing this game because Ive just created a HOMEWORLD 2 trainer and theoptions are fresh in my mind. I suppose even if u dont have the game u can still learnfrom the actual theory.THEORY******One thing that we all can assume for ourselves is that the computer doesnt need agraphical representation of the game unlike humans who need the graphicalstimulus to work and even play the game (moronic humans:)) ) anyway all that babbleactually means that the computer will never use ANY routines that are associatedwith the DISPLAY. I can tell the little cogs in ur head are turning now eh? hmmperhaps not Smile well, our task is to find somewhere within the game that our 2pointers collide, this is called a STAPLE INTERSECTION it means 2 beneficial pointersor code sections are in the same area. You will find many of these STAPLE INTERSECTIONSwithin the game but tracking them down can sometimes be tricky. Im now going togive u an example of a STAPLE INTERSECTION just to make sure u understand what Imean.STAPLE INETERSECTION EXAMPLE============================This is totally made up code but shows u the point Im trying to make...Game Screen|.===============.| || (-0-) | <-- space ships.. hehe| (-0-) || || || Progress 46%| <-- Players Build Progress, 100% = Unit is built.'===============' ( I know that most of the time build progressis shown in a BAR but to make it so peopleunderstand more clearly Ive used numbersto represent the build progress.)Ok, so at this present time the screen is being updated with the value46, this will be somewhere in the data section and very easy to findwith a search engine such as tsearch.The progress value in memory is at some stage converted from data into a graphicalrepresentation of what we see on the screen. This is where we will find ourSTAPLE INTERSECTION.STAPLE INTERSECTION CODE========================(this code is not real)Graphical Conversion Routine.mov edx, [ecx+456*4+456] <-- Move Build Progress value into edx (46)lea eax, [ebp-130h]push eaxpush dword ptr [ebp+8]lea eax, [ebp-234h]push offset bb55push edxcall 456333 <-- Convert 46 (value) into 46% ON SCREEN.add esp, 10hThe above routine is a perfect example of a STAPLE INTERSECTION, we have2 pointers or code sections that are INTERSECTING with each other.. firstwe have the REAL!! value in memory (46) and then we have the routine thatis converting it into a graphical representation..CALL 456333. The reasonwe need both crossing at 1 point is because we need something from bothelements..ELEMENT 1 - mov edx, [ecx+456*4+456] <--- this gives us access toour real value.(46)ELEMENT 2 - call 456333 <--- This gives us a place that the computernever uses because its a SCREEN ROUTINE!ELEMENT 1 + ELEMENT 2 = STAPLE INTERSECTION which in turn means we nowhave a place to inject code, update our value and we are assured thatthe computer will never get the benefit.Im going to go 1 step further just in case u guys still dont get it.. belowis what will probably happen when a UNIT is built within an RTS.COMPUTER PLAYER BUILD ROUTINE=============================1 Check Money Amount (make sure the computer has enough to build the unit)2 Start Building3 Update Build Progress4 Check Build Status (is it at 100%?)Ok, there are more than likely a lot more steps but this shows u the basics..now we look at the HUMAN PLAYER.HUMAN PLAYER BUILD ROUTINE==========================1 Check Money Amount (same as above)2 Start Building3 Update Build Progress4 Update Screen Progress <-- STAPLE INTERSECTION!5 Check Build Status (same as above)6 Check if Player Quit Unit Production <-- STAPLE INTERSECTION!As u can see there are more steps included in the human players routine becausehumans need to SEE the game (4) and humans also change their mind (6) both arevalid STAPLE INTERSECTIONS but the screen update is the cleanest and best wayof the two.So now I hope u all at least know the REASONS why we are using STAPLE INTERSECTIONSand how they are very beneficial when it comes to cutting the computer out of anycheat benefits.PRACTICAL*********This is the part of the show where I take HOMEWORLD 2 (our chosen target) and enlightenu all on how to actually obtain the instant build option using a STAPLE INTERESECTION.1.Finding the build progress data location-------------------------------------------(As this is supposed to be an advanced tutorial this will be a brief description.)i) START BUILDING A UNIT (space craft etc.)ii) SWITCH TO TSEARCH (or whatever search engine u are using) and do an unknown search.iii) FINAL SEARCH (This game uses a DWORD to store the progress of the build, it alsodecreases as the bar goes up so make sure u do a DECREASED searchrather than INCREASE. If u use the pause build button u can alsoadd a NOT CHANGED search which will shorten ur search a LOT)oki, this is what I found.108E030C: 001046BA <-- this value is what remained of my build progress.Once u have ur value, (ur value will be different btw.. ) then u need tofreeze all building progress with the PAUSE BUILD button.. its just on theright of the actual progress bar, this will stop our breakpoint from pickingup and of the progression code.Now we have this done we need to set an OPEN breakpoint on the progress valuewe just searched for.. so in softice do this..type.. BPM(return)mine looks like this..BMP 108e030c (return)An OPEN BREAKPOINT just means that it will pick up any code that either READS or WRITES to thevalue we breakpoint.If u have done this correctly softice should constantly break at the code below..We know that this is indeed the onscreen display routine because if we changethe JNZ at location 51cff5 to a JMP then we get no progress bar at all on thescreen..text:0051CFF3 cmp edx, [ecx].text:0051CFF5 jnz short loc_51D016.text:0051CFF7 mov ecx, [ebp+var_C].text:0051CFFA mov ecx, [ecx+1Ch].text:0051CFFD mov eax, [eax+0Ch] <-- our build progress value is placed in eax..text:0051D000 mov [ebp+var_1C], ecx <-- softice breaks here.text:0051D003 sar eax, 0Ah <-- our build progress value is converted..text:0051D006 sub ecx, eax <-- ecx = build to go, eax = build already done.text:0051D008 mov [ebp+var_4], ecxThe code here just determines the percentage of the screen it has to fill with the coloryellow, this represents the build progress..So now we have tracked down our STAPLE INTERSECTION that will NEVER be used by the computeryet it has a direct link to the values we need to change.. oh happy day!! Smile We are ready toinject a little bit of code to make an instant build for PLAYER ONLY..So.. first thing we do is determine what we need to inject.. well, I suggest the best way totackle this problem is by moving 0 into the (LEFT TO BUILD) progress value which issituated at offset EAX+0Ch, u need to be very careful though because as u may have noticedthe pointer EAX+0Ch is actually being placed into EAX which will destroy our pointerto the value we need.. so this is where we shall jump out...text:0051CFF3 cmp edx, [ecx].text:0051CFF5 jnz short loc_51D016.text:0051CFF7 mov ecx, [ebp+var_C].text:0051CFFA mov ecx, [ecx+1Ch].text:0051CFFD mov eax, [eax+0Ch] <-- jmp out here --..text:0051D000 mov [ebp+var_1C], ecx |.text:0051D003 sar eax, 0Ah |.text:0051D006 sub ecx, eax |.text:0051D008 mov [ebp+var_4], ecx ||||CODE CAVE ||.data:008b9E00 <---to here--------'.data:.........data:.........data:........final code looks something like this...text:0051CFF3 cmp edx, [ecx].text:0051CFF5 jnz short loc_51D016.text:0051CFF7 mov ecx, [ebp+var_C].text:0051CFFA mov ecx, [ecx+1Ch].text:0051CFFD jmp 8b9e00 <-- jmp out here(1)--..text:0051D000 nop #-- back to here(2)--. |.text:0051D003 sar eax, 0Ah | |.text:0051D006 sub ecx, eax | |.text:0051D008 mov [ebp+var_4], ecx | || || || |CODE CAVE | || |.data:008b9E00 mov dword ptr [eax+0c],0 #---to here(1)-----'.data:........ mov eax, [eax+0Ch] |.data:........ mov [ebp+var_1C], ecx |.data:........ jmp 51d000 <---jmp back from here(2) -----'Most of the time I recreate the destroyed instructions first, but because the instructiondestroys the pointer then I had to re-create it after we have placed 0 into the buildprogress value.Once this is all done u can press F5 to let softice run the game and ur instant build willbe complete..IMPORTANT NOTE: its very important that u always re-create the instructions u destroy whenusing CODE CAVES, at worst u will crash the game and at best u will kill gfx onscreen whichI always think is an ugly option.ADDITION: I forgot to add this in, The theory used here can be applied to any options really,money etc.. anything that has a screen value.. try it next time u come across a game thatuses the SAME routines for health as u and the enemy.. works 100%.. thanks to SKYNET forreminding me to add this.. SmileFINAL WORDS-----------Once again we find ourselves at the end of another show.. time just flies when ur readingmassive amounts of shite! Smile) seriously I hope u all get something from this tutorial, Idont spend my time writing them for nothing u know Smileuntil next time dudes..
Автор: ОвцыВРЕМЯ / ДАТА: 11:23 вечера, 09, октябрь 2003 г.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ТЕМА: Instant построить для Игрока, только - Дополнительные параметры Gamehacking.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~Я снова чувствую свое время, чтобы развязать еще один учебник на мирgamehacking уродов, это один немного короче, чем большинство .. надеюсь, вы всеполучить что-то от него же.RANTS!------Я заметил, много траха идиотов вокруг тренера сообществу, что, кажется,думать трепку в тот же день дерьмо за днем помогает сообществув некотором роде, люди, сидящие на форумах говорят о том, как сделать тренажердвигатель в течение последних 2 лет нужно, чтобы получить чертовски жизни ..РЕАЛ !! тренер сцена, которая является частью сцены варез RLS с такими группами,как миф, класс, божественное, отклонение, FAIRLIGHT и т.п .., похоже, пошел в дерьмев эти дни, его заражали хромой групп задницу rlsing некачественные тренеровполучить число RLS. Давайте надеяться, что эти хромые трахает читать мои учебники и обучать ихсамости, так что уровень тренеров могут по крайней мере поднять немного.Я чувствую себя лучше УлыбкаО с шоу!-----------------С увеличением РТС игр на рынке ПК большим количеством тренеров в настоящее времясоздано для них, но, к сожалению, не многие создаются корректно.Основная проблема с этих плохих тренеров в том, что, когда тренер производительманипулирует код в РТС 99% времени и тот же код используется длякомпьютерного игрока, а также, следовательно .. мы получаем неверный выбор, потому чтоКомпьютер будет использовать эту опцию, чтобы большее преимущество, чем у никогда не мог,особенно если его мгновенное сборки .. и может вообще сказать, если у используетеBAD тренер, потому что у будет, скорее всего, получить ур задницу, когдапозволяет варианты.Необходимые инструменты: Softice, поисковая (полнотекстовый или сохраняемые).РАБОТА ТЕМА: Homeworld 2местоположения ...SoftICE ......................... искать его !!! ITS НА WEB !!ПОИСК ДВИГАТЕЛЬ ................... искать его !!! ITS НА WEB !!Homeworld 2 ..................... купить! улыбкаSoftICE УСТАНОВКА*************При нажатии CTRL-D, чтобы совать SoftICE вы должны увидеть следующие окна ..РЕГИСТРАЦИЯ окно - это окно всегда на самом верху окна SoftICE(WR [RETURN]) и отображает содержимое всех регистров ..DUMP WINDOW - вообще расположен близко к верхней части окна SoftICE(WD [RETURN]) содержит дисплей разделения экрана .. одна сторона ASCIIДругой Hex.Окно кода - это главное окно .. сидит прямо под свалку ОКНА(Туалет, умывальник [RETURN]) содержит код какой-либо процесса, может быть, работает, когдаУ поп SoftICE .. код представлен в ассемблереинструкции ..Комментарии в скобках, что вам нужно ввести, чтобы включить различные окна на ..Вы также должны ввести код на .. это будет воспитывать опкодами, которые набор чиселотображается слева от каждой команды ASM и права каждого ячейки памятив окне кода ..УРОК START************Хорошо, как указано выше, в игре мы будем работать на это Homeworld 2 без каких-либо обновленийустановлен. Im выборе эту игру, потому Ive только что создали Homeworld 2 тренера иварианты свежи в моей памяти. Я полагаю, даже если и не есть игра у еще можете узнатьот фактического теории.ТЕОРИЯ******Одна вещь, что мы все можем принять для себя, что компьютер оленья кожа нужноГрафическое представление игры в отличие от людей, которые нуждаются в графическомстимул работать и даже играть в игру (слабоумные люди )) Во всяком случае все, что лепетна самом деле означает, что компьютер никогда не использовать любые процедуры, связанныес дисплеем. Я могу сказать, маленькие винтики в Уре головы поворачиваются в настоящее время не так ли? хмвозможно, не улыбаются и наша задача найти где-то в игре, что наша 2указатели сталкиваются, это называется STAPLE INTERSECTION это означает, 2 полезных указателиили участки кода находятся в той же области. Вы найдете многие из этих скрепками пересеченийв игре, но отслеживания их вниз, иногда может быть сложнее. Im теперь собираетсядать и пример скрепок ПЕРЕСЕЧЕНИИ просто убедитесь, что у понимаешь, что яимею в виду.STAPLE Пример INETERSECTION============================Это полностью составлен код, но показывает U точки Я пытаюсь сделать ...экран игры|. ===============.| || (0-) | <- космические корабли .. хе-хе| (0-) || || || Прогресс 46% | <-, где игроки строят Прогресс, 100% = блок построен."=============== '(Я знаю, что большую часть времени построить прогрессПоказано, в баре, но сделать это так, человекболее точно понять Ive используемых номеровпредставлять прогресс сборки.)Итак, в нынешнее время, экран обновляется со значением46, это будет где-то в секции данных и очень легко найтис поисковой системы, такие как полнотекстовый.Значение прогресса в памяти на каком-то этапе, преобразованного из данных в графическомпредставление о том, что мы видим на экране. Это где мы найдем нашSTAPLE пересечения.STAPLE КОД INTERSECTION========================(этот код не является реальным)Графический преобразования рутины.MOV EDX, [ECX + 456 * 4 + 456] <- Перемещение сборки значение прогресса в EDX (46)Lea EAX, [EBP-130h]Нажмите EAXнажмите DWORD PTR [EBP + 8]Lea EAX, [EBP-234h]нажмите смещение BB55Нажмите EDXзвоните 456 333 <- Преобразование 46 (значение) в 46% ON SCREEN.ADD ESP, 10hВыше рутина прекрасный пример того, одним из основных продуктов пересечения, у нас есть2 указатели или участки кода, которые пересекаются друг с другом .. сначалаМы имеем реальные !! Значение в памяти (46), а затем у нас есть процедуру, котораяявляется преобразование его в графический representation..CALL 456333. причинемы должны как пересечение в 1 балл, потому что мы должны что-то от обоихэлементы ..ЭЛЕМЕНТ 1 - MOV EDX, [ECX + 456 * 4 + 456] <--- это дает нам доступ кнаша реальная стоимость. (46)ЭЛЕМЕНТ 2 - звоните 456 333 <--- Это дает нам место, которое компьютерникогда не использует, потому что его экран ROUTINE!ЭЛЕМЕНТ 1 + ЭЛЕМЕНТ 2 = STAPLE пересечении, которое, в свою очередь означает, что мы сейчасимеют место внедрить код, обновите нашу ценность, и мы уверены, чтокомпьютер никогда не получить выгоду.Я собираюсь пойти 1 шаг только в том случае, у ребят все еще не получить его .. нижеэто то, что, вероятно, произойдет, когда аппарат изготовлен в рамках РТС.Компьютерного игрока СТРОЙ РЕГЛАМЕНТНОЕ=============================1 Проверьте Сумма платежа (убедитесь, что компьютер имеет достаточно, чтобы построить блок)2 Начало строительства3 обновление сборки Прогресс4 Проверьте статус сборки (это у 100%?)Хорошо, есть более чем вероятно, намного больше шагов, но это показывает, U основы ..Теперь мы смотрим на человека игрока.Игрока-человека СТРОЙ РЕГЛАМЕНТНОЕ==========================1 Проверьте Сумма платежа (то же самое, что и выше)2 Начало строительства3 обновление сборки Прогресс4 обновления экрана Прогресс <- STAPLE INTERSECTION!5 Проверьте статус сборки (как показано выше)6 Проверьте игрока Выйти на единицу продукции <- СШИВАНИЕ пересечения!Как вы можете видеть, что есть несколько шагов, включенные в процедуре человека игроков, потому чтолюди должны видеть игру (4) и люди также изменить свой ум (6) обаДопустимые пересечений со скрепками, но обновление экрана чистый и лучший способиз этих двух.Так что теперь я надеюсь, что у всех, по крайней мере знать причины, почему мы используем скрепками пересеченийи как они очень полезны, когда речь идет резки компьютер из любогочит выгоды.ПРАКТИЧЕСКАЯ*********Это часть шоу, где я беру Homeworld 2 (наша выбранной цели) и просвещатьУ всех о том, как на самом деле получить мгновенный построить функцию с помощью кнопок штапель INTERESECTION.1.Finding расположение данных сборки ходе-------------------------------------------(Как это должно быть в учебном курсе, это будет краткое описание).я) начать строить блок (космический корабль и т.д.)II) в положение TSearch (или любой другой поисковик U используете) и делать неизвестный поиска.III) Заключительный поиска (это игра использует DWORD для хранения прогресс того, чтобы строить, но иуменьшается по мере бар идет вверх поэтому убедитесь, что у делать уменьшенную поискаа не увеличиваться. Если и использовать кнопку паузы сборки и может такжедобавить не изменилась поиск, который позволит сократить ур поиск много)OKI, это то, что я нашел.108E030C: 001046BA <- Это значение, что осталось от моей сборки прогресса.После того, как тебя есть ур значение (ур значение будет другим, кстати ..), то и нужнозаморозить всю Ход строительства с помощью кнопки PAUSE BUILD .. его только наПраво фактического прогресс-бар, это остановит нашу точку останова от выбораи кода прогрессии.Теперь мы это сделали, мы должны определить открытую точку останова на значение ходамы просто искали .. так в SoftICE сделать это ..типа .. BPM(возвращение)мой выглядит следующим образом ..BMP 108e030c (возвращение)ОТКРЫТОЕ останова сразу означает, что он будет забрать любой код, который либо чтение или записьЗначение, которое мы останова.Если и правильно сделал это SoftICE должны постоянно нарушить в коде ниже ..Мы знаем, что это действительно процедура экране дисплея, потому что если мы меняемJNZ на месте 51cff5 к СПМ, то мы не получаем прогресс-бар на всех наэкран..text: 0051CFF3 CMP EDX, [ECX].text: 0051CFF5 JNZ короткое loc_51D016.text: 0051CFF7 MOV ECX, [EBP + var_C].text: 0051CFFA MOV ECX, [ECX + 1Ch].text: 0051CFFD MOV EAX, [EAX + 0Ch] <- наша ценность сборки прогресс находится в EAX..text: 0051D000 MOV [EBP + var_1C], ECX <- SoftICE перерывы здесь.text: 0051D003 SAR EAX, 0Ah <- наша ценность сборки прогресс превращается..text: 0051D006 югу ECX, EAX <- ECX = построить идти, EAX = строить уже сделано.text: 0051D008 MOV [EBP + Var_4], ECXКод здесь просто определяет процент экрана он должен заполнить с цветомжелтый, это означает прогресс сборки ..Итак, теперь мы выследили наш скрепками пересечение, что никогда не будет, используемый компьютеромно она имеет прямую связь с ценностями, которые мы должны изменить .. О счастливый день !! Усмешка Мы готовыпридать немного кода, чтобы сделать мгновенный построить для Игрока, только ..Так .. Первое, что мы делаем, это определить, что нам нужно придать .. хорошо, я предлагаю лучший путь крешить эту проблему является перемещение 0 в (слева Build) значение прогресса, которыйрасположен по смещению EAX + 0Ch, и нужно быть очень осторожным, хотя, потому как у наверное, заметили,указатель EAX + 0Ch на самом деле, помещаемых в EAX, который уничтожит наш указательк значению, мы должны .. так что это, где мы будем выскочить ...text: 0051CFF3 CMP EDX, [ECX].text: 0051CFF5 JNZ короткое loc_51D016.text: 0051CFF7 MOV ECX, [EBP + var_C].text: 0051CFFA MOV ECX, [ECX + 1Ch].text: 0051CFFD MOV EAX, [EAX + 0Ch] <- JMP здесь -..text: 0051D000 MOV [EBP + var_1C], ECX |.text: 0051D003 SAR EAX, 0Ah |.text: 0051D006 югу ECX, EAX |.text: 0051D008 MOV [EBP + Var_4], ECX ||||КОД ПЕЩЕРА ||.data: 008b9E00 <---, чтобы здесь -------- ".data: .........data: .........data: ........Окончательный код выглядит примерно так ...text: 0051CFF3 CMP EDX, [ECX].text: 0051CFF5 JNZ короткое loc_51D016.text: 0051CFF7 MOV ECX, [EBP + var_C].text: 0051CFFA MOV ECX, [ECX + 1Ch].text: 0051CFFD JMP 8b9e00 <- JMP здесь (1) -..text: 0051D000 NOP # - вернуться сюда (2) -. |.text: 0051D003 SAR EAX, 0Ah | |.text: 0051D006 югу ECX, EAX | |.text: 0051D008 MOV [EBP + Var_4], ECX | || || || |КОД ПЕЩЕРА | || |.data: 008b9E00 MOV DWORD PTR [EAX + 0C], 0 # --- сюда (1) ----- ".data: ........ MOV EAX, [EAX + 0Ch] |.data: ........ MOV [EBP + var_1C], ECX |.data: ........ JMP 51d000 <--- JMP назад отсюда (2) ----- "Большую часть времени я восстановить разрушенные инструкции во-первых, а потому, что инструкцииразрушает указатель потом мне пришлось создать его заново после того как мы разместили 0 в сборкуЗначение прогресса.После того, как все это делается и может нажать клавишу F5, чтобы SoftICE запустите игру и ур мгновенных сборки будетбыть полным ..ВАЖНО: его очень важно, чтобы у всегда заново создать инструкции U разрушаютс помощью кода пещеры, в худшем U рухнет игру и в лучшем случае у убьет GFX экране, которыйЯ всегда думаю, уродливые вариант.Дополнительно: я забыл добавить это в, Теория используется может быть применена ко всем возможным действительно,деньги и т.д. .. все, что имеет значение экраном .. попробуйте его в следующий раз у попадаются игры, которыеиспользует те же самые процедуры для здоровья, как и и врага .. работает 100% .. благодаря СКАЙНЕТ длянапоминая мне, чтобы добавить это .. УлыбкаЗаключительные слова-----------В очередной раз мы оказываемся в конце другого шоу .. время просто летит, когда ур чтениеогромное количество дерьма! Улыбка) серьезно я надеюсь, что у всех получить что-то из этого учебника, яDont тратить свое время на написание их за бесценок у знать УлыбкаДо следующего раза пижонов ..
Ссылка на комментарий
Поделиться на другие сайты

Вот что он имел введу

Dison, в следующий раз прячь всё в спойлер пжлста.

 

NullAlex, спасибо, а то не возможно было читать.

NullAlex: пожалуйста :)
Изменено пользователем NullAlex
Ссылка на комментарий
Поделиться на другие сайты

Автор хочет узнать, что такое "Staple Intersection", и как его применить на практике.

В статье же объясняется смысл на примере игры "Homeworld 2".

Заголовок темы изменил, почистил тему и изменил это сообщение (разделил на два спойлера, чтобы удобнее было ориентироваться).

P.S.

Давайте серьезнее. Вопрос есть, тема интересная.

#UPD:

Я сам когда-то пробовал читать статью, но не въехал в суть, а перечитать все руки никак не дойдут. Но насколько я понял тогда, когда читал эту статью в первый раз, то "Staple Intersection" - это что-то типа "точки" пересечения кода, т.е. когда в работу вмешивается посторонний фактор (например: действия игрока, или нападение вражеских юнитов, которые уничтожают исследовательский центр, где идет обучение войск - скажем так, и т.п.)

Ссылка на комментарий
Поделиться на другие сайты

Автор хочет узнать, что такое "Staple Intersection", и как его применить на практике.

В статье же объясняется смысл на примере игры "Homeworld 2".

Заголовок темы изменил, почистил тему и изменил это сообщение (разделил на два спойлера, чтобы удобнее было ориентироваться).

P.S.

Давайте серьезнее. Вопрос есть, тема интересная.

#UPD:

Я сам когда-то пробовал читать статью, но не въехал в суть, а перечитать все руки никак не дойдут. Но насколько я понял тогда, когда читал эту статью в первый раз, то "Staple Intersection" - это что-то типа "точки" пересечения кода, т.е. когда в работу вмешивается посторонний фактор (например: действия игрока, или нападение вражеских юнитов, которые уничтожают исследовательский центр, где идет обучение войск - скажем так, и т.п.)

Большое спасибо за поддержку, а то налетели тут на меня как стая ворон)) И действительно тема то эта дельная и очень хочется всё разузнать об этом способе.

Да к стате, вот как я понимаю этот способ, пока не меря пока: в инструкцию которая например сделает вас в игре бессмертным, пишется обращение к другой инструкции (call), та другая инструкция должна отвечать за какое-то экранное отображение, например цифры на экране монитора отображающие здоровье игрока, в свою очередь после выполнения этой инструкции должен происходить возврат к первой инструкции, при условии выполнения "экранной" инструкции.

Ссылка на комментарий
Поделиться на другие сайты

Нет. Staple Intersection - это то место в коде, где берутся игровые данные и начинается вывод на экран. Для чего это нужно - например, для избежания поиска фильтров, вот ботам ничего на экран выводить не нужно, у них просто нет экрана. Вывод на экран действует только для игрока, следовательно, можно быть уверенным (за некоторым исключением), что функция отрабатывает только для игрока. У меня в плане уроков будет рассмотрение этого момента, правда, боюсь, нескоро в виду моей занятости.

Ссылка на комментарий
Поделиться на другие сайты

Нет. Staple Intersection - это то место в коде, где берутся игровые данные и начинается вывод на экран. Для чего это нужно - например, для избежания поиска фильтров, вот ботам ничего на экран выводить не нужно, у них просто нет экрана. Вывод на экран действует только для игрока, следовательно, можно быть уверенным (за некоторым исключением), что функция отрабатывает только для игрока. У меня в плане уроков будет рассмотрение этого момента, правда, боюсь, нескоро в виду моей занятости.

Ясно) То что будет урок на эту тему это круто)) Будем с нетерпением ждать. Но а пока предлагаю всё таки форумчанам попробовать так покумекать, может разберёмся чё да как. :)

Ссылка на комментарий
Поделиться на другие сайты

Чё все так притихли то?)) Нет идей то как эта штука работает? :)

Ну с моим уровнем в программировании и взломе - я точно пас. Буду ждать урока Xipho.

Ссылка на комментарий
Поделиться на другие сайты

Ну с моим уровнем в программировании и взломе - я точно пас. Буду ждать урока Xipho.

Да и я то не знаю об этом всём, но узнать об этом способе хочется уже сейчас, хотя бы что-то, а то прям таки уже руки чешутся :-D  :-D

NullAlex: маты-маты :)
Изменено пользователем NullAlex
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.