主要是想写些什么,发现突然发现哪个博客都不安全,记得有一段时间CSDN
被河蟹了很长时间,现在JavaEye
也有这样子的危险,再加上刚刚才开放的Tom的博客
,真的是很危险,准备把所有的日志都弄下来到自己的机子里,然后用Word
、PDF
、文本文件
的格式都做上一份然后打包放在自己的空间还有邮箱。。。最近单位的网络时好时坏,到处都是ARP攻击。。。。多事之秋啊。
本人,男,属牛
,专业生物工程(食品发酵方向)
,比较喜欢电脑,高中的时候学习不是很好,在上大学的时候对于自己的专业前途深感不幸(主要是听也听不懂
),然后就开始自己看计算机方面了,开始自己从简单的C
语言还有一些基础的计算机专业的课本
看起,慢慢的给学校搞过一些ASP(VBScript)
,其实就是拿别人的代码照猫画虎的照抄,也看过一些3D Studio Max
和Maya
方面的书,后来还自己偷偷的猫瞧(māo qiǎo
·山西话,胡乱看的意思)过一些微软的DirectX
,最后什么都没搞成,什么都没有搞好,基础也很差,大三的时候被自己
忽悠去新东方
学了半年的Java
,现在混在北京。搞Java开发,不过貌似有几个月没有动过Java了,前一段时间是用Flex
作ArcGis
的展示开发。
貌似会写的很长,决定在前边加个序,主要就是想看看自己能不能把这个搞下来。不发到博客上自己总是显得没有毅力。
前些天拿到一套程序,是通过读取二进制文件来读取出数据,然后经过程序整理以后到客户端显示成为各种波形图像,第一点不幸的是这个是C\S
的
程序,第二点不幸的是我一开始拿到的只是Server端的数据和发送给客户端波形数据的程序,后来才拿到了二进制数据的格式,(PS:2009年11月4
日拿到了前台显示波形的代码,记录日期只是一个习惯,因为我经常一篇日志写上好几天),第三(还有第三。。苦恼)程序是C#
的,咱暂时还不会这个呢(前一段时间写VB.Net和Flex头都晕了,打开Eclipse都快不会写程序了)
不过对于程序员来说,最简单的莫过于学会一门开发语言了(最困难的则是掌握一门开发语言
),问同事借了本基础书《C#从入门到精通》
看了看,准备读写那个该死的二进制程序。
不知道为什么用Java来开发总是读取不到正确的数据,也许是我从byte数组到实际结果的转换有问题,不过说句实话,我是不知道有什么通用的类库可以解决这个问题,也许Apache
有吧,谁知道关于二进制操作,包括文件读写
,解析
,从二进制
到Decimal
、String
、Integer
、Float
等各种类型的解析,特别是涉及到汉字编码
的Jar包类库,希望能告诉我一下,谢谢了。(PS:这个搞到了一部分,用Apache的commons-codec,汉字是解决了,但是数字还是个麻烦。尤其是什么float之类的,老是不对
)
发现自己的思维总是很发散,总是想着想着就跑到另外一件事情上了,这点在回住的地方和合租房子的兄弟们侃大山的时候尤其明显,经常跑题,或者是带着他们跑题。
貌似又跑题了。。。恩。。啊。。。思维比较发散。。,呵呵。。
想到二进制文件就突然想到了可执行文件也是一个二进制的。然后就想到了一个叫做nhl_7 games editor
的游戏修改器,在游侠网论坛(Netshow)
的实况专区
上可以找得到,虽说是个多种游戏修改器,但我主要用他来整我的实况(PC上称为Pro Evolution Soccer,游戏机上的日版机版叫做Winning Eleven)
,不知道那个修改器是用什么写的,但是是基于.Net Framework3.5
的,不知道他是怎么得知每个球员在内存中的各种属性的位置
的。俺也想搞搞这个(很没品位是不是?
)
因为.Net平台
的开发简易性,还有和Windows
的兼容性,准备用这个了,至于暂时是VB.Net
还是C#
还没有考虑清楚。貌似这两种语言都不熟
。
这就是整个事件的起因,是不很晕
。。。。没救了。。。
找吧!翻出来老早老早以前的工具箱。。。内存分析利器(或者是最佳脱壳工具,外挂制作者的最爱、挂马嵌钩子的必备用品)OB(OllyDebugger)。。。发现。。。软件版本太旧了。。。 下个新的。。。
然后用这个打开扫雷,如图所示:
这个PUSH。。。CALL应该就是程序的主入口了。。。不知道这个是什么的就算了(计算机专业的看不懂的可以去南中国海喂鲨鱼。。。或者买块豆腐脑撞死。。。
)。。看来我汇编还是太差啊。。。打开一看,倒不是很长。。。可是尽是看不懂的。。。
主程序方法:
程序调用过rand这个随机数方法,然后在程序里边找包含rand的方法块,就是点那个笑脸(或者是切换难度)的方法。
这里是方法声明:
通过这个方法,直接在OD里边Debug,然后不停的切换难度,可以找到以下的内存区:
被选中的01005330就是地雷的数目(十六进制63转换成十进制是99)
然后那个位于01005334的1E就是宽度:30
下边的在01005338上的10就是高度:16
然后地雷在哪里呢?
通过分析程序中rand的使用
(他会随机一个雷的位址)
我们在这里找到了所有雷的定义
从01005362开始就是类,然后测试就很简单了,随便点一下。看看那个是雷。。
最后得出的结论是8F是雷。
我们再随便打一个试试,这个第一个是雷,然后接着四个不是雷,然后连续三个雷,。。如何。。对吧?
以后就简单多了,
程序员,当然用程序解决问题:
首先得到扫雷的宽度和高度还有总有多少颗雷
ReadProcessMemory(ph, &H1005334, width, 1, bytesRead)
ReadProcessMemory(ph, &H1005338, length, 1, bytesRead)
ReadProcessMemory(ph, &H1005330, numberMine, 1, bytesRead)
然后我们写个WinForm输出一下:
输出的时候用这个:
For j As Integer = 0 To length(0) - 1
For k As Integer = 0 To width(0) - 1
ReadProcessMemory(ph, &H1005340 + (32 * (j + 1)) + (k + 1), buf, 1, bytesRead)
If buf(0) = &H8F Then
Me.TextBox2.Text += " "
Else
Me.TextBox2.Text += "■"
End If
Next
Me.TextBox2.Text += vbCrLf
Next
不好意思用的VB.Net不过用C#也是一样子简单的。。。。活活活。。。。
然后运行:
这样子要是能点错。。。可以去买新眼睛或者撞墙去了。。。。。
或者你可以更流氓一些。。。把周围的1234也显示上去。。。
PS:座天是周一。。。变天了。。降温了。。下冰雹了。。。不过下的很少。。。结果今天的雪落得不小,公交好难挤啊
最后缅怀一下我们附近的一位住户。他星期天搬走了。。。以前我经常用他的无线路由蹭网。。。他的密码很简单。。。。。以后附近再也没有这么好的信号源了。。破解也得等很长时间了。。。哎。。
分享到:
相关推荐
java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java小游戏 扫雷java...
扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷扫雷
C++扫雷 C++扫雷 C++扫雷程序
扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1扫雷小游戏1...
扫雷程序的外挂和扫雷程序
扫雷源程序扫雷源程序扫雷源程序扫雷源程序扫雷源程序扫雷源程序
扫雷源代码扫雷源代码扫雷源代码扫雷源代码
扫雷游戏,在这里可以直接打开,输入就可以进行扫雷游戏
扫雷游戏.exe
VB扫雷程序VB扫雷程序VB扫雷程序VB扫雷程序VB扫雷程序VB扫雷程序
由于win10去掉了原先自带的扫雷程序,因而这里从网上找了一个扫雷程序过来,作为目标进行分析
matlab版扫雷,主程序为saolei.m ,操作方法与Windows自带扫雷类似。
c#编程,基本实现了扫雷的所有功能,适合初学者学习,有详细的注释,也希望提供宝贵意见~
C# 扫雷游戏 简易C# 扫雷游戏 简易C# 扫雷游戏 简易C# 扫雷游戏 简易
VB 扫雷游戏VB 扫雷VB 扫雷游戏源码游戏源码源码
运用Android 制作扫雷游戏,制作简单,没有复杂的代码,对于熟悉Android的页面布局,跳转有帮助理解=。这个扫雷还有点瑕疵,广大程序员们可以对其修改和完善。
扫雷攻略及截图扫雷攻略及截图扫雷攻略及截图扫雷攻略及截图扫雷攻略及截图扫雷攻略及截图扫雷攻略及截图扫雷攻略及截图
根据windows扫雷程序编写的java程序,包含源代码,并且有自动扫雷的功能。
扫雷源码 杰尼龟的扫雷源码