现在软件破解没有IDA只用OD的话一般能搞定吗
这个就要看你的逆向水平和软件的加密程度了。
IDA是做静态分析的,动态调试还是OD好使。理论上只要OD就能搞逆向,能调试就能搞出东西来。
但是甭管是谁,看那一堆反汇编都会有压力。IDA的作用就是让你看的更舒服,因为它的反汇编能力比OD强悍太多。很多时候IDA一个F5就能秒杀一片反汇编,所以IDA还是经常能用到的,尤其是代码比较复杂的情况下。
以上。
1、解包对方APK,插入一个:对应SMALI: androidosSystemClocksleep(20000);const-wide/16 v0, 0x2710 #20秒invoke-static {v0, v(X-1)}, Landroid/os/SystemClock;->sleep(J)V这里(X-1)对应local X。
2
另外,有的包在你要调试的那个SO里面有签名保护,反正你重新打了包之后会导致程序运行崩溃,这个相比JAVA修改困难些,建议你用那个签名漏洞来打包。事实上我调试那个SO也遇到过这样,然后打了个签名漏洞的包嵌入的延时函数就可以了。
1) am start -D -n 包名/类名;
2) IDA pro attach 进程, 设置新线程,加载so时断点,continue;
3) 打开ddms, 查看调试端口, jdb attach port;
4) 这个时候应该已经断在新线程,或者加载so处了,在你感兴趣的so处停下来;
5) 另外用ida 打开so,查看你感兴趣的函数偏移, 加上你感兴趣的so的基地址,打上断点,continue, 就大功告成了。
其实就是用户的问题,真机usb链接电脑后,adb shell进去后是$,su转为#,然后执行android_server,这样是不行的,必须adb shell进入后就是#,这样才表示是root在操作shell。
解决方案:建议在电脑上装个靠谱助手,然后再测试。经测试,可以解决如题问题。
微软有一个工具叫做dependency walker或者Visual Studio附带的一个工具dumpbin可以查看dll的导出函数名称,函数参数和调用方式(比如__cdecl或__stdcall)在工具里无法显示,需要使用IDA或者OllyDbg等反汇编器将DLL反汇编,通过定位导出函数结尾的retn指令判断参数个数和调用方式。由被调用者平栈通常为__stdcall,由调用者平栈则是__cdecl,平栈的字节数除以字长(例如retn 0C中的0C在x86下是除以4,在x64下除以8)即可得到参数个数(这也是通常,具体问题可能需要具体分析),至于参数意义,那就完全需要头文件支持,或者分析反汇编代码的意义了。
在IDA里,还可以使用F5快捷键将反汇编代码转换为C代码,能稍稍方便一点。
最后一个问题,至于思路的话,你可以查看DLL的导出函数,然后使用Detours类库将原来的函数HOOK一下,做个旁路,在HOOK函数中打印调用内容,这样你在日志文件或调试输出中就能看见调用规律了。纯属个人建议。
还有一个工具叫做API Monitor,能够检测API调用。
这个故障你的描述不够详细,也没提供故障代码,所以建议你利用我总结的通用的系统修复方法尝试解决,具体如下:
先关机,然后打开主机箱,把硬盘的电源线和数据线拔下来,然后过2分钟再插上,重新开机试试。然后用下述方法修复系统:
开机不断点击F8键,进入系统操作选单(如果是Win8,Win81,Win10系统,在看见开机画面后长按电源键关机,短时间内重复三次左右可以进入WinRE {Windows 恢复环境},但有的用户可能需要直接断开电源。这样开机后应该能出现高级恢复的界面了,在高级回复界面,选择进入安全模式。
第一,由软:尝试修复操作系统:
1、如果有外接设备:如U盘、USB移动硬盘,或者读卡器里面有存储卡,请去除后再试
2、去除加装非标配部件,如内存、硬盘等,建议您联系操作者将添加的部件去除后再试
3、进入电脑BIOS并查看BIOS中是否还能识别硬盘,同时选择“Load Optimal Defaults”或“Optimized Defaults”选项恢复BIOS默认设置后测试
4、开机不断点击F8键,进入系统操作选单(如果是Win8,Win81,Win10系统,在看见开机画面后长按电源键关机,短时间内重复三次左右可以进入WinRE {Windows 恢复环境},但有的用户可能需要直接断开电源。这样开机后应该能出现高级恢复的界面了),选“最后一次正确配置”,重启电脑,看能否解决。
5、开机不断点击F8键,进入系统操作选单(如果是Win8,Win81,Win10系统,在看见开机画面后长按电源键关机,短时间内重复三次左右可以进入WinRE {Windows 恢复环境},但有的用户可能需要直接断开电源。这样开机后应该能出现高级恢复的界面了),然后寻找“安全模式”,并进入“安全模式”,如能成功进入,依次单击“开始”→“所有程序”→“附件”→“系统工具”→“系统还原”,出现“系统还原对话框”,选择“恢复我的计算机到一个较早的时间”。 这样可以用Windows系统自带的系统还原功能,还原到以前能正常开机的时候一个还原点。(如果有的话)
6、用系统安装光盘或者系统安装U盘,放入光驱或者插入USB接口,重启电脑,进入光盘安装系统状态或者进入U盘安装系统状态,等到启动界面闪过后,不要选安装系统,而是选修复系统,对目前系统进行修复(可能会运行很长时间,2-4小时都可能),耐心等待修复完成,看看是否能解决问题。(本文结尾,详述了:U盘设置为第一启动顺位设备的方法)
7、不稳定的硬件设备,设备驱动程序过期,以及第三方程序干扰也会造成黑屏或者蓝屏,建议先进入安全模式,自行评是否原因为驱动程序过期或者三方程序干扰。此时,请您到电脑制造商网站上下载最近的BIOS, 声卡或显卡等所有可用驱动进行更新来解决问题。
如以上7个方法都无效,只能重装系统。
二、到硬:看看是否是硬件的问题:
1,主板钮扣电池没电了,这时保存时间等将在关机断电后,信息将无法保存。换一块新电池试一下。
2,主板BIOS出错,一些主板有防入侵机制。如果最近有跟换过配件,也可能是主板BIOS的错误引起。解决的办法是开机按DEL键(或者开机屏幕提示的键),进入主板BIOS,初始化BIOS设置信息,通常按F9可以恢复出厂默认设置,再按F10保存退出重启电脑。
3,CMOS(BIOS)设置错误,主要是关于软件的设置的选项出现了问题。可以在开机后入Bios 进行设置。
这时可以查看一下自己的机器有没有软驱、光盘或其它附设[如:显卡],如果没有这些硬件,而电脑却设置了这些,可以试着把这些选项关掉或设为Disabled
[注:CD/DVD/CD-RW DRIVE:可读写的光驱 CD-ROW DEVICE:只读光驱 Diskette Drive:软盘驱动器 Floppy Floppy Device:软驱设备]
4,CMOS(BIOS)原来设置的部分与现在的硬件有冲突的部分可以前将CMOS(BIOS)进行放电,在主板钮扣电池旁边有一个cmos 的三针跳线,而一般其中的两个针是联在一起的,这时可以在关机断电的情况下,将跳帽拔出,用跳帽将两个针联在一起进行放电[此过程一般4秒左右],而后再恢复到样子或是将钮扣电池拔下,反过来装进去等待5-6秒左右进行放电,而后恢复到原来的样子,在开机后可以进入CMOS(BIOS)恢复其默认设置即可。
5,是否是未装显卡驱动,或者显卡驱动损坏,解决办法、;更新显卡驱动程序,用电脑自带的驱动程序光盘或者去显卡官网下载最新驱动程序,更新显卡驱动,也可以去驱动之家网站,下载驱动精灵最新版,升级显卡驱动;
6,硬盘检测没有过去,可以试着给硬盘换下数据线,如果没有线也可以试着把数据线两头对换一下,再换个主板上的接口。
7,如果硬盘换过数据线后还是无效,也可以先试着拔掉硬盘的数据线不接,然后开机测试。看是否还会卡在LOGO屏这里,如果能跨过LOGO界面,估计就是硬盘故障了,进入BIOS寻找硬盘或者进入PE系统检测硬盘健康度,如果硬盘读不到或者检测硬盘证明已经损坏,就只有更换硬盘了。
8,硬件接触不良 主要表现在显卡或内存条与主板接触不良。这时可以把显卡或者内存条拔掉,把显卡或者内存条拔掉不影响开机时进入cmos界面这时如果进入这个界面时,没出CMOS(BIOS)setting wrong,就可以断定是显卡或者内存条的问题 可以先用好一点的橡皮对其与主板接触的部分进行擦拭,内存也是用橡皮擦拭
9,硬盘与光驱 不同内存条之间有冲突,此时可以进行逐一排查,可以先把光驱的电源线与数据排线拔掉,而后试着分别只用一条内存进行排查。
10,检查机器是否有外接设备连接,U盘、移动硬盘等等外接设备可能插在电脑USB口上忘记拔掉了,造成主板自检卡主通过不了。解决的办法就是拔出多余的外接设备,再重启电脑。
11,检查一下键盘和鼠标是否接反。这里指的是PS/2接口的键盘鼠标,很多人大意,把键盘和鼠标的接口插反了,造成开机电脑的自检错误以至于卡屏。解决的办法,先关机,重新接过键盘鼠标,通常紫色的接口为键盘,绿色接口为鼠标。
12,主板本身可能出了问题可以先检查一下是否主板电池电路断路,或者是否有电容爆掉,如果是的话,自己焊接和更换或者找电脑维修商帮你焊接和更换一个同规格电容的即可。如果是主板坏了,那只有去买个新的换上啦。
13,机箱不清洁CPU风扇积灰太多不能正常运行,造成CPU温度过高,用毛刷、电吹风将机箱内壁、CPU风扇、显卡风扇、主板上的积灰都清理一遍。
0条评论