黑客game入门(黑客编程游戏)

hacker2年前黑客资讯119

本文目录一览:

黑客 *** 新手指南翻译大全 黑客 *** Hacknet新手怎么玩

黑客 *** Hacknet你会玩了吗?小伙伴们是不是正在为看不懂英文而烦恼呢,不要烦恼,今日小编为大家带来最全的新手指南,全中文翻译哦,感兴趣的玩家赶紧来看看吧!

Basic Tips 基础窍门

***IMPORTANT*** Some computers/servers may have different names on them, but what you need to do should be the same. Just follow the steps, you will be fine.

***非常重要*** 有些电脑/服务器可能有不同的名字,但你所要做的应该相同。遵循如下步骤,您就不会有问题。

DON'T abandon any missions atm!! It will most likey cause serious problems and make you unable to finish the game!

眼下,***请勿***放弃任何任务!!这很可能导致严重问题并最终无法完成游戏,毁掉您的存档!

1, Type commands as soon as possible.

2, Delete logs when you disconnect.

3, You need to reply almost every time you finish a mission.

4, Always use "Scan Network" option when you successfully hack a computer.

5, Don't delete/rename files unnecessarily. -This is important!!

6, Use auto-complete for commands and file names. (Tab key)

7, Always use "admin" "alpine" to log in to any eos devices.

1.尽速输入指令。(译者:更要善用Tab)

2.断线前别忘了删log。(译者:虽然我不删也没有什么麻烦……)

3.不要忘了完成任务时回复邮件。(极少数情况不需要)

4.成功骇入电脑时总扫描一遍主机。(译者:★★★★★推荐)

5.无必要时不要删除/重命名任何文件!—十分重要。

6.使用“自动拼写”(Tab键)输入指令及文件名。

7.不要忘了“admin”“alpine”这神奇的eos设备账户。

译者:即使你希望独立完成游戏,我也非常推荐您阅读这些提示,它们非常有用。另外我在此补充几条。

(但愿我没记错……)

1.SQL的入侵工具和K *** ,即104端口入侵工具可以忽视Proxy和Firewall。

2.Firewall和Proxy的破解是独立的,你可以一边破解proxy一边 *** ysis。更有甚者,用Tracekill可以允许您慢悠悠地破解完Firewall,再攻破proxy。

3.在shell里按overload破解proxy,对吧?然而如果内存不足,这些窗口会折叠,并在内存足够时展开。(如果我说的不清楚,可以试着在您的电脑上运行一堆shell并点按trap,然后关掉其中一个窗口。)除了略有点壮观以外,这是个“储存”足够多shell的小技巧。

4.不过,5~7个shell一般够了。

5.在几次 *** yze后弹出的几行文字里应该会各有一个字符,如果某一行里全是”0”怎么办?有时这意味着所对应的代码就是0。例如:(只是示范)

0 0 0 0 0 0 0 0 0 0 2 0 0 0

0 0 0 0 0 5 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

结果就是250。(我才不是250呢!)

Troubleshooting Common Problems

Q, I don't get an email to start a new mission!! What do I do now!?

A, Make sure to check following things:

1, Your previous mission has finished. (Click "Reply" in the email for it and see if "Mission Incomplete" message shows up.)

