PHP

**1.PHP: Hypertext Preprocessor**==

**面向对象:**------有一定语言学习基础,最好是面向对象语言-对后端有一定的兴趣

**学习准备:**---------开发环境:[XAMPP](https://www.apachefriends.org/zh_cn/index.html)-编译器:[sublime text3](https://www.sublimetext.com/)

基础知识:------------PHP介绍:[PHP官网](http://php.net/)[PHP中文网](http://www.php.cn/)-计算机语言类型:[编译型和解释型的区别](http://blog.csdn.net/zhu_xun/article/details/16921413)

目标:------------了解PHP的特性,确立对PHP的兴趣-能编写一个简单的PHP脚本

学习资源:------------书籍:细说PHP-教程:[W3school](http://www.w3school.com.cn/php/index.asp)

开始:-----------```php中的hello world```什么是PHP?-中文名:超文本预处理器,是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。为什么PHP现在这么火?-开源 免费性 快捷性  上手极快-插件丰富,网上的解决方案有很多,而且还有庞大的开源社区可以提供帮助-跨平台性强  效率高-面向对象,性能很强 . 配合简单、稳定、容易部署,它能帮你低成本完成事情

安装:------------XAMPP:直接点下一步就行,路径不要有中文和符号。安装完成后,xampp文件夹下的htdocs即为localhost本地服务器。-注意:安装完成后,打开Apche和Mysql两个服务器,若提示Mysql打不开,很有可能是先前安装了Vmware虚拟机,占用了Mysql的端口,请自行百度然后解决。

开始你的学习:------------熟悉基本的语法-现场练手

**2.软件破解入门**==

**面向对象:**------了解汇编语言-对软件破解有一定的兴趣

**学习准备:**---------ollydbg:已上传到群文件,请提前下载

基础知识:-----------什么是壳?-在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。什么是加壳?->其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。>什么是脱壳?-完全破除压缩后软件无法编辑的限制,去掉头部的解压缩指令,然后解压出加壳前的完整软件。

目标:------------通过简单的介绍,了解软件破解的大致过程,了解破解的常用指令,并且在现场自己完成一个小程序的破解。

学习资源:------------论坛:[吾爱破解](https://www.52pojie.cn/)

开始:-----------首先,先来了解一下我们的工具OllyDBG:![这里写图片描述](http://img.blog.csdn.net/20171023215909538?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWxvdmV5b3VqaWUxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)-反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。-寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。-信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。-数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。-堆栈窗口:显示当前线程的堆栈。其次,我们还需要了解一点破解的常用命令>cmp a,b    // 比较a与bmov a,b    // 把b值送给a值,使a=bret // 返回主程序nop // 无作用,英文(no operation)简写,意思“do nothing”(机器码90)call // 调用子程序,子程序以ret结尾je或jz // 相等则跳(机器码是74或84)jne或jnz // 不相等则跳(机器码是75或85)jmp // 无条件跳(机器码是EB)jb // 若小于则跳ja // 若大于则跳jg // 若大于则跳jge // 若大于等于则跳jl // 若小于则跳pop xxx // xxx出栈push xxx // xxx压栈好了,这些已经够了,开始破解吧!

破解开始:-----------1.首先用OllyDbg打开我们的Acid burn.exe程序![这里写图片描述](http://img.blog.csdn.net/20171023220946130?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWxvdmV5b3VqaWUxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)-2.然后,我们随便输入一下数字,会出现![这里写图片描述](http://img.blog.csdn.net/20171023221120648?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWxvdmV5b3VqaWUxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)-3.此时不要点击确定按钮,返回OD暂停(F12)。然后点击到堆栈窗口![这里写图片描述](http://img.blog.csdn.net/20171023222403174?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWxvdmV5b3VqaWUxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)-这里有两个MessageBox的地址,第一个地址为753FD84A这个地址明显太大,不在模块的领空,不是的。第二个地址为0042A1AE,和下面的Acid_bur地址非常接近,十有八九就是它了。-右键显示调用, 在Call上面设置断点(F2)。1.此时回到主窗口分析![这里写图片描述](http://img.blog.csdn.net/20171023223424606?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWxvdmV5b3VqaWUxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)发现,没有跳转语句,逻辑很简单,在之上几行处就有retn,在头部push ebp下断点,然后按F9运行程序。此时点击确定,然后重新点击Check it baby 按钮,由于设置了断点,程序停止运行。在右下角堆栈处找到最近一条Return语句:```0012F974  0042FB37  返回到 Acid_bur.0042FB37 来自 Acid_bur.0042A170```-对着这条语句点击右键->反汇编跟随>0042FAD5  |.  68 C8FB4200  push 0042FBC8                            ;  UNICODE "-"0042FADA  |.  FF75 F8      push [local.2]0042FADD  |.  8D45 F4      lea eax,[local.3]0042FAE0  |.  BA 05000000  mov edx,0x50042FAE5  |.  E8 C23EFDFF  call 004039AC0042FAEA  |.  8D55 F0      lea edx,[local.4]0042FAED  |.  8B83 E0010000 mov eax,dword ptr ds:[ebx+0x1E0]0042FAF3  |.  E8 60AFFEFF  call 0041AA580042FAF8  |.  8B55 F0      mov edx,[local.4]0042FAFB  |.  8B45 F4      mov eax,[local.3]0042FAFE  |.  E8 F93EFDFF  call 004039FC0042FB03      75 1A        jnz short 0042FB1F                      ;  // 这个JNZ条件判断很关键?0042FB05  |.  6A 00        push 0x00042FB07  |.  B9 CCFB4200  mov ecx,0042FBCC0042FB0C  |.  BA D8FB4200  mov edx,0042FBD80042FB11  |.  A1 480A4300  mov eax,dword ptr ds:[0x430A48]0042FB16  |.  8B00          mov eax,dword ptr ds:[eax]0042FB18  |.  E8 53A6FFFF  call 0042A1700042FB1D  |.  EB 18        jmp short 0042FB37                      ;  // 这个跳转是不是很可疑?0042FB1F  |>  6A 00        push 0x00042FB21  |.  B9 74FB4200  mov ecx,0042FB74                        ;  ASCII 54,"ry Again!"0042FB26  |.  BA 80FB4200  mov edx,0042FB80                        ;  ASCII 53,"orry , The serial is incorect !"0042FB2B  |.  A1 480A4300  mov eax,dword ptr ds:[0x430A48]0042FB30  |.  8B00          mov eax,dword ptr ds:[eax]0042FB32  |.  E8 39A6FFFF  call 0042A170                            ;  这个CALL是导致跳转的语句0042FB37  |>  33C0          xor eax,eax                              ;  返回到了这里我们大概浏览下代码,最近部分有两个可疑跳转JNZ 和JMP, JNZ会通过它上面的call 004039FC 判断我们的伪码是否正确,判断的结果存在EAX中,如果EAX不等于就跳转到错误提示信息框那里。我们的目的是无论伪码是否正确都通过验证,所以最简单的办法就是将jnz这句使用NOP填充,我们尝试一下:选择JNZ这句,右键二进制->用NOP填充。回到原始程序,取消断点,再次点击Check it baby!##GOOD JOB! ##

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容