![]() |
|
#3
|
|||
|
|||
|
Yes you are right, the application uses JNI to access native functions...
Like Code:
private native String getLicenseNumber(final CPointer p0, final String p1) throws FlNativeException; //EDIT: Attached "DLL Export Viewer" and searched for the Java stubs, managed to find the x64 dll. I will now search in the setups files for a 32bit version, this would make the RE a little easier, doesn't it? //EDIT 2: Well, IDA doesn't seem to like the lib. Code:
.text:0000000180006370 ; __unwind { // __GSHandlerCheck_EH
.text:0000000180006370 000 sub rsp, 108h
.text:0000000180006377 108 mov [rsp+108h+var_90], 0FFFFFFFFFFFFFFFEh
.text:0000000180006380 108 mov rax, cs:qword_180172E78
.text:0000000180006387 108 xor rax, rsp
.text:000000018000638A 108 mov [rsp+108h+var_10], rax
.text:0000000180006392 108 mov [rsp+108h+var_D8], rcx
.text:0000000180006397
.text:0000000180006397 loc_180006397: ; DATA XREF: .rdata:0000000180112E1C↓o
.text:0000000180006397 ; try { ; struct JNIEnv_ *
.text:0000000180006397 108 mov rdx, r8
.text:000000018000639A 108 call ?getWsPtr@flbase@@YAPEAXPEAUJNIEnv_@@PEAV_jobject@@@Z ; flbase::getWsPtr(JNIEnv_ *,_jobject *)
.text:000000018000639F 108 mov rcx, rax ; this
.text:00000001800063A2 108 call ?blockInternal@License@@QEAAXXZ ; License::blockInternal(void)
.text:00000001800063A7 108 nop
.text:00000001800063A8
.text:00000001800063A8 loc_1800063A8: ; CODE XREF: sub_1800C4F8D+26↓j
.text:00000001800063A8 ; sub_1800C4FCD+122↓j ...
.text:00000001800063A8 108 mov rcx, [rsp+108h+var_10]
.text:00000001800063B0 108 xor rcx, rsp ; StackCookie
.text:00000001800063B3 108 call __security_check_cookie
.text:00000001800063B8 108 add rsp, 108h
.text:00000001800063BF 000 retn
.text:00000001800063BF ; ---------------------------------------------------------------------------
.text:00000001800063C0 000 db 0CCh
.text:00000001800063C0 ; } // starts at 180006397
.text:00000001800063C0 ; } // starts at 180006370
.text:00000001800063C0 Java_com_comsol_nativejni_util_FlLicense_blockInternal endp ; sp-analysis failed
When the retn instruction is executed, the Stack Pointer is 0 again, so no offset... But why does IDA state that the sp-analysis fails? Last edited by java3ever; 07-24-2018 at 18:59. |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Flexlm & Flexnet Arm version ? | Sir.V65j | General Discussion | 3 | 09-09-2021 02:13 |