OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳. PUSHAD (压栈) 代表程序的入口点, POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个,OEP就在附近. 常见寻找OEP脱壳的方法 方法一: 1.用OD载入,不分析代码! 2.单步向下跟踪F8,是向下跳的让它实现 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行到所选) 4.绿色线条表示跳转没实现,不…
在main函数之前跑代码的方法 方法: 手工找到程序入口点, 替换为我们自己的函数 写测试程序 // test.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <windows.h> #include <crtdbg.h> /// 程序入口点 00671140 >|?  55            push    ebp /…
一般的.WPF的Main()函数是自动生成的,不过有时候我们需要为我们的应用程序传参.那么自动生成的Main()函数就不会满足我们的要求. 那么如何为WPF Application 设置Main()函数呢. 1.新建一个WPF项目 2.添加一个Program.cs类,代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace WpfApplication1{…
PC逆向之代码还原技术,第二讲寻找程序入口点 一丶简介 程序逆向的时候.我们需要知道程序入口点.动态分析的时候以便于看是什么程序编写的. 比如VC++6.0 我们可以写一个程序测试一下 我们写一段代码. F10进行调试.看看是谁调用的main即可. 部分代码拷贝如下: __try { _ioinit(); /* initialize lowio */ #ifdef WPRFLAG /* get wide cmd line info */ _wcmdln = (wchar_t *)__crtGet…
delphi: 55            PUSH EBP  8BEC          MOV EBP,ESP  83C4 F0       ADD ESP,-10  B8 A86F4B00   MOV EAX,PE.004B6FA8 vc++   55            PUSH EBP   8BEC          MOV EBP,ESP   83EC 44       SUB ESP,44   56            PUSH ESI vc6.0  55           …
1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引.      int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 函数数名:indexOf 调用方式:Object(String).indexOf(String str,int startIndex)或String.indexOf(String str) 参数说明:str需要查找的字串. startI…
一.重定位链接时重定位:目标文件一般由多个节组成,编译器在编译每个目标文件时一般都是从0地址开始生成代码.当多个代码节合成一个代码段时,需要根据其在最终代码段中的位置做出调整.同时,链接器需要对已经解析的符号分配运行时地址.这个过程就是重定位. 加载时重定位:程序中可能调用了DLL,由于EXE是最先被加载的,所以一般都能加载到其想要的内存地址上:而DLL的加载一般在EXE之后,就需要对DLL中的地址进行重定位了. 二.程序的启动过程WIN32程序启动过程包括: (1)操作系统把程序加载到内存,并…
--------------------------------------------------------<概览> tor 的源码包可以从官网下载,可能需要预先利用其它FQ软件才能访问该站点.分析 tor 源码有助于我们理解当代最强大之一的 互联网匿名.隐身.审查规避软件的运作原理. 为了从整体上把握住程序的逻辑与功能,本系列会将源码重要部分通过函数调用流程图总结,以便站在设计思想的高度来考察 tor. <约定> 当引用函数/结构体/宏/定义/声明时,我会在圆括号内给出它所在…
首先看看 application的官方文档 我之前一直以为Android程序的入口点就是带MAIN和LAUNCHER的Activity的onCreate方法,看来我是错了~  原来真正的入口点是 Application的onCreate方法 = - = ~  要使用这个入口点呢,必须extends Application 然后 重写里面的onCreate方法,,要注意的是,必须在Manifest里面的application标签中加上一个android:name= 你的自定义application…
原文:Android程序的入口点 android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity. Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber);         startActivity(cal…