2, You don't have any available missions in your current faction's contracts server. (Or the message board if you're working on /el missions.)

3, Restart your game and your problem is still there.

常见问题解决方案。(疑难杂症)

Q:我得不到开始新任务的邮件!!我该怎么办!

A:出门检查您的邮筒(划掉)。请确认您已检查过以下条件。

1.你上一个的任务已完成。[尝试点按邮件中的“Reply”(回复)看会不会出现“Mission incomplete”(任务未完成)。]

2.在您现在所处的派系(Entropy,CSEC,…)没有可用的任务,或者

在/el任务里信息板上没有任务。

3.重启游戏问题仍存在。

For "gg wp" from Naix, you need to revenge Naix BEFORE you start any new Entropy mission. Details in "Naix Missions" section below.

对于Naix的“友善问好”,你要在完成Entropy任务***之前***对Naix报仇。下面的“Naix任务”一栏会给您帮助。

If none of these helps you, you might have had a critical bug... The devs are working on an update to fix many bugs, so wait for it... Meanwhile, you still can try 2 options:

1, Editing your save data (Here's the link: http:// Be super careful with your savedata.)

2, Start a new session (This is much easier... You also can work on achievements that you missed.)

若以上几条都不起作用,您已无药可救了(划掉)。您可能遇到了一个严重的bug(您不会连bug也不知道吧?)。开发者们(们?)在致力于更新游戏以修正bug。所以只能等了。

在此时,您可以尝试以下 *** 。

1.编辑您的存档。(敬参阅{链接已删除}请特别小心对待您的存档)

2.再开个存档。(不仅简单多了,还可以去做您以前忽略的成就。)

Q, I don't have the necessary exe file to do this mission!! UGGHHHH

A, Here is the list of exe files, and in which mission you can find them. Use "CTRL+F" on this guide and search for them.

Q.我怎么没有做任务所需的工具!!啊啊啊!!

A.这是exe文件列表及其来源,用"CTRL+F"在这指南里搜索一下。

SecurityTracer.exe - "First Contact", or on "Credit Server" after you finish the game.

SSHcrack.exe (for port 22) - "Getting Some tools together"

FTPBounce.exe (for port 21) - "Welcome"

eosDeviceScan.exe (for finding eos device) - "eOS Device Scanning"

*** TPoverflow.exe (for port 25) - "Aggression must be punished"

WebServerWorm.exe (for port 80) - "***Revenging Naix***", or "CSEC Invitation"

SQLBufferOverflow.exe (for port 1433) - "-Shrine of Polar Star-"

SQL_MemCorrupt.exe (for port 1433) - "CSEC Invitation - Congratulations"

Decypher.exe (for decrypting files) - "Ghosting the Vault"

DECHead.exe (for *** yzing .dec files) - "Through the Spyglass"

K *** _PortTest.exe (for port 104) - "Project Junebug"

TraceKill.exe (for freezing traces) - "Bit -- Foundation"

Sequencer.exe (for the final hacking) - "Bit -- Termination"

Clock.exe (Um...just a clock app) - Read "-Finding Clock.exe-"

SecurityTracer.exe(安全追踪程序) -来自 "First Contact"(之一次沟通), 或在完成游戏时的"Credit Server" (荣誉服务器)上。

SSHcrack.exe (ssh协议破解器)(适用端口 22) - "Getting Some tools together"(收集些工具)

FTPBounce.exe (ftp“跳转攻击”破解器)(适用端口21) - "Welcome"(欢迎)

eosDeviceScan.exe(eos设备搜寻器) (适用寻找eos设备) - "eOS Device Scanning"(搜寻eos设备)

*** TPoverflow.exe(邮件过载破解器) (适用端口25) - "Aggression must be punished"(侵略者必将受惩处)

WebServerWorm.exe ( *** 蠕虫破解器)(适用端口80) - "***Revenging Naix***"(向Naix复仇 译者:这不是一个官方给出的任务名,我没记错的话。), or "CSEC Invitation"(CSEC诚邀您到来)

SQLBufferOverflow.exe (SQL内存缓冲区过载破解器)(适用端口1433) - "-Shrine of Polar Star-"(北极星圣地)

SQL_MemCorrupt.exe(SQL_内存错误破解器) (for port 1433) - "CSEC Invitation - Congratulations"(CSEC邀请-祝贺!)

(译者:根据另一个指南,这两个SQL破解器完全一样。)

Decypher.exe (解密器)(适用解密文件) - "Ghosting the Vault"[拱顶鬼神(?)]

DECHead.exe (十六进制文件头查看器/加密文件查看器?)(适用分析加密文件) - "Through the Spyglass"(通过望远镜)

K *** _PortTest.exe[K *** 端口测试器(其实也是破解器。)] (适用端口104) - "Project Junebug"(Junebug项目)

TraceKill.exe(阻止追踪) (适用冻结追踪) - "Bit -- Foundation"(Bit-支柱)

Sequencer.exe(排序器) (适用最后骇入) - "Bit -- Termination"(Bit-终局)

Clock.exe (钟)(Hmm…只是个钟的软件) - Read "-Finding Clock.exe-"(敬参阅“寻找‘Clock.exe’”)

For K *** _PortTest.exe, you can try this method if you don't get "Project Junebug" unlocked, or mistakenly abandoned it. Thank you, Elsarild!

对于K *** _PortTest.exe,若您没有解锁“Junebug项目”,或失误取消了这个任务,可以试试这个 *** 。谢谢您,Elsarild!

http://

Q, I can't use this command somehow!! Fuuuuuuuuuuuuuuu

A, Make sure to check if you already have the necessary exe for the command, then try typing commands like below:

Q,由于某种原因我没法用这命令!(根据相关法律法规和政策,该信息不予公布)

A,确认您已具备所需的软件,然后根据以下范例输入命令。

译者:Hacknet的命令似乎更接近Linux。

Command Template - Example

命令 样板 - 范例

scp [the file's name] - scp index.html

connect [the IP address] - connect 103.33.8.643

cd [the folder path] - cd /log

replace [the file's name] "[target words]" "[your words]" - replace template.txt "[FIRST_NAME]" "John"

(If you use "cat" and open the file, you can use 'replace "[FIRST_NAME]" "John" ' instead. Use the full command above if you get "Assuming active flag file" error.)

Decypher [the file's name] [its password] - Decypher naix_secrets.dec D1CKS

DECHead [the file's name] - DECHead naix_private_photos.dec

mv [target's name] [new name] - mv template.txt Boorman_John[111]

scp (文件传输)[the file's name(文件名)] - scp index.html

connect(连接) [the IP address(IP地址)] - connect 103.33.8.643

cd (改变目录)[the folder path(文件地址)] - cd /log

replace(替换) [the file's name(文件名)] "[target words(文件中目标文字)]" "[your words(你想要替代它的文字)]" - replace template.txt "[FIRST_NAME]" "John"

[若您使用cat打开文件,你可以使用以下命令:“replace "[FIRST_NAME]" "John"”,若得到"Assuming active flag file"(译者:我对这句实在没辙……抱歉……)错误则打全整条命令。]

Decypher [the file's name(文件名)] [its password(其密码,有时没有)] - Decypher naix_secrets.dec D1CKS

mv(移动) [target's name(目标文件名)] [new name(新名)] - mv template.txt Boorman_John[111]

;wfr=spiderfor=pc

经常听黑客谈灰鸽子,请问灰鸽子是什么东西?

灰鸽子是国内一款著名后门。比起前辈冰河、黑洞来,灰鸽子可以说是国内后门的集大成者。其丰富而强大的功能、灵活多变的操作、良好的隐藏性使其他后门都相形见绌。客户端简易便捷的操作使刚入门的初学者都能充当黑客。当使用在合法情况下时,灰鸽子是一款优秀的远程控制软件。但如果拿它做一些非法的事,灰鸽子就成了很强大的黑客工具。这就好比火药,用在不同的场合,给人类带来不同的影响。对灰鸽子完整的介绍也许只有灰鸽子作者本人能够说清楚,在此我们只能进行简要介绍。

灰鸽子客户端和服务端都是采用Delphi编写。黑客利用客户端程序配置出服务端程序。可配置的信息主要包括上线类型(如等待连接还是主动连接)、主动连接时使用的公网IP(域名)、连接密码、使用的端口、启动项名称、服务名称,进程隐藏方式,使用的壳, *** ,图标等等。

灰鸽子(Backdoor.Huigezi)作者现在还没有停止对灰鸽子的开发,再加上有些人为了避开杀毒软件的查杀故意给灰鸽子加上各种不同的壳,造成现在 *** 上不断有新的灰鸽子变种出现。尽管瑞星公司一直在不遗余力地收集最新的灰鸽子样本,但由于变种繁多,还会有一些“漏网之鱼”。如果您的机器出现灰鸽子症状但用瑞星杀毒软件查不到,那很可能是中了还没有被截获的新变种。这个时候,就需要手工杀掉灰鸽子。

手工清除灰鸽子并不难,重要的是我们必须懂得它的运行原理。

灰鸽子的运行原理

灰鸽子木马分两部分:客户端和服务端。黑客(姑且这么称呼吧)操纵着客户端,利用客户端配置生成出一个服务端程序。服务端文件的名字默认为G_Server.exe,然后黑客通过各种渠道传播这个木马(俗称种木马或者开后门)。种木马的手段有很多,比如,黑客可以将它与一张图片绑定,然后假冒成一个羞涩的MM通过 *** 把木马传给你,诱骗你运行;也可以建立一个个人网页,诱骗你点击,利用IE漏洞把木马下载到你的机器上并运行;还可以将文件上传到某个软件下载站点,冒充成一个有趣的软件诱骗用户下载……

G_Server.exe运行后将自己拷贝到Windows目录下(98/xp下为系统盘的windows目录,2k/NT下为系统盘的Winnt目录),然后再从体内释放G_Server.dll和G_Server_Hook.dll到windows目录下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三个文件相互配合组成了灰鸽子服务端,有些灰鸽子会多释放出一个名为G_ServerKey.dll的文件用来记录键盘操作。注意,G_Server.exe这个名称并不固定,它是可以定制的,比如当定制服务端文件名为A.exe时,生成的文件就是A.exe、A.dll和A_Hook.dll。

Windows目录下的G_Server.exe文件将自己注册成服务(9X系统写注册表启动项),每次开机都能自动运行,运行后启动G_Server.dll和G_Server_Hook.dll并自动退出。G_Server.dll文件实现后门功能,与控制端客户端进行通信;G_Server_Hook.dll则通过拦截API调用来隐藏病毒。因此,中毒后,我们看不到病毒文件,也看不到病毒注册的服务项。随着灰鸽子服务端文件的设置不同,G_Server_Hook.dll有时候附在Explorer.exe的进程空间中,有时候则是附在所有进程中。

灰鸽子的手工检测

由于灰鸽子拦截了API调用,在正常模式下木马程序文件和它注册的服务项均被隐藏,也就是说你即使设置了“显示所有隐藏文件”也看不到它们。此外,灰鸽子服务端的文件名也是可以自定义的,这都给手工检测带来了一定的困难。

但是,通过仔细观察我们发现,对于灰鸽子的检测仍然是有规律可循的。从上面的运行原理分析可以看出,无论自定义的服务器端文件名是什么,一般都会在操作系统的安装目录下生成一个以“_hook.dll”结尾的文件。通过这一点,我们可以较为准确手工检测出灰鸽子木马。

由于正常模式下灰鸽子会隐藏自身,因此检测灰鸽子的操作一定要在安全模式下进行。进入安全模式的 *** 是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择“Safe Mode”或“安全模式”。

1、由于灰鸽子的文件本身具有隐藏属性,因此要设置Windows显示所有文件。打开“我的电脑”,选择菜单“工具”—》“文件夹选项”,点击“查看”,取消“隐藏受保护的操作系统文件”前的对勾,并在“隐藏文件和文件夹”项中选择“显示所有文件和文件夹”,然后点击“确定”。

2、打开Windows的“搜索文件”,文件名称输入“_hook.dll”,搜索位置选择Windows的安装目录(默认98/xp为C:\windows,2k/NT为C:\Winnt)。

3、经过搜索,我们在Windows目录(不包含子目录)下发现了一个名为Game_Hook.dll的文件。

4、根据灰鸽子原理分析我们知道,如果Game_Hook.DLL是灰鸽子的文件,则在操作系统安装目录下还会有Game.exe和Game.dll文件。打开Windows目录,果然有这两个文件,同时还有一个用于记录键盘操作的GameKey.dll文件。

经过这几步操作我们基本就可以确定这些文件是灰鸽子木马了,下面就可以进行手动清除。另外,如果你发现了瑞星杀毒软件查不到的灰鸽子变种,也欢迎登陆瑞星新病毒上报网站()上传样本。

灰鸽子的手工清除

经过上面的分析,清除灰鸽子就很容易了。清除灰鸽子仍然要在安全模式下操作,主要有两步:1、清除灰鸽子的服务;2删除灰鸽子程序文件。

注意:为防止误操作,清除前一定要做好备份。

一、清除灰鸽子的服务

2000/XP系统:

1、打开注册表编辑器(点击“开始”-》“运行”,输入“Regedit.exe”,确定。),打开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services注册表项。

2、点击菜单“编辑”-》“查找”,“查找目标”输入“game.exe”,点击确定,我们就可以找到灰鸽子的服务项(此例为Game_Server)。

3、删除整个Game_Server项。

98/me系统:

在9X下,灰鸽子启动项只有一个,因此清除更为简单。运行注册表编辑器,打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run项,我们立即看到名为Game.exe的一项,将Game.exe项删除即可。

二、删除灰鸽子程序文件

删除灰鸽子程序文件非常简单,只需要在安全模式下删除Windows目录下的Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文件,然后重新启动计算机。至此,灰鸽子已经被清除干净。

小结

本文给出了一个手工检测和清除灰鸽子的通用 *** ,适用于我们看到的大部分灰鸽子木马及其变种,然而仍有极少数变种采用此种 *** 无法检测和清除。同时,随着灰鸽子新版本的不断推出,作者可能会加入一些新的隐藏 *** 、防删除手段,手工检测和清除它的难度也会越来越大。当你确定机器中了灰鸽子木马而用本文所述的 *** 又检测不到时,更好找有经验的朋友帮忙解决。

怎么 *** 游戏修改器,要简单化

游戏修改器 *** -黑客入门

工具:SoftICE、金山游侠2002、VC++7.0、PE查看器、SPY++

测试平台:Window2000 Professional SP2

首先我介绍一下将会用到的工具:

1、 SoftICE(不用多说了吧,我想你应该会用)

2、 金山游侠2002(这个你也应该会用)

3、 VC++7.0(不要求你一定会用,但至少应该会一种编程工具)

4、 PE查看器(你可以随意找一个,没有也没关系,我会教你用SoftICE查看)

5、 SPY++(VC里的一个查看程序信息的工具,你可以和别的,比如Delphi和C++Builder的WinSight32)

然后就是你应该会的知识:

1、 汇编基础

2、 一些编程基础,至少应该看懂我介绍的几个API函数

3、 PE文件结构的基础,不会也没关系,我会解释给你

以上几点你都具备了的话我们就可以开始了。

我来介绍一下我要教给你的东西。想必大家都玩过PC游吧,那么也一定用过一些专用的游戏修改器吧,比如暗黑,红警,大富翁这些经典的游戏都有它们专用的修改器,注意,我说的不是FPE之类的通用修改工具。

你试没试过用金山游侠修改红警二的金钱?如果有的话你应该知道每玩一次就要改一次,因为这个游戏是动态分配内存的,每次重新开始都会改变。所以你会选择到网上去下载一个专用的修改器,那么你有没有想过自己做一上呢?想过?那你为什么不做?什么不会?那就好办了,看了这篇教程你就会了:D费话少说,我来讲一下原理。

有一些经常修改游的朋友一定会知道,不论游戏中“物品”的内存地址是否是动态的,物品与物品之间相隔的距离都是不变的,我拿“楚留香新传”为例,我先用金山游侠查找内力值的内存地址,找到的结果是:79F695C,再查找物品“金创药”的地址是:328D1DC,现在我用79F695C减去328D1DC,得到:4769780,这个数就是内力值与金创药的偏移值,没看懂?接着看呀,我还没说完呢,现在重新再运行游戏,查找内力值的地址,得到:798695C再查找金创药得到的地址是:321D1DC,两个值的内存地址都改变了,但是用你内力值的地址减去金创药的地址得到的结果是什么?没错,还是4769780,也就是说,无论这两个值的内存地址变成多少,它们之间的距离是永远不变的,不光是这个游戏,一般的游戏都是,至少我没见过不是的:D

上面讲的东西总结出一个结论,那就是我们只要得到这两个地址中的任何一个,就可以得到另外一个,只要你知道它们之间的偏移量是多少。

我们之一步要做的就是得到这个地址,但是内存中的地址是动态改变的,得到也没有用,这里我就教你把它变成静态的,叫它永远都不变!我继续拿“楚留香新传”为例,如果你有这个游的话就跟我一起做,没有的也没关系,只要看懂这几个步骤就行了。开工!

首先进入游戏,查找内值的地址,得到的是:798695C(不知道为什么这上游并不是每次重起都改变内存地址),按Ctrl+D打开SoftICE,下命令:BPM 798695C W(写这个地址时则中断),回到游戏中,打开人物属性面板,游戏中断了,在SofitICE中你会看到这条指令:

0047EB17 MOV EAX [EDX+000003F4] 下命令:D EDX+3F4将看到内力值

0047EB1D PUSH EAX

………………………………

………………………………

从上面可看出0047EB17处的指令是将内力值的指针送到EAX寄存器中,这是一个典型的寻址方式,设想一下,我们是到了EDX中的基址,那么无论什么时候只要用EDX+3F4就可以轻松的得到内力值的地址,因为000003F4是一个常量,它是不会改变的,改变的只是EDX中的地址,所以只要有办法得到EDX中的值就什么都好办了,你明白了没有?如果还是不懂,那么请再看一遍。现在要做的就是如何得到这个值,下面我教给你如何做:

我的办法就是设计一段代码,把EDX中的值存放到一个地址中,然后运行这段代码,再返回游戏的原有指令继续执行,什么?补丁技术? *** C?随你怎么说啦,只要运行正常就一切OK啦:D

实际操作:

首先在程序中找一段空白处来存放我们设计的代码,很简单,只要懂得一些PE文件结构的朋友都会知道,一般在EXE文件的数据段(.data段)的结尾都会有一段缓冲区,我们可以在这段区域中写任何东西,当然你也可以用“90大法”找一段空白区,但我还是推荐你用我教给你的 *** 。上同我提到,如果你没有PE文件查看工具我可以教你用SoftICE查看,而且很简单,只要一个命令:MAP32 “模块名”,看一下我是怎么做的你就知道了。

Ctrl+D呼收出SoftICE,然后下命令:MAP32 CrhChs,这时你应该看到EXE各个段的信息,我们要注意的只是.data段,既然要找的是数据段的结尾,那么我们就从下一个段开始向上找,如下:

.data 004FB000

.rsrc 00507000

.data的下一个段是.rsrc段,它是从00507000开始的,也就是说以00507000为基础向上一个字节就是数据段的结尾,我所择从00506950处开始写代码,说了这么半天那么我们的代码到底是什么样子呢?修改后的指令又是什么样的呢?别急,请看下面:

修改0047EB17后代码:

0047EB17 JMP 00506950 //跳到我们的代码中去执行

0047EB1C NOP //由于这条指令原来的长度是6字节,而修改后的长度是5个字节,所以用一个空指令补上

0047EB1D PUSH EAX

//我们的代码:

00506950 MOV DWORD PTR EAX,[EDX+00003F4] //恢复我们破坏的指令

00506956 MOV DWORD PTR [00506961],EDX //把EDX保存以00506961中去

0050695C JMP 0047EB1D //返回原来的指令去执行

把上面的代码用SoftICE的A命令写入,OK!

现在我们试一下运行的效果,你现在用金山游侠搜索一下内力址的地址,什么又变了?那就地啦,它要是不变我们还用费这么大劲儿吗?记下这个地址返回到游戏中去,Ctrl+D呼出SoftICE,下命令 D *[00506961]+000003F4,在数据窗口看到什么了?呵呵,没错,看到了你刚才记住的那个地址,里面的数值正是内力的值,试着改一下,回到游戏中,呵呵,内力值变了吧:D

讲到这里,我们的工作已经完成了%90,但别高兴的太早,后面的%10要远比前的%90花的时间长,因为我们要用编程实现这一切,因为你不能每次都像刚才那样做一次吧!

现在我来说一下编程的步骤:

首先用FindWindow函数得到窗口句柄,然后用GetWindowThreadID函数从窗口句柄得到这个进程的ID,接着用OpenProcess得到进程的读写权限,最后用WriteProcessMemory和ReadProcessMemory读写内存,然后。。。。呵呵,你的修改器就做成啦:D

下面是我抄写以前写的修改器源程序片断,之一部分是动态写入刚才的代码,第二部分是读取并修改内力值,由于我没有时间整理和测试,所以不能保证没有错误,如果大家发现有遗漏的话,可以在 *** 上给我留言或写信给我,代码如下:

有几点请大家注意:

1、 写机器码时要一个字节一个字节的写

2、 注意要先写入自己的代码,然后再修改游中的指令(下面的代码没有这样做,因为不影响,但是你应该注意这个问题)

#define MY_CODE5 0x00

#define MY_CODE6 0x90

//00506950

#define MY2_CODE1 0x8B

#define MY2_CODE2 0x82 //这部分是要写入的机器码的常量定义

#define MY2_CODE3 0xF4

#define MY2_CODE4 0x03

#define MY2_CODE5 0x00

#define MY2_CODE6 0x00

#define MY3_CODE1 0x89

#define MY3_CODE2 0x15

#define MY3_CODE3 0x61

#define MY3_CODE4 0x69

#define MY3_CODE5 0x50

#define MY3_CODE6 0x00

#define MY4_CODE1 0xE9

#define MY4_CODE2 0xBC

#define MY4_CODE3 0x81

#define MY4_CODE4 0xF7

#define MY4_CODE5 0xFF

//-----------------------------------------------------------------------------//

DWORD A1 =MY_CODE1;

DWORD A2 =MY_CODE2;

DWORD A3 =MY_CODE3;

DWORD A4 =MY_CODE4;

DWORD A5 =MY_CODE5;

DWORD A6 =MY_CODE6;

DWORD B1 =MY2_CODE1;

DWORD B2 =MY2_CODE2;

DWORD B3 =MY2_CODE3; //这部分是变量的定义

DWORD B4 =MY2_CODE4;

DWORD B5 =MY2_CODE5;

DWORD B6 =MY2_CODE6;

DWORD C1 =MY3_CODE1;

DWORD C2 =MY3_CODE2;

DWORD C3 =MY3_CODE3;

DWORD C4 =MY3_CODE4;

DWORD C5 =MY3_CODE5;

DWORD C6 =MY3_CODE6;

DWORD D1 =MY4_CODE1;

DWORD D2 =MY4_CODE2;

DWORD D3 =MY4_CODE3;

DWORD D4 =MY4_CODE4;

DWORD D5 =MY4_CODE5;

//--------------------------------------------------------------------------//

HWND hWnd =::FindWindow("CRHClass",NULL); //得到窗口句柄

if(hWnd ==FALSE)

MessageBox("游戏没有运行!");

else

{

GetWindowThreadProcessId(hWnd,hProcId); // 从窗口句柄得到进程ID

HANDLE nOK =OpenProcess(PROCESS_ALL_ACCESS|PROCESS_TERMINATE|PROCESS_VM_OPERATION|PROCESS_VM_READ|

PROCESS_VM_WRITE,FALSE,hProcId); //打开进程并得到读与权限

if(nOK ==NULL)

MessageBox("打开进程时出错");

else

{

//0047EB17

WriteProcessMemory(nOK,(LPVOID)0x0047EB17,A1,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0047EB18,A2,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0047EB19,A3,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0047EB1A,A4,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0047EB1B,A5,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0047EB1C,A6,1,NULL);

//00506950

WriteProcessMemory(nOK,(LPVOID)0x00506950,B1,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506951,B2,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506952,B3,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506953,B4,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506954,B5,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506955,B6,1,NULL);

//第二句

WriteProcessMemory(nOK,(LPVOID)0x00506956,C1,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506957,C2,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506958,C3,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506959,C4,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0050695A,C5,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0050695B,C6,1,NULL);

//最后一句

WriteProcessMemory(nOK,(LPVOID)0x0050695C,D1,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0050695D,D2,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0050695E,D3,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x0050695F,D4,1,NULL);

WriteProcessMemory(nOK,(LPVOID)0x00506960,D5,1,NULL);

CloseHandle(nOK); //关闭进程句柄

}

}

}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//读取并修改内力值

DWORD hProcId;

HWND hWnd =::FindWindow("CRHClass",NULL);

if(hWnd ==FALSE)

MessageBox("No");

else

{

GetWindowThreadProcessId(hWnd,hProcId);

HANDLE nOK =OpenProcess(PROCESS_ALL_ACCESS|PROCESS_TERMINATE|PROCESS_VM_OPERATION|PROCESS_VM_READ|

PROCESS_VM_WRITE,FALSE,hProcId);

if(nOK ==NULL)

MessageBox("ProcNo!");

else

{

DWORD buf1;

DWORD write;

BOOL OK=ReadProcessMemory(nOK,(LPCVOID)0x00506961,(LPVOID)buf1,4,NULL); //读取我们保存EDX中的基础

if(OK ==TRUE)

{

write =buf1+0x000003F4; //得到内力值的地址

DWORD Writeed =0x00; //要修改的数值

BOOL B =WriteProcessMemory(nOK,(LPVOID)write,Writeed,1,NULL);

if(B==FALSE)

MessageBox("WriteNo");

}

}

CloseHandle(nOK);

}

啊,写的我手都麻啦,今天就到这里了,才疏学浅难免会有遗漏,请大家指教,如果我不会或不喜欢用VC的话,你可以在 *** 上与我交流,我可以教你如何用Delphi、C++Builder、Win32A *** 或VC实同上面的功能。

(如转载本篇文章请不要改动内容及作者!)

作者:CrackYY

Email:CoolYY@msn.com

OICQ:20651482

2001年,从云风那儿得知了IDA这种好东东,看到他在解恺撒的游戏资源,觉得好玩,也开始自己解一些东东,当时一口气解了一些游戏的资源,当然,都不是很复杂的,主要是台湾和日本的

后来在主页上放过一段时间,记得感兴趣的朋友还挺多的,一直没时间说,现在大概聊一下做法吧:)

工具当然是IDA+SoftIce,要自己写解压程序的话,还要有习惯的编辑器,我当然是用VC

其实,资源破解,并不是很复杂, *** 大致有3种

1,硬性破解

通过观察目标文件和反汇编代码,分析出资源压缩或者加密的格式,写程序读取改文件,并转换成一种自己可以识别的格式就OK了

这是自己动手解资源时最容易想到的做法

具体来说,也就是通过一些特定函数,譬如 fopen、createFile这样的文件相关函数,确定游戏的解资源函数,然后就拼命的分析汇编代码就OK了

我前期大部分资源都是这样破解的,更好先用UEDIT分析一下实际的文件,有些格式太简单了,通过文件大小,用看的就可以了

这种 *** ,我解过的最复杂的就是神奇传说系列,当时就感觉和GIF比较像,但又不太一样,因为对压缩算法没研究,所以就没深究了,不过后来从网上看到文章说,那是一个很通用的压缩算法,一些解压工具就可以可以解开的,◎#¥%……真是不爽(不过还好,我只花了几个小时就解开那个游戏而已

2,Dump

等图片载入后,直接从内存中导出

这种做法也很容易想到的,主要难点在于内存中资源的格式问题,可能对3D游戏来说,这种解法比较容易一些,毕竟纹理渲染这些,是显卡完成的,不是软件实现的

我了解到的有些人解魔兽的资源就是这样解开的,hook OpenGL的一些函数

我这样解过一些游戏的文本(汉化用的文字),赛车游戏的,为了获取所有游戏文本,特地将那款游戏通关的说

3,直接调用游戏的解码函数解码

和第2种做法类似,但是主动调用函数,基本上可以一次将所有资源全部解开,不需要游戏通关

当然,不是让你调用游戏的解包模块,毕竟很多游戏都不是dll形式的

只能侵入到游戏进程内部,找一个合适的时机(一般是载入其他文件的时候,中断跳转一下,先把我们的事做完),调用内部函数,解开所有的资源

我解过一款游戏就是用这种 *** ,说起来,那款游戏的资源压缩率和rar差不多

0. 需求文档

LZW压缩算法是一种新颖的压缩 *** ,由Lemple-Ziv-Welch 三人共同创造,用他们的名字命名。它采用了一种先进的串表压缩,将每个之一次出现的串放在一个串表中,用一个数字来表示串,压缩文件只存贮数字,则不存贮串,从而使文件的压缩效率得到较大的提高。奇妙的是,不管是在压缩还是在解压缩的过程中都能正确的建立这个串表,压缩或解压缩完成后,这个串表又被丢弃。

1. 基本原理

首先建立一个字符串表,把每一个之一次出现的字符串放入串表中,并用一个数字来表示,这个数字与此字符串在串表中的位置有关,并将这个数字存入压缩文件中,如果这个字符串再次出现时,即可用表示它的数字来代替,并将这个数字存入文件中。压缩完成后将串表丢弃。如"print" 字符串,如果在压缩时用266表示,只要再次出现,均用266表示,并将"print"字符串存入串表中,在解码时遇到数字266,即可从串表中查出266所代表的字符串"print",在解压缩时,串表可以根据压缩数据重新生成。

2. 实现 ***

A. 初始化串表

在压缩信息时,首先要建立一个字符串表,用以记录每个之一次出现的字符串。一个字符串表最少由两个字符数组构成,一个称为当前数组,一个称为前缀数组,因为在文件中每个基本字符串的长度通常为2(但它表示的实际字符串长度可达几百甚至上千),一个基本字符串由当前字符和它前面的字符(也称前缀)构成。前缀数组中存入字符串中的首字符,当前数组存放字符串中的尾字符,其存入位置相同,因此只要确定一个下标,就可确定它所存贮的基本字符串,所以在数据压缩时,用下标代替基本字符串。一般串表大小为4096个字节(即2 的12次方),这意味着一个串表中最多能存贮4096个基本字符串,在初始化时根据文件中字符数目多少,将串表中起始位置的字节均赋以数字,通常当前数组中的内容为该元素的序号(即下标),如之一个元素为0,第二个元素为1,第15个元素为14 ,直到下标为字符数目加2的元素为止。如果字符数为256,则要初始化到第258个字节,该字节中的数值为257。其中数字256表示清除码,数字257 为文件结束码。后面的字节存放文件中每一个之一次出现的串。同样也要音乐会 前缀数组初始化,其中各元素的值为任意数,但一般均将其各位置1,即将开始位置的各元素初始化为0XFF,初始化的元素数目与当前数组相同,其后的元素则要存入每一个之一次出现的字符串了。如果加大串表的长度可进一步提高压缩效率,但会降低解码速度。

B. 压缩 ***

了解压缩 *** 时,先要了解几个名词,一是字符流,二是代码流,三是当前码,四是当前前缀。字符流是源文件文件中未经压缩的文件数据;代码流是压缩后写入文件的压缩文件数据;当前码是从字符流中刚刚读入的字符;当前前缀是刚读入字符前面的字符。

文件在压缩时,不论文件字符位数是多少,均要将颜色值按字节的单位放入代码流中,每个字节均表示一种颜色。虽然在源文件文件中用一个字节表示16色、4色、2色时会出现4位或更多位的浪费(因为用一个字节中的4位就可以表示16色),但用LZW 压缩法时可回收字节中的空闲位。在压缩时,先从字符流中读取之一个字符作为当前前缀,再取第二个字符作为当前码,当前前缀与当前码构成之一个基本字符串(如当前前缀为A,当前码为B则此字符串即为AB),查串表,此时肯定不会找到同样字符串,则将此字符串写入串表,当前前缀写入前缀数组,当前码写入当前数组,并将当前前缀送入代码流,当前码放入当前前缀,接着读取下一个字符,该字符即为当前码了,此时又形成了一个新的基本字符串 (若当前码为C,则此基本字符串为BC),查串表,若有此串,则丢弃当前前缀中的值,用该串在串表中的位置代码(即下标)作为当前前缀,再读取下一个字符作为当前码,形成新的基本字符串,直到整个文件压缩完成。由此可看出,在压缩时,前缀数组中的值就是代码流中的字符,大于字符数目的代码肯定表示一个字符串,而小于或等于字符数目的代码即为字符本身。

C. 清除码

事实上压缩一个文件时,常常要对串表进行多次初始化,往往文件中出现的之一次出现的基本字符串个数会超过4096个,在压缩过程中只要字符串的长度超过了4096,就要将当前前缀和当前码输入代码流,并向代码流中加入一个清除码,初始化串表,继续按上述 *** 进行压缩。

D. 结束码

当所有压缩完成后,就向代码流中输出一个文件结束码,其值为字符数加1,在256色文件中,结束码为257。

E. 字节空间回收

在文件输出的代码流中的数据,除了以数据包的形式存放之外,所有的代码均按单位存贮,样就有效的节省了存贮空间。这如同4位彩色(16色)的文件,按字节存放时,只能利用其中的4位,另外的4位就浪费了,可按位存贮时,每个字节就可以存放两个颜色代码了。事实上在 文件中,使用了一种可变数的存贮 *** ,由压缩过程可看出,串表前缀数组中各元素的值颁是有规律的,以256色的文件中,第258-511元素中值的范围是0-510 ,正好可用9位的二进制数表示,第512-1023元素中值的范围是0-1022,正好可用10位的二进制数表示,第1024-2047 元素中值的范围是0-2046,正好用11位的二进制数表示,第2048-4095元素中值的范围是0-4094,正好用12位的二进制数表示。用可变位数存贮代码时,基础位数为文件字符位数加1,随着代码数的增加,位数也在加大,直到位数超过为12(此时字符串表中的字符串个数正好为2 的12次方,即4096个)。 其基本 *** 是:每向代码流加入一个字符,就要判别此字符所在串在串表中的位置(即下标)是否超过2的当前位数次方,一旦超过,位数加1。如在4位文件中,对于刚开始的代码按5位存贮,之一个字节的低5位放之一个代码,高三位为第二个代码的低3位,第二个字节的低2位放第二个代码的高两位,依次类推。对于8位(256色)的文件,其基础位数就为9,一个代码最小要放在两个字节。

F. 压缩范围

以下为文件编码实例,如果留心您会发现这是一种奇妙的编码 *** ,同时为什么在压缩完成后不再需要串表,而且还在解码时根据代码流信息能重新创建串表。

字 符 串: 1,2,1,1,1,1,2,3,4,1,2,3,4,5,9,…

当 前 码: 2,1,1,1,1,2,3,4,1,2,3,4,5,9,…

当前前缀: 1,2,1,1,260,1,258,3,4,1,258,262,4,5,…

当前数组: 2,1,1, 1, 3,4,1, 4,5,9,…

数组下标: 258,259,260,261,262,263,264,265,266,267,…

代 码 流: 1,2,1,260,258,3,4,262,4,5,…

3. 测试文档

说明:

当选择时请选择1-3的数据,如果选了其他的数据就出错了。

4. 使用文档

在进入程序后,通过选择是压缩、解压缩还是退出程序。

压缩文件:

1)提示:“Input file name?” 输入:D:\cc\test.txt

2)提示:“Compressed file name?” 输入:test.lzw

3)显示:“Compressing………” 及 “*”表示文件压缩的进度。

说明:如果输入的文件不存在,将会重复提示,直到输入正确文件位置和文件名。生成的test.lzw将会存放在程序所在的根目录下。

如:程序放在D:\cc\下,则生成文件也在D:\cc\.

解压缩:

1)提示:“Input file name?” 输入:test.lzw

2)提示:“Compressed file name?” 输入:test.txt

3)显示:“Expand………” 及 “*”表示文件解压缩的进度。

说明:如果输入的文件不存在,将会重复提示,直到输入正确文件位置和文件名。生成的test.lzw将会存放在程序所在的根目录下。

ANI(APPlicedon Startins Hour Glass)文件是 MS-Windows的动画光标文件,其文件扩展名为“.ani”。它一般由四部分构成:文字说明区、信息区、时间控制区和数据区,即 ACONLIST块。anih块、rate块和 LIST块。

以下就是作为例子的文件内容(数据E)及ANI文件标准结构图(图):

1. 从(0000-006D)是 Wnd0WS 95& NT ANI文件的文字说明区部分

如你想对你开发的ANI文件提供一点文字说明,并加入你的版权信息,且同时它们又要被ANI文件播放软件承认时,这是你唯一的选择。要是你觉得这样做很麻烦,或者没什么好写时,那你完全可以去掉本块中的全部内容,并将块的大小置为0。切记,“块识别码

‘ ACONLIST’”和标识“块的大小”这两部分,共计 12字节,绝对不能被更改、移动及删除,否则后果自负。

可能为了让文字说明信息系统化,在ACONLIST块内部包容了若干子块,本例中用到的两个分别是:INFOINAM块(提供本文件的解释说明)和IART块(用于插入版本信息)。说实在,诸位可以运用在 AVI文件中插入自定义块的 *** ,加入自己的自定义块,其结果只是ANI播放软件把它当作一个“JUNK”罢了。

0000-0003:多媒体文件识别码:RIFF

0004-0007;文件大小( 2052h字节)-8字节

0008- 000F: ACONLIST块识别码,它是文字说明区开始的标志

0010-0013:ACONLIST块的大小(5Ah字节)

0014-001B:INFOINAM块识别码,标志文件说明信息子块的开始

001C- 001F: INFOINAM块的大小( 20h字节)

0020-003F :文件说明信息子块的内容“Application startingHour Glass”

0040-0043:IART块识别码,标志版权说明信息于决的开始

0044-0047:IART块的大小(26h字节)

0048- 006D:版权说明信息于块的内容“Microsoft Corporation,Copyright 1995”

2.从(006E-0099)?

相关文章

如何查老公开房记录

. 现在生活条件越来越好,很多孩子容易出现性早熟的问题,性早熟是指提前步入青春期。那么性早熟的原因是什么呢。下面小编就来和大家说一说。 什么是性早熟 青春期提前到来,就是女生在未满8岁时性腺就有...

找黑客做事会犯法吗-黑客是如何入侵网站数据库的

找黑客做事会犯法吗-黑客是如何入侵网站数据库的

找黑客做事会犯法吗相关问题 黑客是怎么获取用户信息的相关问题 黑客如何入侵服务器查看数据 输入qq号强制进空间(qq空间公众号平台)...

关于黑客要门罗币的信息

关于黑客要门罗币的信息

挖矿会被电信公司发现? 1、只要你使用电信卡,除非你不使用电信,否则他们基本上无法挖掘你的矿井。如果你切换到移动,啊,联通,它可以阻止他们把它放进去,但他们也可以移动,呃,和你玩。2、有可能。监管部门...

超体结局解析,找一个黑客盗号,找黑客帮忙盗取一个扣扣号

阻拦署理(Proxy),你能够查看和更改浏览器与方针应用程序间的流量;Smart Applet Attack主动检测java版别并进行进犯,针对Java 1.6.0_45以下以及Java 1.7.0_...

微信5.1:先做腾讯内部的“开放平台”

微信5.1:先做腾讯内部的“开放平台”

微信5.1发布,大家谈论最多的,并不是新版本增加了什么,而是新版微信捆绑了腾讯旗下的应用宝市场作首发,这是个有趣的现象。 应用宝作为分发平台,理应给包括微信在内的应用引流,现今出现“逆流”的状况...

电脑黑屏什么原因(十五种电脑开机黑屏的原因与解决思路)

  电脑黑屏什么原因(十五种电脑开机黑屏的原因与解决思路)由于疫情影响不能出门,很多同学只能把家里闲置很久的电脑拿出来办公或者上课,但是一开机,发现电脑黑屏没法用了。   一般常说的黑屏故障分为两种,...